快速实现基于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之入门(二)基本数据类型
May 25 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
python分布式环境下的限流器的示例
Oct 26 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
Python自动发送邮件的方法实例总结
Dec 08 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python requests.post方法中data与json参数区别详解
Apr 30 Python
在keras里实现自定义上采样层
Jun 28 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
php实现zip文件解压操作
2015/11/03 PHP
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
不要用强制方法杀掉python线程
2017/02/26 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python 从相对路径下import的方法
2018/12/04 Python
python区块及区块链的开发详解
2019/07/03 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
python 读取.nii格式图像实例
2020/07/01 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
C#公司笔试题
2014/03/28 面试题
毕业生幼师求职自荐信
2013/10/01 职场文书
文明寄语大全
2014/04/11 职场文书
我的祖国演讲稿
2014/05/04 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
计划生育工作汇报
2014/10/28 职场文书
大学生读书笔记范文
2015/07/01 职场文书
uni-app 微信小程序授权登录的实现步骤
2022/02/18 Javascript
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android