我们相距十万光年

晨露正葱茏,来日胜景定无穷

03/5
10:16
Daily Life

[Evensgn’s Lab] 使用Python程序实现微信个人账号的自动回复

声明:本文转载自Evensgn’s Station,转载已经获得Evensgn本人许可。

传送门:http://www.evensgn.com/blog/index.php/2017/02/13/wechat-auto-reply-using-itchat/

QQ有一个简单的自动回复功能,在账号状态为“离开/忙碌/请勿打扰”时若收到好友的消息,可以自动回复一句用户设置的内容,常见的比如“[自动回复] 您好,我现在有事不在,请稍后再联系。”

目前,微信的个人账号是没有自动回复功能的,刚好寒假里自己看了一点点Python的基础,又发现了一个微信的Python接口itchat,便想到写一个Python小程序来自己实现微信个人账号的自动回复。

自动回复效果展示

autoreply-demo-1

autoreply-demo-0

使用此程序前首先需要安装 itchat,可以使用以下命令安装:

简单介绍一下itchat,这是@LittleCoder开源的WeChat的Python接口,模拟了微信PC客户端的各种行为,提供了功能较为全面的API,可以用于对个人微信账号进行有趣的功能扩展。

点击此链接查看itchat的官方文档。感谢@LittleCoder

有了好用的接口itchat,写这个小程序便很简单了,一共写了一百多行代码(完整代码在文章最后,也可以在Github查看),实现了自己设想的几点功能:

  • 对于特定的好友分别设置不同的自动回复内容
  • 可将自动回复的内容列表保存到文件,也可从文件导入自动回复内容列表
  • 能够使用微信发送命令进行方便的控制

将此程序在服务器上运行,就可以实现24小时的自动回复了。

控制命令

我选择的控制方式是向账号的文件传输助手发送控制命令,这样可以在使用的过程中随时发送命令对自动回复进行方便的修改与控制,并将得到程序发送的反馈信息。

控制命令的列表如下:

使用命令控制的展示

其中以’/’开头的消息为发送的控制命令,其余消息为程序发送的反馈信息。

autoreply-control-demo-0

autoreply-control-demo-1

初始设置

在下面这段代码中进行初始设置:

编辑自动回复列表存储文件

在需要批量添加自动回复或回复内容较长时,使用控制命令逐条添加较为繁琐,可以直接将自动回复列表保存到一个文件中,再使用‘/autodict load [file]’命令从文件导入自动回复列表,我设定的在文件中存储自动回复列表的格式如下:

完整代码

 

    1. saruka 文章作者
      Google Chrome 55Google Chrome 55Mac OS X 10.12.1Mac OS X 10.12.1

      Well, this article is not written by me. I haven’t learn and grasp the basic rules of Python. The original author of this article is Evensgn, a DALAO now study in SJTU ACM Class. His blog’s address is at the beginning of this article. You can access it to browse the original work.

      回复