快速实现基于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中使用smtplib和email模块发送邮件实例
Apr 22 Python
python实现颜色空间转换程序(Tkinter)
Dec 31 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
解决python 上传图片限制格式问题
Oct 30 Python
详解python中各种文件打开模式
Jan 19 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python3 如何开启自带http服务
May 18 Python
一文搞懂python异常处理、模块与包
Jun 26 Python
Python OpenCV实现图像模板匹配详解
Apr 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
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
PHP实现文件上传与下载
2020/08/28 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
jQuery实现评论模块
2020/08/19 jQuery
jQuery实现简单全选框
2020/09/13 jQuery
Python发送Email方法实例
2014/08/21 Python
python实现中文输出的两种方法
2015/05/09 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
如何对python的字典进行排序
2020/06/19 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
社区党总支书记先进事迹材料
2014/01/24 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python