Python用图灵机器人实现微信自动回复
利用图灵机器人的话首先要到图灵机器人官网注册一个账号
登陆账号后点击头像进行设置,设置完成后点击左边菜单栏里的首页,在里面的“机器人看板”模块可以看到APIkey,这个是我们实现的一个重要部分。
如果不想自己注册的话,在百度也可以找到很多可用的APIkey,我这里用的是找到的一个APIkey :04f44290d4cf462aae8ac563ea7aac16 那么接下来就是我们的代码部分。
我们用Python来实现这次微信自动回复的功能。
我们会用到Python的三个库,requests,itchat,random
接下来我们直接贴上代码
# -*- coding=utf-8 -*-
import requests
import itchat
import random
KEY='04f44290d4cf462aae8ac563ea7aac16'
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()
#向服务器发送请求
return r.get('text')
'''
用try,except的方法来捕获异常
如果服务器没能正常交互,那么就会执行下面的return
'''
except:
return
@itchat.msg_register(itchat.content.TEXT)
#文本信息回复
def tuling_reply(msg):
defaultReplay='I received: ' + msg['Text']
robots=['I am Jarvis.May I have a message to Tony?','Hello,I am Jarvis.']
reply=get_response(msg['Text'])+random.choice(robots)
#random.choice会从robots中随机选取一个元素,这个可以根据自己喜好来修改
return reply or defaultReplay
#reply x or y,如果x有内容就返回x,否则返回y
@itchat.msg_register([itchat.content.PICTURE,itchat.content.RECORDING,itchat.content.VIDEO])
#回复图片/表情,语音,视频
def other_replay(msg):
defaultReplay='I received: ' + msg['Text']
robots=['I am Jarvis.May I have a message to Tony?','Hello,I am Jarvis.']
reply=get_response(msg['Text'])+random.choice(robots)
return reply or defaultReplay
itchat.auto_login(hotReload=True)
'''不想每次运行程序都扫码,可以设置参数hotReload=True
如果想在登陆的时候使用命令行显示二维码,可以设置参数enableCmdQR=True
'''
itchat.run()
运行程序然后扫码即可运行
网上还有很多方法,有些比较简便的代码就可以实现了,比如:
@itchat.msg_register(itchat.content.TEXT)
def text_replay(msg):
if(msg):
itchat.send_msg(("你的信息已经收到了。"),msg['FromUserName'])
#可以根据自己的喜好换成自己想回复的话