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中xlrd包的安装与处理Excel表格
Dec 16 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Python中is与==判断的区别
Mar 28 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
python自动化测试之如何解析excel文件
Jun 27 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
Python实现语音识别和语音合成功能
Sep 20 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
Python调用Windows命令打印文件
Feb 07 Python
Python tkinter制作单机五子棋游戏
Sep 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字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
javascript 禁止复制网页
2009/06/11 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Django实现跨域请求过程详解
2019/07/25 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
《燕子》教学反思
2014/02/18 职场文书
学校创先争优活动总结
2014/08/28 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
消防安全培训工作总结
2015/10/23 职场文书