Python如何实现微信自动回复
教你用Python如何实现微信自动回复功能,机器人自动对话!
托管机器人:用Python写一个机器人,自动回复别人说话
实现过程:
1.首先要申请一个可以说话的机器人.机器人网站http://www.tuling123.com
注册一个账号,然后登陆,创建一个机器人:
2.写一段连接机器人的程序.,首先获取机器人的api地址, http://www.tuling123.com/openapi/api,这个地址就是用来登陆机器人时找到秘钥使用的,所以下一步就是找秘钥,
这里需要些一段登陆机器人的代码:# coding = utf8 import requests import itchat # 去图灵机器人官网注册后会生成一个apikey,可在个人中心查看 KEY = ‘c220a31ae10d40f19a6cdce74997b3e6’ def get_response(msg):
apiUrl = ‘http://www.tuling123.com/openapi/api’ data = { ‘key’ : KEY, ‘info’ : msg, # 这是要发送出去的信息 ‘userid’ : ‘wechat-rebot’, #这里随意写点什么都行 } try: # 发送一个post请求 r = requests.post(apiUrl, data =data).json() # 获取文本信息,若没有‘Text’ 值,将返回Nonoe return r.get(‘text’) except: return# 通过定义装饰器加强函数 tuling_reply(msg) 功能,获取注册文本信息
3.获取别人微信发过来的信息,需要一个特殊的加强函数来完成.
# 通过定义装饰器加强函数 tuling_reply(msg) 功能,获取注册文本信息@itchat.msg_register(itchat.content.TEXT)
4.设置一个回复信息的机制,如果机器人出问题了,也就是不能回复信息了,设置一个默认的回复机制.
def tuling_reply(msg): # 设置一个默认回复,在出现问题仍能正常回复信息 defaultReply = ‘I received: ‘ +msg[‘Text’] reply = get_response(msg[‘Text’]) # a or b 表示,如有a有内容,那么返回a,否则返回b return reply or defaultReply
5.以上所有的都准备好了,接下来就是要设置微信登陆了,通过生成二维码,微信扫描的方式登陆,开启程序.
# 使用热启动,不需要多次扫码itchat.auto_login(hotReload=True)itchat.run()
*终代码如下:
# coding = utf8
import requests
import itchat
# 去图灵机器人官网注册后会生成一个apikey,可在个人中心查看
KEY = ‘c220a31ae10d40f19a6cdce74997b3e6’
def get_response(msg)
: # API的地址
apiUrl = ‘http://www.tuling123.com/openapi/api’
data = {
‘key’ : KEY,
‘info’ : msg, # 这是要发送出去的信息
‘userid’ : ‘wechat-rebot’, #这里随意写点什么都行
}
# 获取文本信息,若没有‘Text’ 值,将返回Nonoe
try:
# 发送一个post请求
r = requests.post(apiUrl, data =data).json()
return r.get(‘text’)
except:
return
# 通过定义装饰器加强函数 tuling_reply(msg) 功能,获取注册文本信息
@itchat.msg_register(itchat.content.TEXT)
def tuling_reply(msg):
# 设置一个默认回复,在出现问题仍能正常回复信息
defaultReply = ‘I received: ‘ +msg[‘Text’]
reply = get_response(msg[‘Text’])
# a or b 表示,如有a有内容,那么返回a,否则返回b
return reply or defaultReply
# 使用热启动,不需要多次扫码
itchat.auto_login(hotReload=True)
itchat.run()