快速实现基于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编写分析Python程序性能的工具的教程
Apr 01 Python
python rsa 加密解密
Mar 20 Python
python字符串过滤性能比较5种方法
Jun 22 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python异常处理操作实例详解
Aug 28 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
python中如何写类
Jun 29 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
python中filter,map,reduce的作用
Jun 10 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中的一些数组排序方法分享
2012/07/20 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php抽象类用法实例分析
2015/07/07 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
Javascript学习指南
2014/12/01 Javascript
jQuery功能函数详解
2015/02/01 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
原生js实现自定义滚动条
2021/01/20 Javascript
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
自我介绍演讲稿范文
2014/08/21 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
Python基础之Socket通信原理
2021/04/22 Python
python 爬取华为应用市场评论
2021/05/29 Python
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python