如何实现简单的微信机器人
最近发现了一个有趣的项目,利用Python制作一个简单的微信机器人。思路就是微信获取到信息,然后接入图灵机器人的API,再把信息发送给对方。听起来很有意思,实践一下吧!查看原文
介绍
itchat
既然要在Python中接入微信,一定少不了和微信有关的库:itchat。
itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。有了这个库我们就可以完成一系列的操作了。详细介绍点这里
使用pip install itchat
安装。
图灵机器人
图灵机器人是中文语境下智能度最高的机器人大脑,已为超过23万家企业和开发者提供服务,广泛应用于机器人、智能家居、智能车载、智能客服、可穿戴设备等众多场景。图灵机器人官方网站
项目
微信
有了itchat,如果你想要给文件传输助手发一条信息,只需要这样:
import itchat
itchat.auto_login()
itchat.send('Hello, filehelper', toUserName='filehelper')
注意toUserName
是微信ID,不是昵称或备注。
再放一段简单的代码感受一下。
import itchat
@itchat.msg_register(itchat.content.TEXT)
def textReply(msg):
if msg['Type'] == itchat.content.TEXT:
return 'I received: %s' %msg['Text']
itchat.auto_login()
itchat.run()
运行后会弹出一个二维码,扫描以后会使用网页版微信登录。如果这时有人和你聊天就会自动回复:“I received:(信息)”。这只是一个简单的示范,可以看一下itchat的介绍,其他方法的代码也很简单。
图灵API
登录图灵机器人官方网站http://www.tuling123.com/,点击右上角“注册”按钮进行注册并激活帐号,如下图所示:
每一个激活用户都可以通过图灵机器人开放平台获取多个APIKEY(当前每个用户可最多获取5个APIKEY),用户可以根据自己的需要获取不同的图灵APIKEY来应用于多种场景,获取成功后就等于拿到了开启图灵服务的钥匙。
接口地址:http://www.tuling123.com/openapi/api
请求方式为POST,请求参数格式为json。图灵机器人API介绍
登录以后设置好自己的机器人,然后使用下边的代码:
#coding=utf-8
import itchat
from itchat.content import *
import json
import requests
@itchat.msg_register([TEXT])
def textReply(msg):
info = msg['Text'].encode("utf-8")
print(info)
url = "http://www.tuling123.com/openapi/api"
data = {
"key":"d6cb72***********9b49ed45cb3",
"info":info,
"loc":"",
"userid":""
}
apicon=requests.post(url,data).text
s=json.loads(apicon,encoding="utf-8")
print("图灵回复",s)
itchat.send(s['text'],msg['FromUserName'])
itchat.auto_login(True)
itchat.run()
这段代码可以理解为获取到微信信息然后转到图灵机器人API,解析数据以后再回复消息。这样就可以代替你和别人聊天了,而且这个机器人还有很多丰富的功能。
目前已知的问题:在我问他关于车次,或者只要涉及到URL的时候,就收不到消息,即使在消息回复中加入了s['url']
也不能正确获取信息。