快速实现基于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 获取进程pid号的方法
Mar 10 Python
Python协程的用法和例子详解
Sep 09 Python
python利用百度AI实现文字识别功能
Nov 27 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Python实现最常见加密方式详解
Jul 13 Python
如何利用python给图片添加半透明水印
Sep 06 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
python关于变量名的基础知识点
Mar 03 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
Python如何操作office实现自动化及win32com.client的运用
Apr 01 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 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
ADODB类使用
2006/11/25 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
推荐一些非常不错的javascript学习资源站点
2007/08/29 Javascript
JQuery基础语法小结
2015/02/27 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
python del()函数用法
2013/03/24 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Linux下远程连接Jupyter+pyspark部署教程
2019/06/21 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python 修改本地网络配置的方法
2019/08/14 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
商务日语毕业生自荐信
2013/11/23 职场文书
简历自我评价模版
2014/01/31 职场文书
个人自我剖析材料
2014/02/07 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
幼儿园老师寄语
2014/04/03 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2014年社区个人工作总结
2014/12/02 职场文书