教你用Python完成微信自动回复

1 前言*效果介绍

每个人都有很忙的时候,不可能时刻查看微信上的消息并马上回复。但微信又不能像QQ一样设置自动回复。无妨,现在我们就来用Python完成微信的自动回复功能,然后把收到的音讯一致发送到文件助手外里,这样方便统一查看

如下:

教你用Python完成微信自动回复


教你用Python完成微信自动回复


2 搭建环境

Python版本:3.6.0系统平台:Windows 10 X64IDE:pycharm

相关模块:time模块;itchat模块;以及一些Python自带的模块。

3 原理的实现

原理超简单,主要是利用itchat登录好微信之后,用注册消息方法。itchat将根据接收到的消息类型寻找对应的已经注册的方法。如果一个消息类型无对应的注册方法,该消息将会被丢弃。在这里我们主要注册的是文字类型的消息方法。再判断消息来源,如果不是自己发出的消息,则将消息发送到文件助手,再自动回复对方。

代码展示:

<code> 1# 自动回复
2# 封装好的装饰器,当接收到的消息是Text,即文字消息
3# 注册消息响应事件,消息类型为'Text',即文本消息
[email protected]_register('Text')
5def text_reply(msg):
6    # 当消息不是由自己发出的时候
7    if not msg['FromUserName'] == myUserName:
8        # 发送一条提示给文件助手

9        itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\\n" %
10                        (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
11                         msg['User']['NickName'],
12                         msg['Text']), 'filehelper')
13        # 回复给好友
14        return '[自动回复]您好,我现在有事不在,一会再和您联系。\\n已经收到您的的信息:%s\\n' % (msg['Text'])/<code>

发到文件助手的时候,要把时间什么的添加上去。看上去效果更佳。

4 登录后台

再者我们现在可以把我们的微信挂在后台设置自动回复了。注意运行的时候获取一下自己的微信名,用来判断消息是不是自己发出的。

的时候获取一下自己的微信名,用来判断消息是不是自己发出的。

<code>1if __name__ == '__main__':
2    itchat.auto_login()
3
4    # 获取自己的UserName
5    myUserName = itchat.get_friends(update=True)[0]["UserName"]
6    itchat.run()/<code>

搞定啦,系不系非常的简单......


分享到:


相關文章: