快速实现基于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 相关文章推荐
解读Django框架中的低层次缓存API
Jul 24 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
Python操作mongodb的9个步骤
Jun 04 Python
django缓存配置的几种方法详解
Jul 16 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
解决Python pandas plot输出图形中显示中文乱码问题
Dec 12 Python
Python简易版停车管理系统
Aug 12 Python
python支付宝支付示例详解
Aug 22 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 Python
wxPython实现列表增删改查功能
Nov 19 Python
python标准库os库的函数介绍
Feb 12 Python
基于python爬取有道翻译过程图解
Mar 31 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/08/14 PHP
浅谈PHP的反射机制
2016/12/15 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
js获取域名的方法
2015/01/27 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python 内置模块详解
2019/01/01 Python
Python操作qml对象过程详解
2019/09/26 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
家长学校工作方案
2014/05/07 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
2014年施工员工作总结
2014/11/18 职场文书
安全检查汇报材料
2014/12/26 职场文书
朋友聚会开场白
2015/06/01 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
Java 多态分析
2022/04/26 Java/Android
移除Selenium中window.navigator.webdriver值
2022/06/10 Python