想想将个人微信变为一个机器人也是很好玩的,这个项目就教你如何把自己的微信变为一个聊天机器人,嗯~对的,和小冰差不多的感觉吧(哈哈哈~)。
最终效果图:
原理:
通过微信的Python接口itchat获取微信消息。将微信消息传输到机器人接口(这里以图灵为例),获取机器人的返回消息。将返回消息返回给微信消息的发送人。
通过以上就可以实现将微信个人号变为聊天机器人的目的。
开发步骤
1、实现微信消息的获取
itchat的注册是根据类型注册的,在获取相应类型的信息时会调用该函数。
微信有各种类型的数据,例如图片、语音、名片、分享等,也对应不同的注册参数:
- 图片对应
itchat.content.PICTURE
- 语音对应
itchat.content.RECORDING
- 名片对应
itchat.content.CARD
- 其余的这里就不一一列举,更具体的内容可以自行搜索itchat阅读文档
我们项目以获取最简单的文本消息为例进行讲解,那么只需要这样注册:
import itchat
@itchat.msg_register(itchat.content.TEXT)
def print_content(msg):
print(msg['Text'])
itchat.auto_login()
itchat.run()
其中第三行即注册的操作,通过装饰符将print_content
注册为处理文本消息的函数。
然后运行程序,就可看到我们开始登陆微信:
扫码完成以后最基础的文本信息的接收就完成了,你可以尝试用他人的微信给自己发一条信息。
2、实现微信消息的发送
信可以发送各类消息,文本、图片、文件等,不过我们现在只需要使用文本的发送。
itchat.send('Message Content', 'toUserName')
该发送消息的函数需要两个参数,消息的内容与接受者的UserName,即标识符。
那么我们试着向文件传输助手发送一条消息:
#coding=utf8
import itchat
itchat.auto_login(hotReload=True)
# 注意实验楼环境的中文输入切换
itchat.send(u'测试消息发送', 'filehelper')
打开手机看一下是否就完成了消息的发送。
保存代码后,执行命令,扫描登录后的效果如下:
当然,还有一种更加快捷的回复方法就是在注册函数中直接回复,关于该方法可以点击这里进行查看。
3、实现最简单的与图灵机器人的交互
要做一个能够与人交流的机器人有很多种方法,最简单的莫过于使用他人提供的接口。
关于配置图灵机器人的介绍,点击这里就可以进行查看了。
4、代码实现
前面介绍了怎样获取消息、发送消息以及与机器人的交互,这些都是实现该项目所需要用到的知识点,下面将其组装起来即可了。
至于怎么组装,就如前面所介绍的原理一样,我们首先将与图灵服务器的交互定义为一个函数。我们需要这个函数接收我们要发送给图灵的消息,返回图灵返回给我们的消息。再将与图灵交互并返回图灵返回结果的操作写成函数并在itchat中注册。最后启动itchat,我们的程序就完成了。
关于具体的代码实现,点击【利用微信API将你的微信变为聊天机器人】即可查看详细的开发文档了。
原文链接:http://www.jianshu.com/p/2000763d7c0e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。