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实现指定字符串补全空格的方法
Apr 30 Python
python使用wxpython开发简单记事本的方法
May 20 Python
Python 遍历子文件和所有子文件夹的代码实例
Dec 21 Python
基于Python List的赋值方法
Jun 23 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
Python双链表原理与实现方法详解
Feb 22 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
python中turtle库的简单使用教程
Nov 11 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 Python
教你用python实现一个无界面的小型图书管理系统
May 21 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导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
jupyter notebook实现显示行号
2020/04/13 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
CSS3 分类菜单效果
2019/05/27 HTML / CSS
如何安装ruby on rails
2014/02/09 面试题
建筑文秘专业个人求职信范文
2013/12/28 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
初中美术教学反思
2014/01/29 职场文书
施工材料员岗位职责
2014/02/12 职场文书
员工工作表现评语
2014/04/26 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
Flink 侧流输出源码示例解析
2022/09/23 Servers