快速实现基于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在命令行下使用google翻译(带语音)
Jan 16 Python
Python selenium 三种等待方式解读
Sep 15 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
Mar 05 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
python使用thrift教程的方法示例
Mar 21 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
python读写csv文件方法详细总结
Jul 05 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
django 模型中的计算字段实例
May 19 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 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类(查找/修改)xml文档
2013/03/26 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
实例讲解php数据访问
2016/05/09 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
详解jenkins自动化部署vue
2019/05/14 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python正则表达式经典入门教程
2017/05/22 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python利用线程实现多任务
2020/09/18 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
配件采购员岗位职责
2013/12/03 职场文书
2014全国两会大学生学习心得体会
2014/03/10 职场文书