图灵机器人
首先我们需要去图灵机器人官网申请一个属于自己的机器人
http://www.tuling123.com
申请成功后会有一个apikey,这个就是我们所需要的
我们用api v2.0 接入的方式
具体实现如下:
# 获取网页内容的模块
import requests
import json
def get_tuling_response(info):
"""
根据用户提供的信息, 智能返回响应信息;
:param info:
:return:
"""
# 图灵机器人官方提供的API地址;
api_url = "http://openapi.tuling123.com/openapi/api/v2"
# 要提交给图灵官网的信息;
data = {
"reqType": 0, # 文字
"perception": {
"inputText": {
"text": info
},
},
"userInfo": {
"apiKey": "a8dbab3b5a3a4f5b878bc600cdf09f81",
"userId": "HaHa"
}
}
json_data = json.dumps(data)
# 将信息提交给指定网址, 获得权限, 返回需要的内容;
response = requests.post(api_url, json_data).text
# response是一个json格式的信息, 提取需要的内容
response_dict = json.loads(response)
# 图灵机器人响应的文字信息
tuling_say = response_dict.get("results")[0].get( "values").get('text')
return tuling_say
现在我们的机器人就实现了,接着开始接入微信.
import itchat
# 时刻监控好友发送的文本信息, 并给予一个回复;
# isFriendChat=True: 是否监控微信好友发送的文本信息。
# isGroupChat=False: 是否监控群聊发送的文本信息。
@itchat.msg_register(itchat.content.TEXT, isFriendChat=True)
def text_reply(msg):
"""
只对指定的用户自动回复
:param msg:
:return:
"""
fromUserName = msg.get('FromUserName')
# 1). 根据好友的备注名称进行搜索, 获取该好友的详细信息;返回的是列表, 列表里面嵌套字典;
result = itchat.search_friends(remarkName="刘承乾")
# 2). 要给固定好友发送消息, 就是要获取改好友的UserName
username = result[0].get('UserName')
if fromUserName == username:
send_text = msg.text # 获取用户给你发送的信息
tuling_text = get_tuling_response(send_text)
print("接收的信息:", send_text)
print("回复的信息:", tuling_text)
return '[图灵机器人]: ' + tuling_text
itchat.auto_login(hotReload=True)
itchat.run()
这样就可以实现我们的图灵机器人自动回复指定好友信息了