ItChat与图灵机器人的结合
- 前景:
我在知乎关注一位大佬 名字叫 LittleCoder
我是在他开发ItChat包时关注的
ItChat已经完成了微信的个人账号的API接口
已经实现了实时获取用户的即时信息并自动化进行回应
后来又看到了国内的人工智能机器人团队TURING ROBOT研发的智能机器人
并提供了给开发者的详尽的API调用文档
既是说
个人账号可以通过ItChat获取即时消息 并实时通过图灵机器人的API得到反馈发送出去
再简单点就是说 使用这两者 构建了一个微信端的智能机器人
- 环境搭建
0.首先需要一个个人的微信号、有网的电脑、手机
1.下载安装Python
这里推荐一个发行版的Python 并且全平台支持
下载地址:https://www.anaconda.com/download
截至目前 该发行版已经支持了Python3.7 同时也提供2.7版本
在终端中输入 python 查看当前python是否安装成功 有图下反馈 即是成功安装(版本号无所谓)
2.下载安装pip
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能
在终端中输入如下命令来判断是否有安装pip
若有安装 则会反馈版本号
pip --version
若没有安装 则运行如下命令
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 $ sudo python get-pip.py # 运行安装脚本
3.下载安装ItChat
pip install itchat
若pip与Python安装没有错误 itchat应该很顺利的就下载安装完毕了
4.获取图灵机器人
在图灵机器人官网 http://www.tuling123.com 注册账号
随便填写就好了
在如下界面 得到每一个机器人的专属Key 类似于机器人的身份证
如图:
在人物设置中 根据个人情况设置机器人的属性
- 配置机器人
在图灵机器人的接入API文档中得到相关信息
https://www.kancloud.cn/turing/www-tuling123-com/718227
通过分析 得到他的使用方法:
首先向API发送你的三个信息:你的机器人KEY、向机器人发送的信息、用户标识。
将这三个信息打包成一个Post请求发送
就可以得到机器人的回复
测试代码:
text1.py
from importlib import reload import sys reload(sys)import requests import itchatapiUrl = 'http://www.tuling123.com/openapi/api' data = {'key' : 'key请手动替换', 'info' : 'hello', # 这是我们发出去的消息'userid' : 'wechat-robot', # 这里你想改什么都可以 } # 我们通过如下命令发送一个post请求 r = requests.post(apiUrl, data=data).json()# 让我们打印一下返回的值,看一下我们拿到了什么 print(r)
在idle中运行:
我们向机器人机器人发送了 hello
机器人向我们回复了 你好
证明我们成功实现了与机器人的交流
下一步 只需要从微信读取与发送数据就行了
优化部分内容
text2.py
1 # coding=utf8 2 import requests 3 import itchat 4 5 KEY = '填写你的key' 6 7 8 # 请求图灵机器人并得到返回消息 9 def get_response(msg): 10 apiUrl = 'http://www.tuling123.com/openapi/api' 11 12 data = { 13 'key': KEY, 14 'info': msg, 15 'userid': 'Joeric07' 16 } 17 18 try: 19 r = requests.post(apiUrl, data=data).json() 20 return r.get('text') 21 except: 22 return
提供了一个外部接口 用户输入的信息保存为msg 一次请求将key、msg、id一同发送 得到文本回复
- 配置微信接口
微信有一个文件助手 用来给自己收发文件 也可以输入文字
尝试1:我们尝试使用python来登陆自己的微信 并通过itchat来给自己的文件助手发送一条信息
text1_send_to_filehelper.py
import itchatitchat.auto_login()itchat.send('Hello, filehelper', toUserName='filehelper')
第二行代码执行时 会生成一个二维码 使用手机登录微信扫描二维码 即可登录
文件助手的id是 filehelper
运行后 可以在手机查看到 自己已经给文件助手发送了一条消息"Hello,filehelper"
尝试2:在微信中回复收到的消息
text2_relpy_msg.py
import itchat@itchat.msg_register(itchat.content.TEXT) def text_reply(msg):return msg.textitchat.auto_login() itchat.run()
以上代码将登录者的微信收到的私聊消息原封不动的返回发送回去
使用修饰器将text_reply(msg)作为参数给itchat.msg_register(itchat.content.TEXT)
即相当于itchat.msg_register(itchat.content.TEXT(text_reply(msg)))
尝试3:在微信群聊中回复被@的信息
text3_reply_@msg.py
import itchat@itchat.msg_register(itchat.content.TEXT, isGroupChat=True) def text_reply(msg): if msg['isAt']: reply = msg['Text'] itchat.send(u'@%s\u2005 %s' % (msg['ActualNickName'], reply), msg['FromUserName'])itchat.auto_login() itchat.run()
以上代码将在微信群聊中 当检测到登录者被@ 且@后有信息时 返回信息
返回信息为 @发送者 信息
信息为发送者@登录者后的信息
- 结合
1 # coding=utf8 2 import requests 3 import itchat 4 5 KEY = '在此填入key' 6 7 8 # 请求图灵机器人并得到返回消息 9 def get_response(msg): 10 apiUrl = 'http://www.tuling123.com/openapi/api' 11 12 data = { 13 'key': KEY, 14 'info': msg, 15 'userid': 'Joeric07' 16 } 17 18 try: 19 r = requests.post(apiUrl, data=data).json() 20 return r.get('text') 21 except: 22 return 23 # 微信私聊回复 24 @itchat.msg_register(itchat.content.TEXT) 25 def tuling_reply(msg): 26 default_reply = 'I received: ' + msg['Text'] 27 #调用图灵机器人 28 reply = get_response(msg['Text']) 29 return reply or default_reply 30 31 # 微信群聊回复 32 @itchat.msg_register(itchat.content.TEXT, isGroupChat=True) 33 def text_reply(msg): 34 if msg['isAt']: 35 # 调用机器人 36 reply = get_response(msg['Text']) 37 itchat.send(u'@%s\u2005: %s' % (msg['ActualNickName'], reply), msg['FromUserName']) 38 39 itchat.auto_login(hotReload=True) 40 itchat.run()
ok好了能跑了 而且响应速度还挺快 基本上秒回了
不过现阶段的缺点是 不支持表情 emoj表情会被解读成无法识别的字典形式的英文
itchat可以自动根据文件类别做出回复 应该可以本地建立一个万金油式的表情包库
在遇到无法解读的情况时 随机发送一个即可
转载于:https://www.cnblogs.com/Joeric07/p/9781469.html
ItChat与图灵机器人的结合相关推荐
- itchat与图灵机器人简单使用
1.前言 本文章纯属娱乐,做的很简单,故不做较多描述 2.参考资料 感兴趣同学可以通过https://wxpy.readthedocs.io/zh/latest/这篇文章进行学习,不过只是基础部分 3 ...
- itchat微信调用图灵机器人API
#coding=utf8 import requests import itchatKEY5 = 'fe55deeb23447c3a42c6665633507e6'def get_response(m ...
- 图灵机器人调用数据恢复_python:用itchat打造属于自己的微信聊天机器人,24小时运行...
前几天逛GitHub看见python上的一个开源项目itchat,可以用来丰富个人微信号或者微信公众号,于是乎点进去看了看, 这是成功的示意图: 下面来具体介绍一下. 一.对itchat的调用 (源码 ...
- 使用Pyhton+ItChat+图灵机器人扩展微信功能
教程使用到: Python 3.6.5 ItChat 图灵机器人 已经实现的功能: 微信消息记录,撤回消息查看 发送指令召唤机器人 开关电脑.远程控制电脑拍照摄像并发送图像 将要实现的功能: 在妹子起 ...
- 机器人编程语言python-个人微信接入图灵机器人(基于Python)
开发环境:Ubuntu14.04 编程语言:Python2.7 1.在图灵机器人官网(http://www.tuling123.com)注册账号,创建机器人,如果只是学习的话,可以使用免费版,一个账号 ...
- Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用
首先你需要安装 itchat 库. 进入 cmd,先直接 pip install itchat 就好了. 我调的是图灵机器人的接口,可以了解一下: 图灵机器人的注册,图灵机器人api获取方式 微信机器 ...
- 图灵机器人调用数据恢复_机器人也能撩妹?python程序员自制微信机器人,替他俘获女神芳心...
机器人也有感情 还记得王传君饰演的<星语心愿之再爱>这部电影吗?王传君饰演的天才程序员"王鹏鹏"因工作原因不能陪伴照顾身在异地的女朋友"林亦男",呆 ...
- python实现图灵机器人帮你回复微信好友消息
python实现图灵机器人帮你回复微信好友消息 ''' Created on 2018年4月26日@author: cvv54 '''#引入itchat包获取微信消息 import itchat fr ...
- Python中的图灵机器人
首先在图灵机器人的官网注册一个帐号,然后创建一个机器人,接下来进行下面的操作,就可以与机器人进行对话了. 代码块: import requestsdef get_tuling_respose(_inf ...
最新文章
- JMeter进阶系列01--JMeter二次开发
- 2021年计算机专业工作规划,2021年小学电脑室工作计划
- 金融领域下的数据挖掘算法应用:AdaBoost模型摩天
- H3 BPM MVC表单SheetOffice控件使用分享
- 阿里内推算法岗位编程笔试题
- 【炼丹技巧】指数移动平均(EMA)【在一定程度上提高最终模型在测试数据上的表现(例如accuracy、FID、泛化能力...)】
- python生成倒计时图片_python pygame--倒计时
- php画弧,75、PHP图像处理之画圆、弧线、网站饼状统计图绘制
- 【中国农业银行风险管理部总经理 田继敏】筑牢IT风险第二道防线 保障银行信息科技安全
- 【CAD】天河云cad,剖面线/细线已经改变图层,颜色却不变的问题
- mug网络用语_日常聊天常见网络用语(Daily chat common Internet slang).doc
- 生产环境服务端报错:阿里云IOT连接中断
- 华为5500v3多路径linux6,使用Linux自带多路径multipath
- MacBook网络连接正常无法访问网页
- SQL入门之第十七讲——子查询
- 用java画一个小猪佩奇_python 画个小猪佩奇
- nginx转发http请求
- 【电子】Baseband Signal and Passband Signal
- QT--HTTP图片下载器
- 目标检测:YOLO V1、YOLO V2、YOLO V3 算法
热门文章
- java-println连接
- 解决cmd命令查看python版本“python不是内部命令或外部命令,也不是可执行程序解决方案”的问题
- VScode配置prettier和eslint
- Springboot解决IDEA读取properties配置文件的中文乱码问题
- 浅析网站过度优化的成因应如何规避?
- java mqtt 断开连接,可以将MQTT Paho客户端断开连接吗?
- aba会导致问题_为什么说第三方仓储企业再专业也会导致很多库存问题呢?
- xml 里设置变量_[技巧] ApiPost操作设置
- vmware 12.5.3 linux,vmware12如何安装linux|opensuse42.3系统安装教程
- 手机linux登陆密码忘了怎么办,忘记linux登陆密码重置的方法