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 16 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
python函数的5种参数详解
Feb 24 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
python web框架中实现原生分页
Sep 08 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
浅谈Python 函数式编程
Jun 20 Python
Python 实现微信自动回复的方法
Sep 11 Python
Golang Web 框架Iris安装部署
Aug 14 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 什么是PEAR?(第二篇)
2009/03/19 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
JQuery 网站换肤功能实现代码
2009/11/02 Javascript
javascript 当前日期转化为中文的实现代码
2010/05/13 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python实现查找所有程序的安装信息
2020/02/18 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
工商管理本科毕业生求职信范文
2013/10/05 职场文书
六查六看剖析材料
2014/02/15 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python