使用Python脚本实现微信个人账号的自动回复

的确存在的需求

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

微信公众号也提供了根据关键词进行自动回复的功能,以实现公众号与关注用户的简单交互。但是直到目前,微信的个人账号是没有自动回复功能的。刚好在寒假里自己看了一点点 Python 的基础,又发现了一个微信的 Python 接口 itchat,便想到写一个 Python 脚本来实现微信个人账号的自动回复,当时只是觉得实现这样的一个脚本挺好玩,并不认为这会多少有价值的应用。后来我在知乎上回答了一个相关问题,有人在私信中向我咨询实现自动回复的细节,原来他们是在策划一个博物馆的展览,希望为其中的一件展品(一个青铜小人)创建一个微信个人账号,实现与大量观展者的互动。他们需要的自动回复功能,在微信公众号中都已经较好地提供,但他们认为只有个人账号才能给观展者一种与青铜小人交流的真实感。这时我才意识到,为个人公众号实现自动回复的需求是的确存在的。

实现想法

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

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

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

下面的两张图片是使用这个脚本进行自动回复的效果示例:

实现命令控制

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

脚本实现的控制命令的列表如下:

下面的图片是通过向文件传输助手发送控制命令的示例:

 

使用说明

安装 itchat

使用此脚本要确保已经安装 itchat ,如果没有,可以使用以下命令安装:

初始配置

编辑脚本中的这段代码进行初始配置:

配置好后,将此脚本在服务器上运行,就可以实现24小时的自动回复了。

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

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

脚本代码

 

One thought on “使用Python脚本实现微信个人账号的自动回复

Leave a Reply

Your email address will not be published. Required fields are marked *