10分钟教你用Python实现微信自动回复

简介: 10分钟教你用Python实现微信自动回复

01


前言&&效果展示


相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息。但微信又不能像QQ一样设置自动回复。无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把接收到的消息统一发送到文件助手里面,方便统一查看。

效果如下:

微信图片_20220421153922.jpg微信图片_20220421153925.jpg



 

02


环境准备


Python版本:3.6.0

系统平台:Windows 10 X64

IDE:pycharm


相关模块:

time模块;

itchat模块;

以及一些Python自带的模块。


03


实现原理


其实原理很简单,主要是利用itchat登录微信后,注册消息方法。itchat将根据接收到的消息类型寻找对应的已经注册的方法。如果一个消息类型没有对应的注册方法,该消息将会被舍弃。在这里我们主要注册的是文字类型的消息方法。然后判断消息来源,如果不是自己发出的消息,则将消息转发到文件助手,然后自动回复对方。代码如下:

1# 自动回复
 2# 封装好的装饰器,当接收到的消息是Text,即文字消息
 3# 注册消息响应事件,消息类型为'Text',即文本消息
 4@itchat.msg_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'])

转到文件助手的时候,注意把时间什么的添加上去。看上去效果更好。


04


后台登录


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

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


后台登录如下:

微信图片_20220421153928.jpg

好啦,是不是很简单呢?

05


完整代码

注:代码文件获取请移步留言区。

1import itchat
 2import time
 3
 4# 自动回复
 5# 封装好的装饰器,当接收到的消息是Text,即文字消息
 6# 注册消息响应事件,消息类型为'Text',即文本消息
 7@itchat.msg_register('Text')
 8def text_reply(msg):
 9    # 当消息不是由自己发出的时候
10    if not msg['FromUserName'] == myUserName:
11        # 发送一条提示给文件助手
12        itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %
13                        (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),
14                         msg['User']['NickName'],
15                         msg['Text']), 'filehelper')
16        # 回复给好友
17        return '[自动回复]您好,我现在有事不在,一会再和您联系。\n已经收到您的的信息:%s\n' % (msg['Text'])
18
19if __name__ == '__main__':
20    itchat.auto_login()
21
22    # 获取自己的UserName
23    myUserName = itchat.get_friends(update=True)[0]["UserName"]
24    itchat.run()
相关文章
|
7月前
|
安全 开发者 Python
用Python找出了删除自己微信的所有人并将他们自动化删除了
用Python找出了删除自己微信的所有人并将他们自动化删除了
|
9月前
|
XML Java 应用服务中间件
【Java项目】SpringBoot项目完成微信公众号收到用户消息自动回复功能附带视频(超详细)(一)
【Java项目】SpringBoot项目完成微信公众号收到用户消息自动回复功能附带视频(超详细)
270 0
|
7月前
|
JSON Java 测试技术
Python + Appium 自动化操作微信入门
Python + Appium 自动化操作微信入门
142 0
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
80 0
|
3天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
13 0
|
3天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
6 0
|
3天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
7 0
|
3天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
10 0
|
1月前
|
数据采集 存储 关系型数据库
Python爬虫-使用代理获取微信公众号文章
使用代理爬取微信公众号文章
54 0
|
1月前
|
监控 安全 API
怎么用Python找回微信撤回信息
怎么用Python找回微信撤回信息
34 0