快速实现基于Python的微信聊天机器人示例代码


Posted in Python onMarch 03, 2017

最近听说一个很好玩的图灵机器人api,正好可以用它做一个微信聊天机器人,下面是实现

# test.py

import requests
import itchat #这是一个用于微信回复的库

KEY = '8edce3ce905a4c1dbb965e6b35c3834d' #这个key可以直接拿来用

# 向api发送请求
def get_response(msg):
  apiUrl = 'http://www.tuling123.com/openapi/api'
  data = {
    'key'  : KEY,
    'info'  : msg,
    'userid' : 'pth-robot',
  }
  try:
    r = requests.post(apiUrl, data=data).json()
    return r.get('text')
  except:
    return

# 注册方法
\@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
  # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复
  defaultReply = 'I received: ' + msg['Text']
  # 如果图灵Key出现问题,那么reply将会是None
  reply = get_response(msg['Text'])
  # a or b的意思是,如果a有内容,那么返回a,否则返回b
  return reply or defaultReply

# 为了让修改程序不用多次扫码,使用热启动
itchat.auto_login(hotReload=True)
itchat.run()

如果要让这个机器人永远运行,就需要上传到服务器,用screen指令新开一个窗口,运行python3 test.py,这时候就会在同一个目录下生成一个QR.jpg文件,但是因为一般我们是用ssh连接服务器,没有图像,所以需要用scp指令,下载到本地之后,用手机扫码,这样工作就完成了

效果如下:

快速实现基于Python的微信聊天机器人示例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用mongoengine操作MongoDB教程
Apr 24 Python
Python抓取淘宝下拉框关键词的方法
Jul 08 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
Oct 11 Python
python使用matplotlib绘制雷达图
Oct 18 Python
python实现人机猜拳小游戏
Feb 03 Python
基于python实现获取网页图片过程解析
May 11 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
python归并排序算法过程实例讲解
Nov 04 Python
python中数组和列表的简单实例
Mar 25 Python
Python实现在线音乐播放器
Mar 03 #Python
python开发简易版在线音乐播放器
Mar 03 #Python
详解python中requirements.txt的一切
Mar 03 #Python
python中异常捕获方法详解
Mar 03 #Python
python利用不到一百行代码实现一个小siri
Mar 02 #Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 #Python
Python正则表达式教程之二:捕获篇
Mar 02 #Python
You might like
php中实现记住密码自动登录的代码
2011/03/02 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
百度地图api如何使用
2015/08/03 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
基于node实现websocket协议
2016/04/25 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
node.js中fs.stat与fs.fstat的区别详解
2017/06/01 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
layui实现三级联动效果
2019/07/26 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
python 模拟登陆github的示例
2020/12/04 Python
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
函授毕业自我鉴定
2013/12/19 职场文书
校园活动策划书范文
2014/01/10 职场文书
中学生获奖感言
2014/02/04 职场文书
法制宣传标语
2014/06/23 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
财政局个人总结
2015/03/04 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书