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

一、课程介绍
1.1 课程来源
课程在常见的三种操作系统中都可以进行操作,itchat建议使用可以安装的最新版本。
本课程通过聊天机器人为例,介绍如何使用Python完成微信的点对点信息交互。
1.2 内容简介
• 课程实现微信个人号聊天机器人
• 通过自定义消息处理方法加入聊天功能
1.3 课程知识点
本课程项目完成过程中将学习:
• 微信消息的基本获取与处理
• 微信消息的指定发送
其中将重点介绍微信消息的获取与处理。
二、实验环境
在终端中输入以下命令,完成微信的API包itchat的安装。
我们这里使用python3的环境(python2也是可行的):
sudo pip3 install itchat --upgrade
通过该命令判断是否安装成功:
python3 -c "import itchat"
如果没有报错信息说明你已经将实验环境安装完成。

三、实验原理
通过微信的Python接口itchat获取微信消息。
将微信消息传输到机器人接口(这里以图灵为例),获取机器人的返回消息。
将返回消息返回给微信消息的发送人。
实现将微信个人号变为聊天机器人的目的。
四、实验步骤
基础知识
为了照顾一些从未使用过Python的新用户与使用其他语言的用户,这里简单的讲一下以下的代码如何使用。
下面的每一段描述都给出了相应的测试代码,如果没有特殊说明这段代码可以这样使用:
打开桌面的Xfce终端,先将目录通过以下命令切到桌面。
cd Desktop
之后使用gedit编辑器编辑我们的主程序。
你也完全可以使用vim,会使用vim的话想必也知道这里应该输入什么命令了。
gedit test.py
最后将给出的代码复制进编辑器,保存并退出,使用如下命令就可以使用了。
python3 test.py
那么,就让我们开始正式进入Python操作微信的探索之旅吧。
4.1 实现微信消息的获取
itchat的注册是根据类型注册的。
在获取相应类型的信息时会调用该函数。
我们现在只需要获取最简单的文本消息,那么只需要这样注册:
import itchat

@itchat.msg_register(itchat.content.TEXT)
def print_content(msg):
print(msg['Text'])

itchat.auto_login()
itchat.run()
其中第三行即注册的操作,通过装饰符将print_content注册为处理文本消息的函数。
微信有各种类型的数据,例如图片、语音、名片、分享等,也对应不同的注册参数:
• 图片对应itchat.content.PICTURE
• 语音对应itchat.content.RECORDING
• 名片对应itchat.content.CARD
• 其余的这里就不一一列举,更具体的内容可以自行搜索itchat阅读
执行命令
python3 test.py
就可以看到我们开始登陆微信:

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

如果你不想要每次运行程序都扫码,可以在登陆命令中进行设置:
`python itchat.auto_login(hotReload=Tru