第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

时间:2021-04-04 09:05:18

相关推荐

Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复。

首先要打开cmd输入以下代码,安装requests和itchat(如果两个都安装了的话直接跳过):

pip install requests

pip install itchat

安装完后打开任意Python编译器输入以下代码:

#-*- coding:utf-8 -*-import requestsimport itchatKEY = 'ccad405a8ff1xxxxxxxxa4380e3b1133' #可以到图灵机器人官网申请一个,免费的def get_response(msg):# 构造了要发送给服务器的数据apiUrl = '/openapi/api'data = {'key' : KEY,'info' : msg,'userid' : 'wechat-robot',}try:r = requests.post(apiUrl, data=data).json() # 字典的get方法在字典没有'text'值的时候会返回None而不会抛出异常return r.get('text') # 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常 except:# 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return return# 将会返回一个None#注册获取别人发来的信息方法@itchat.msg_register(['Text','Map', 'Card', 'Note', 'Sharing', 'Picture'])def tuling_reply(msg):print(msg.User['NickName'] +":"+ msg['Text']) #这里输出给你发微信的人的名字和他发送的内容 reply = get_response(msg['Text']) #调取图灵机器人获取回复print(reply+"\n") #打印机器人回复的消息return reply@itchat.msg_register([itchat.content.TEXT], isGroupChat=True) #群消息的处理def print_content(msg):if msg.User["NickName"]=='你希望自动回复群的名字'or msg.User["NickName"]=='另外一个你希望自动回复群的名字': #这里可以在后面加更多的or msg.User["NickName"]=='你希望自动回复群的名字'print(msg.User['NickName'] +":"+ msg['Text'])#打印哪个群给你发了什么消息print(get_response(msg['Text'])+"\n") #打印机器人回复的消息return get_response(msg['Text'])else: #其他群聊直接忽略passitchat.auto_login(hotReload=True)itchat.run()

运行后用微信扫码登录即可实现自动回复,这里微信用的是网页版的微信。

附 图灵机器人申请网址:/

进去后点击申请自己的专属机器人,申请成功后把上面的KEY换成你的apikey,记得下面那个密匙那个按钮不要打开,否则机器人无法正常使用。

注意:机器人能识别的只有文字,官方自带的表情包和红包,而且只能回复文字,其他东西貌似还不能识别和回复。

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