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中使用语句导入模块或包的机制研究
Mar 30 Python
pygame学习笔记(5):游戏精灵
Apr 15 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
Python矩阵常见运算操作实例总结
Sep 29 Python
Python生成器以及应用实例解析
Feb 08 Python
Python开发的十个小贴士和技巧及长常犯错误
Sep 27 Python
Python数据类型之Number数字操作实例详解
May 08 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
python输出国际象棋棋盘的实例分享
Nov 26 Python
Python Matplotlib绘制等高线图与渐变色扇形图
Apr 14 Python
Python使用永中文档转换服务
May 06 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 缓冲的免费实现方法
2006/10/09 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
Jquery中获取iframe的代码
2011/01/11 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
python判断字符串是否包含子字符串的方法
2015/03/24 Python
Python编程中的文件操作攻略
2015/10/16 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
详解python如何引用包package
2020/06/07 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
毕业生的自我评价范文
2013/12/31 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
会计工作能力自我评价
2015/03/05 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
团结主题班会
2015/08/13 职场文书
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
Python OpenGL基本配置方式
2022/05/20 Python