Python 实现还原已撤回的微信消息
作者:51reboot 发布时间:2023-07-07 06:07:56
导包效果展示
以下截图显示的撤回消息类型依次是文字消息、微信自带表情、图片、语音、定位地图、名片、公众号文章、音乐、视频。有群里撤回的,也有个人号撤回的。
图文来源:http://kks.me/aULmF
图文来源:http://kks.me/aULmF
程序思路
主要由两部分组成:
handler_receive_msg():处理接收到的消息,将消息临时放在字典中。
send_msg_helper():将撤回的消息自动发给文件传输助手。
程序分析
首先,我们定义一个字典来储存消息,定义消息储存的临时路径。
接收信息处理
先将我们需要处理的消息用 msg_register 装饰器进行注册,格式化本地时间,定义消息 ID 和消息时间。如果是群成员而且是自己微信好友撤回消息,则显示撤回消息的名称是你备注的名字,如果没有备注名字,则显示名称为微信昵称。
获取你的所有群的消息,判断出撤回的消息来自哪个群,显示出群名称。
个人消息处理
如果为个人聊天信息,也是优先显示备注名称,没有备注名就显示昵称。
各类型消息处理
用判断语句对各种类型的消息进行处理,包括文字消息、微信自带的表情和收藏的表情、图片、语音、位置、名片、分享、附件、视频。多条件时这里用了 in 的用法,还记得之前讲Python 优雅的写法文章里把用 or 连接条件改成用 in,代码更简洁,这样我们通过项目不断的巩固之前学到的知识点,这样才能不断进步。
更新信息字典
处理撤回消息
先判断是否是撤回消息,将撤回消息发送到你的文件传输助手里,把上面函数储存的消息的发送人、发送类型、发送时间、撤回的内容发出来。以下是部分代码。
主函数
如果你电脑中有安装 Python 环境,在编辑器中直接运行源码或者在 cmd 中运行 py 文件即可。源码获取方式在文末给出。有需要的话以后可以做成界面化工具,挂在服务器上,支持做成界面化工具的点个赞看看,我看看需求量,哈哈。
写在最后
今天的分享就到这里了,需要优化的地方:撤回的视频只支持查看微信自带拍的视频,非微信自带拍的视频打开无法查看。长时间运行时会报 ConnectionError 提示的错误,但是不影响发送撤回消息的功能,后期加个异常捕捉机制优化下。
以上所述是小编给大家介绍的Python 实现还原已撤回的微信消息,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.jianshu.com/p/61de7cb48615
猜你喜欢
- 内容摘要合理使用渐变留白网格布局提高字体应用明确而有效的导航设计漂亮、有用的页脚介绍优秀设计和卓越设计之间的区别是比较小的。一般人可能无法解
- 背景上周公司培训了MySQL replication, 这个周末打算用所学来实践操作一下。Master server:MySQL conta
- 本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:前提条件:安装好操作系统对应的gitgo get
- 1、安装pip install djangorestframework2、创建项目及应用创建项目创建应用目录结构如图3、设置settings
- 本文实例讲述了JavaScript实现为input与textarea自定义hover,focus效果的方法。分享给大家供大家参考。具体如下:
- 前言1.工作中,经常需要合并多个Excel文件。如果文件数量比较多,则工作量大,易出错,此时,可以使用Python来快速的完成合并。2.使用
- 前言深度学习框架在市面上有很多。比如Theano、Caffe、CNTK、MXnet 、Tensorflow等。今天讲解的就是主角Tensor
- iframe 标签 -- 代表HTML内联框架iframe 标签是成对出现的,以<iframe>开始,</ifr
- 之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变
- 在昨天的文章,《 block 和 inline 的区别是?》里,我给大家留了个问题——LI 元素到底是block level 的,还是 in
- browsercookie 知识铺垫第一个要了解的知识点是使用 browsercookie 获取浏览器 cookie ,该库使用命令 pip
- 实例如下所示:>>> import pandas as pd>>> df = pd.DataFrame(
- php获取 checkbox复选框值的方法 <html xmlns="https://www.aspxhome.net/19
- 1.SQL Server2019安装包下载1.1进入官网SQL Server 20191.2下载安装包1点击Continue2.填写个人信息
- 这篇文章主要介绍了Python二次规划和线性规划使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 功能描述数据库间数据同步方式很多,在上篇博文中有总结。本文是用py程序实现数据同步。A数据库中有几十张表,要汇聚到B数据库中,且表结构一致,
- 我的路由:const routerMap = [ { path: '/',  
- yaml简单介绍YAML是一种标记语言,它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、
- 1.变量的赋值操作只是多生成了一个变量,实际上还是指向同一个对象# -*- coding: utf-8 -*-class CPU: &nbs
- 问题:输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致。例如:import pa