概述
上次写的博客是用itchat接口去爬取好友信息,现在发现了更加好玩的东西。这次完成的是个人微信的聊天机器人,原理是将收到的消息传送到机器人接口,然后获取机器人返回的消息,将机器人返回的消息发送给发送消息的人。因为机器人是免费版本的,所以可以实现的功能也不是很多,每天回复的消息的数量也是有限的,还有就是可能不能识别发送过来的部分消息,或者是消息收到后有延时需要重新发送一遍。
开发环境 :win10 + sublime、python环境以及所需要的安装包(这里安装包以前的博客有写过)
首先需要测试的是将接受的信息获取,并原封不动的发送给发送方 :
import itchat
@itchat.msg_register(itchat.content.TEXT)
#将print_content注册为处理消息的函数
def print_content(msg):
#表示将消息原封不动发送回去
return msg['Text']
#微信登陆
itchat.auto_login()
itchat.run()
如果实现机器人的自动回复需要调用api,这里使用的图灵机器人,首先需要在官网上注册一个账号 :
网址 :http://www.tuling123.com/
登陆后创建一个机器人,等一系列流程走完后,回到主页,会多一个机器人,如下图 :
然后复制机器人的apikey。然后看一下机器人回复消息是如何实现的 :
import requests
apiUrl = 'http://www.tuling123.com/openapi/api'
#构造发送的数据
data = {
#你刚才复制的apikey
'key'
: 'eeb065b15b894e329658e3b290f6509a',
#发送的消息
'info'
: 'hello',
#自己随便取名字
'userid' : 'wechat',
}
#发送post请求,得到机器人回复
res = requests.post(apiUrl, data=data).json()
#可以打印出机器人回复的内容
#print(res)
然后再把两部分代码整合,在机器人回复中,将info的参数改为收到的消息,这样就可以根据收到的消息来实现自动回复。
最后附上代码 :
import itchat
import requests
KEY = "eeb065b15b894e329658e3b290f6509a"
def get_response(msg):
apiUrl = "http://www.tuling123.com/openapi/api"
data = {
'key': KEY,
'info': msg,
'userid': 'wechat',
}
try:
res = requests.post(apiUrl, data=data).json()
return res.get('text')
except:
return
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
defaultReply = 'I received ' + msg['Text']
Reply = get_response(msg['Text'])
return Reply or defaultReply
# hotReload(热加载),短时间内不需要再次扫码登陆
#为了能方便的关掉,所以没有使用热加载,需要热加载的可以参考注释代码
#itchat.auto_login(hotReload=True)
itchat.auto_login()
itchat.run()
上述代码就实现了个人微信的半智能回复,为什么说是半智能呢,因为有的话是他不能识别的,而且这个机器人体验版的功能也不是很多,所以暂时称为半智能吧。。。
最后
以上就是传统心锁为你收集整理的itchat实现微信消息自动回复的全部内容,希望文章能够帮你解决itchat实现微信消息自动回复所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复