快速实现基于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数据结构树和二叉树简介
Apr 29 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 Python
Numpy之文件存取的示例代码
Aug 03 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
python实现可变变量名方法详解
Jul 01 Python
Python性能分析工具Profile使用实例
Nov 19 Python
在Tensorflow中查看权重的实现
Jan 24 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
python中@contextmanager实例用法
Feb 07 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
我常用的几个类
2006/10/09 PHP
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
如何隐藏你的.php文件
2007/01/04 PHP
php 禁止页面缓存输出
2009/01/07 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
ThinkPHP 404页面的设置方法
2015/01/14 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
JS变量及其作用域
2017/03/29 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
javaScript动态添加Li元素的实例
2018/02/24 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python通过socket查询whois的方法
2015/07/18 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
技校毕业生的自我评价
2013/12/27 职场文书
安全生产月标语
2014/10/07 职场文书
给老婆的道歉信
2015/01/20 职场文书
收银员岗位职责
2015/02/03 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
Python如何配置环境变量详解
2021/05/18 Python
四十九个javascript小知识实用技巧
2021/11/20 Javascript