概述
Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)
最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复。
首先要打开cmd输入以下代码,安装requests和itchat(如果两个都安装了的话直接跳过):
pip install requests
和
pip install itchat
安装完后打开任意Python编译器输入以下代码:
#-*- coding:utf-8 -*-
import requests
import itchat
KEY = 'ccad405a8ff1xxxxxxxxa4380e3b1133'
#可以到图灵机器人官网申请一个,免费的
def get_response(msg):
# 构造了要发送给服务器的数据
apiUrl = 'http://www.tuling123.com/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:
#其他群聊直接忽略
pass
itchat.auto_login(hotReload=True)
itchat.run()
运行后用微信扫码登录即可实现自动回复,这里微信用的是网页版的微信。
附 图灵机器人申请网址:http://www.turingapi.com/
进去后点击申请自己的专属机器人,申请成功后把上面的KEY换成你的apikey,记得下面那个密匙那个按钮不要打开,否则机器人无法正常使用。
注意:机器人能识别的只有文字,官方自带的表情包和红包,而且只能回复文字,其他东西貌似还不能识别和回复。
最后
以上就是大方翅膀为你收集整理的Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)的全部内容,希望文章能够帮你解决Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复