1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信的自动回复接入聊天机器人

微信的自动回复接入聊天机器人

时间:2022-05-24 08:21:31

相关推荐

微信的自动回复接入聊天机器人

今天偶尔发现了一个有趣的python库--itchat,可以实现微信的自动回复、防撤回,结合图灵机器人还能实现聊天机器人的作用

简单介绍一下配置与工具

win7旗舰版 pycharm python2.7(我在用python3版本运行时png.py会发生报错,不知道大家那怎么样)

这次用到的是python的itchat模块,关于itchat这里有很详细的介绍,同时也给出官方介绍:itchat

首先就是安装itchat模块,直接在cmd中运行

pip install itchat

安装完成后就能静静的装逼了

先给出防撤回以及自动回复的代码:

#coding:utf-8import reimport timeimport itchatfrom itchat.content import *import sys reload(sys)sys.setdefaultencoding('utf8') #由于我们返回的是中文,Unicode的编码问题,读取文件时使用的编码默认是ascii而不是utf8,所以这里我们要把默认编码设为utf8@itchat.msg_register([TEXT]) #这里我们先选择注册文本def reply(msg): #首先设置防撤回,接着ruturn后的内容就是自动回复的内容,这个自动回复仅对好友生效,群里不会生效friend = itchat.search_friends(userName=msg['FromUserName'])itchat.send(r"Friend:%s -- %s "r"Time:%s "r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), msg['Text']),toUserName='filehelper')return '快还钱'if __name__ == '__main__':#启动微信自动登录,二维码登录 itchat.auto_login(True)itchat.run()

防撤回功能是原理是将消息备份发送到文件助手toUserName='filehelper',由于是接入微信API,读取消息会比手机端快一些。

如果要针对特定的人进行自动回复,这就就应该将return语句换为itchat.send(msg,toUserName=你的好友)

接下来就是接入聊天机器人的环节了(贼好玩)

首先要先去图灵机器人注册一个账号去整个机器人

注册以后选择机器人管理-->创建机器人

创建完成后,机器人设置-->终端设置,把页面往下拉能看到apikey,这个数据后面需要用到

接下来编写我们的代码:

# coding:utf-8import requestsfrom wxpy import *import itchatimport requestsimport jsondef get_response(_info):print(_info) # 从好友发过来的消息api_url = '/openapi/api' # 图灵机器人网址data = {'key': '你的key','info': _info, # 这是我们从好友接收到的消息 然后转发给图灵机器人'userid': 'wechat-robot', # 这里你想改什么都可以 }r = requests.post(api_url, data=data).json() # 把data数据发print(r.get('text')) # 机器人回复给好友的消息return r@itchat.msg_register(itchat.content.TEXT)def text_reply(msg):return get_response(msg["Text"])["text"] # 将信息转发给好友

if __name__ == '__main__':itchat.auto_login(True)itchat.run()

大家玩的开心!

friend = itchat.search_friends(userName=msg['FromUserName'])itchat.send(r"Friend:%s -- %s "r"Time:%s "r" Message:%s" % (friend['NickName'], friend['RemarkName'], time.ctime(), reply_content),toUserName='filehelper')itchat.send(r"我已经收到你在【%s】发送的消息【%s】稍后回复。--微信助手(Python版)" % (time.ctime(), reply_content),toUserName=msg['FromUserName'])itchat.auto_login()itchat.run()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。