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中暂存上传图片的方法
Feb 18 Python
在Python的struct模块中进行数据格式转换的方法
Jun 17 Python
在Python的Django框架中为代码添加注释的方法
Jul 16 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python随机生成数据后插入到PostgreSQL
Jul 28 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python实现简单中文词频统计示例
Nov 08 Python
python调用百度语音REST API
Aug 30 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Django工程的分层结构详解
Jul 18 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
pytorch数据预处理错误的解决
Feb 20 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
聊天室php&mysql(六)
2006/10/09 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP分享图片的生成方法
2018/04/25 PHP
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
彻底搞懂Python字符编码
2018/01/23 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
关于Assembly命名空间的三个面试题
2015/07/23 面试题
与UNIX有关的几个名词
2015/09/17 面试题
QA工程师岗位职责
2013/11/20 职场文书
校园文明标语
2014/06/13 职场文书
给领导的感谢信范文
2015/01/23 职场文书
建议书格式
2015/02/04 职场文书
2015大学生求职信范文
2015/03/20 职场文书
天河观后感
2015/06/11 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
MySQL派生表联表查询实战过程
2022/03/20 MySQL