您的位置:首页 > 移动开发 > 微信开发

利用微信API将你的微信变为聊天机器人

2016-11-26 12:38 176 查看
想想将个人微信变为一个机器人也是很好玩的,这个项目就教你如何把自己的微信变为一个聊天机器人,嗯~对的,和小冰差不多的感觉吧(哈哈哈~)。

最终效果图:



效果图

原理:

通过微信的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
注册为处理文本消息的函数。

然后运行程序,就可看到我们开始登陆微信:



login

扫码完成以后最基础的文本信息的接收就完成了,你可以尝试用他人的微信给自己发一条信息。

2、实现微信消息的发送

信可以发送各类消息,文本、图片、文件等,不过我们现在只需要使用文本的发送。

itchat.send('Message Content', 'toUserName')

该发送消息的函数需要两个参数,消息的内容与接受者的UserName,即标识符。

那么我们试着向文件传输助手发送一条消息:

#coding=utf8
import itchat
itchat.auto_login(hotReload=True)
# 注意实验楼环境的中文输入切换
itchat.send(u'测试消息发送', 'filehelper')

打开手机看一下是否就完成了消息的发送。

保存代码后,执行命令,扫描登录后的效果如下:



send-hello

当然,还有一种更加快捷的回复方法就是在注册函数中直接回复,关于该方法可以点击这里进行查看。

3、实现最简单的与图灵机器人的交互

要做一个能够与人交流的机器人有很多种方法,最简单的莫过于使用他人提供的接口。

关于配置图灵机器人的介绍,点击这里就可以进行查看了。

4、代码实现

前面介绍了怎样获取消息、发送消息以及与机器人的交互,这些都是实现该项目所需要用到的知识点,下面将其组装起来即可了。

至于怎么组装,就如前面所介绍的原理一样,我们首先将与图灵服务器的交互定义为一个函数。我们需要这个函数接收我们要发送给图灵的消息,返回图灵返回给我们的消息。再将与图灵交互并返回图灵返回结果的操作写成函数并在itchat中注册。最后启动itchat,我们的程序就完成了。

关于具体的代码实现,点击【利用微信API将你的微信变为聊天机器人】即可查看详细的开发文档了。

文/实验楼(简书作者)

原文链接:http://www.jianshu.com/p/2000763d7c0e

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: