itchat是一个开源的用python实现的微信个人号接口。我们可以使用该库进行微信中的添加好友、拉好友群聊、微信机器人等功能。下面我利用itchat和图灵机器人交互,实现好友聊天、群聊天的基本功能。有关图灵机器人的内容,请猛击此处。
首先,安装itchat
pip install itchat
1、实现与好友个人聊天机器人
import hashlib
import itchat
import requests
# 从图灵机器人获取返回结果
def get_turing_response(msg, FromUserName):
api_url = 'http://www.tuling123.com/openapi/api'
api_key = 'XXX'
hash_code = hashlib.md5()
user_id = hash_code.update(FromUserName.encode('utf-8'))
data = {'key': api_key,
'info': msg,
'userid': user_id
}
try:
req = requests.post(api_url, data=data).json()
return req.get('text')
except:
return
# 自动登录
itchat.auto_login()
# 个人间聊天
@itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing'])
def robot_person(msg):
response = get_turing_response(msg['Content'], msg['FromUserName'])
itchat.send('[chatbot]' + response, msg['FromUserName'])
itchat.run()
2、实现群聊机器人
# 聊天室聊天 isGroupChat为True,机器人可以回复群内消息,为False不能回复群内消息
@itchat.msg_register('Text', isGroupChat=True)
def robot_chatroom(msg):
if msg['User']['PYQuanPin'] == 'naohonghong':
response = get_turing_response(msg['Content'], msg['FromUserName'])
itchat.send('[chatbot]' + response, msg['FromUserName'])
这里需要设置isGroupChat为true,同时判断群名,用的字段是PYQuanPin,然后进行相应回复。
btw:我这里的naohonghong是个同学群,程序跑了1个小时,
给同学们烦的把我踢出了群。所以敬告各位后果自负,
与本人无关^_^