快速实现基于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求众数问题实例
Sep 26 Python
python简单实现计算过期时间的方法
Jun 09 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
Python 2.7中文显示与处理方法
Jul 16 Python
opencv python 傅里叶变换的使用
Jul 21 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
python中的逆序遍历实例
Dec 25 Python
python用分数表示矩阵的方法实例
Jan 11 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
跟我学Laravel之路由
2014/10/15 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
vue3.0 上手体验
2020/09/21 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
夜不归宿检讨书
2014/02/25 职场文书
债务纠纷起诉书
2015/05/20 职场文书
新教师教学工作总结
2015/08/14 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android