快速实现基于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根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
Python如何基于smtplib发不同格式的邮件
Dec 30 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
python3实现常见的排序算法(示例代码)
Jul 04 Python
python的变量和简单数字类型详解
Sep 15 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
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
ie 调试javascript的工具
2009/04/29 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
python实现随机密码字典生成器示例
2014/04/09 Python
处理Python中的URLError异常的方法
2015/04/30 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
利用Python实现图书超期提醒
2016/08/02 Python
利用Python破解斗地主残局详解
2017/06/30 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
住宅质量保证书
2014/04/29 职场文书
国际金融专业自荐信
2014/07/05 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
精神病医院见习报告
2014/11/03 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python