Python 实现还原已撤回的微信消息
作者:51reboot 时间:2023-07-07 06:07:56
导包效果展示
以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。
图文来源:http://kks.me/aULmF
图文来源:http://kks.me/aULmF
程序思路
主要由两部分组成:
handler_receive_msg():处理接收到的消息,将消息临时放在字典中。
send_msg_helper():将撤回的消息自动发给文件传输助手。
程序分析
首先,我们定义一个字典来储存消息,定义消息储存的临时路径。
接收信息处理
先将我们需要处理的消息用 msg_register 装饰器进行注册,格式化本地时间,定义消息 ID 和消息时间。如果是群成员而且是自己微信好友撤回消息,则显示撤回消息的名称是你备注的名字,如果没有备注名字,则显示名称为微信昵称。
获取你的所有群的消息,判断出撤回的消息来自哪个群,显示出群名称。
个人消息处理
如果为个人聊天信息,也是优先显示备注名称,没有备注名就显示昵称。
各类型消息处理
用判断语句对各种类型的消息进行处理,包括文字消息、微信自带的表情和收藏的表情、图片、语音、位置、名片、分享、附件、视频。多条件时这里用了 in 的用法,还记得之前讲Python 优雅的写法文章里把用 or 连接条件改成用 in,代码更简洁,这样我们通过项目不断的巩固之前学到的知识点,这样才能不断进步。
更新信息字典
处理撤回消息
先判断是否是撤回消息,将撤回消息发送到你的文件传输助手里,把上面函数储存的消息的发送人、发送类型、发送时间、撤回的内容发出来。以下是部分代码。
主函数
如果你电脑中有安装 Python 环境,在编辑器中直接运行源码或者在 cmd 中运行 py 文件即可。源码获取方式在文末给出。有需要的话以后可以做成界面化工具,挂在服务器上,支持做成界面化工具的点个赞看看,我看看需求量,哈哈。
写在最后
今天的分享就到这里了,需要优化的地方:撤回的视频只支持查看微信自带拍的视频,非微信自带拍的视频打开无法查看。长时间运行时会报 ConnectionError 提示的错误,但是不影响发送撤回消息的功能,后期加个异常捕捉机制优化下。
以上所述是小编给大家介绍的Python 实现还原已撤回的微信消息,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.jianshu.com/p/61de7cb48615
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python Numpy中数组的集合操作详解
Python英文文本分词(无空格)模块wordninja的使用实例
mysql installer community 8.0.12.0安装图文教程
![](https://img.aspxhome.com/file/2023/3/115573_0s.jpg)
vue组件与复用详解
Django中日期时间型字段进行年月日时分秒分组统计
![](https://img.aspxhome.com/file/2023/0/118520_0s.png)
Python调用C语言的实现
mysql中的int(10)int(20)分别代表什么意思
基于python实现微信模板消息
使用python的chardet库获得文件编码并修改编码
Python多进程fork()函数详解
python3对拉勾数据进行可视化分析的方法详解
![](https://img.aspxhome.com/file/2023/1/79761_0s.png)
matplotlib 输出保存指定尺寸的图片方法
Oracle故障处理Rman-06207&Rman-06214的方法
配置mysql允许远程连接的方法
详解将Python程序(.py)转换为Windows可执行文件(.exe)
![](https://img.aspxhome.com/file/2023/8/105868_0s.png)
Python+Selenium使用Page Object实现页面自动化测试
PyCharm 设置数据库,查询数据库语句方式
![](https://img.aspxhome.com/file/2023/8/99458_0s.jpg)
Springboot连接数据库及查询数据完整流程
![](https://img.aspxhome.com/file/2023/6/75406_0s.png)
如何写python的配置文件
Python封装解构以及丢弃变量
![](https://img.aspxhome.com/file/2023/1/115251_0s.png)