Python 实现还原已撤回的微信消息


Posted in Python onJune 18, 2019

导包效果展示

以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。

Python 实现还原已撤回的微信消息

图文来源:http://kks.me/aULmF

Python 实现还原已撤回的微信消息

图文来源:http://kks.me/aULmF

程序思路

Python 实现还原已撤回的微信消息

主要由两部分组成:

handler_receive_msg():处理接收到的消息,将消息临时放在字典中。

send_msg_helper():将撤回的消息自动发给文件传输助手。

程序分析

首先,我们定义一个字典来储存消息,定义消息储存的临时路径。

接收信息处理

先将我们需要处理的消息用 msg_register 装饰器进行注册,格式化本地时间,定义消息 ID 和消息时间。如果是群成员而且是自己微信好友撤回消息,则显示撤回消息的名称是你备注的名字,如果没有备注名字,则显示名称为微信昵称。

Python 实现还原已撤回的微信消息

获取你的所有群的消息,判断出撤回的消息来自哪个群,显示出群名称。

个人消息处理

如果为个人聊天信息,也是优先显示备注名称,没有备注名就显示昵称。

各类型消息处理

用判断语句对各种类型的消息进行处理,包括文字消息、微信自带的表情和收藏的表情、图片、语音、位置、名片、分享、附件、视频。多条件时这里用了 in 的用法,还记得之前讲Python 优雅的写法文章里把用 or 连接条件改成用 in,代码更简洁,这样我们通过项目不断的巩固之前学到的知识点,这样才能不断进步。

Python 实现还原已撤回的微信消息

更新信息字典

Python 实现还原已撤回的微信消息 

处理撤回消息

先判断是否是撤回消息,将撤回消息发送到你的文件传输助手里,把上面函数储存的消息的发送人、发送类型、发送时间、撤回的内容发出来。以下是部分代码。

Python 实现还原已撤回的微信消息 

主函数

如果你电脑中有安装 Python 环境,在编辑器中直接运行源码或者在 cmd 中运行 py 文件即可。源码获取方式在文末给出。有需要的话以后可以做成界面化工具,挂在服务器上,支持做成界面化工具的点个赞看看,我看看需求量,哈哈。

写在最后

今天的分享就到这里了,需要优化的地方:撤回的视频只支持查看微信自带拍的视频,非微信自带拍的视频打开无法查看。长时间运行时会报 ConnectionError 提示的错误,但是不影响发送撤回消息的功能,后期加个异常捕捉机制优化下。

以上所述是小编给大家介绍的Python 实现还原已撤回的微信消息,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python内置的字符串处理函数整理
Jan 29 Python
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
linux系统使用python监测网络接口获取网络的输入输出
Jan 15 Python
python自动翻译实现方法
May 28 Python
基于Python的文件类型和字符串详解
Dec 21 Python
Python编写带选项的命令行程序方法
Aug 13 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python next()和iter()函数原理解析
Feb 07 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python实现可下载音乐的音乐播放器
Feb 25 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 #Python
Python直接赋值、浅拷贝与深度拷贝实例分析
Jun 18 #Python
python实现五子棋游戏
Jun 18 #Python
解决python中使用PYQT时中文乱码问题
Jun 17 #Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 #Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 #Python
python3.6根据m3u8下载mp4视频
Jun 17 #Python
You might like
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
php结合curl实现多线程抓取
2015/07/09 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
温习Javascript基础语法之词法结构
2016/05/31 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
js实现开关灯效果
2020/03/30 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
[07:40]DOTA2每周TOP10 精彩击杀集锦vol.4
2014/06/25 DOTA
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
浅析NumPy 切片和索引
2020/09/02 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
学习新党章思想汇报
2014/01/09 职场文书
商务考察邀请函范文
2014/01/21 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
啤酒节策划方案
2014/05/28 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
2019财务转正述职报告
2019/06/27 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS