用Python写微信防撤回脚本,锁定那些被撤回的消息,就是撤回了也可以看到

【Python写微信防撤回脚本】 锁定被撤回的消息 Python有很多好用好玩的库,可以慢慢发掘。本期我们利用ItChat库编写了一个微信防撤回脚本。其实ItChat功能远远不止这些,它还可以处理微信群消息以及各种其他类型的消息,我们讲到的只是九牛一毛,更多的还要大家自己去探索。这个系列就到此为止了,如果有想要了解交流的可以在主页联系我。大家有什么想了解的,或者有什么想做的也可以在文章后面留言,后面说不定就会做了哦~ 阅读详情

如果好友短时间发送多条消息然后撤回会难以判断究竟撤回的是哪条信息,只能靠猜。后来我觉得“猜”这个事情特别不Pythonic,研究一段时间后找到了解决方案,不得不惊叹ItChat真的好强大。

之前解决方案

大概是这样:短时间内同一位好友发送了多条消息,当他随便撤回一条消息时,我们不能确定他到底撤回的到底是哪一条消息。只能猜他可能是撤回了最近的一条消息,然后将其他消息贴出来作为备选。代码如下:

target_msg_pattern = '"{}" 撤回了一条消息'.format(sender_name)
if content == target_msg_pattern:
    return_msg = '【{}】撤回了一条消息:\n'.format(sender_name)
    if len(log[sender_name].items()) == 0:
        return_msg = '缓存信息列表为空!'
    else:
        return_msg += log[sender_name].items()[-1][-1] + '\n'
        if len(log[sender_name].items()) > 1:
            msgs = [msg for timestamp, msg in log[sender_name].items()[:-1]]
            return_msg += '也有可能是下列信息中的某一条:\n' + '\n'.join(msgs)

实际效果是这样:


在这里插入图片描述
我这个强迫症简直受不了这么不确定的说法。

分析msg信息

要想确定撤回了哪一条信息,就必须先熟悉普通msg和撤回的msg里面都有哪些信息,他们的相同点和不同点。下面就来看看这两种情况下msg都是怎么样的,不需要仔细的看每一行,后面会作具体分析。

先是用机器人“小帮帮”发送过来的信息得到的msg信息:

{
   
   
	'MsgId': '2018511155698964390',
	'FromUserName': '@**********f511363f8200853d724137bb31236a7ea81e5183cc06cb4ec978e3',
	'ToUserName': '@**********c2e61fdb47b5c241553a2f',
	'MsgType': 1,
	'Content': 'msg里面到底有什么?',
	'Status': 3,
	'ImgStatus': 1,
	'CreateTime': 1578069291,
	'VoiceLength': 0,
	'PlayLength': 0,
	'FileName': '',
	'FileSize': '',
	'MediaId': '',
	'Url': '',
	'AppMsgType': 0,
	'StatusNotifyCode': 0,
	'StatusNotifyUserName': '',
	'RecommendInfo': {
   
   
		'UserName': '',
		'NickName': '',
		'QQNum': 0,
		'Province': '',
		'City': '',
		'Content'
微信消息防撤回技术解析:本地数据库实时备份方案与Python实现 消息撤回是即时通讯软件中常见的功能,其原理是服务器向接收方客户端发送撤回指令,客户端据此更新本地数据与界面显示。在需要信息留存的严肃场景下,如工作沟通与证据保全,确保已接收信息的完整性与可追溯性具有重要价值。通过技术手段在本地层面实现消息防撤回,核心在于理解客户端的数据存储机制与通信流程。其中,**本地数据库实时备份**是一种相对稳定且风险较低的方案,它通过监控并备份存储聊天记录的SQLite数据库文件,在撤回指令生效前保存原始消息。本文以PC端微信为例,详细阐述了基于Python脚本实现数据库监控与备份的 阅读详情

相关推荐

微信消息防撤回实战:5种技术方案原理与实现详解

在即时通讯和软件工程实践中,数据持久化与信息完整性是核心需求。消息撤回机制是客户端-服务器架构下的一种常见功能,其原理在于服务器向客户端发送删除指令以更新本地视图。从技术价值看,确保关键信息的可追溯性对于沟通审计、知识留存和权益保障至关重要。应用场景广泛,包括工作协作记录、重要通知存档及合规性要求。针对微信平台,实现消息保护主要围绕系统通知监听、文件缓存分析和自动化脚本等工程方法展开。其中,利用iOS快捷指令进行通知监听和通过Android无障碍服务实现自动化抓取,是两种高效且低风险的实战方案,能有效应对常

weixin_33743248的博客 346

Mac微信防撤回工具WeChatIntercept:原理、安装与安全风险全解析

动态库注入(DYLIB Injection)和函数钩子(Hook)是macOS系统下实现应用功能扩展与行为拦截的核心技术。其原理在于通过修改目标应用的加载路径或运行时方法调用,将自定义代码注入到应用进程中,从而实现对特定功能的监控、修改或增强。这项技术在软件逆向工程、安全研究和功能增强领域具有重要价值,常被用于实现消息拦截、界面修改或行为分析等场景。本文以热门的开源项目WeChatIntercept为例,深入剖析其如何运用动态库注入和特征码搜索技术,在Mac版微信中实现消息防撤回与实时通知功能,并详细探讨了

weixin_34245082的博客 339

Windows微信防撤回脚本

在Windows上可以防止别人微信消息的撤回,我已经看到你了,撤回也没有用。

农业杂草检测——棉花杂草数据集

然后将本层13×13的特征图谱经过×2上采样扩充到26×26,并与上层中26×26的特征图谱拼接,得到新的26×26的特征图谱,在该特征尺度上进行第二次预测,此时得到的特征图谱是相对输入图像16倍下采样,具有中尺度感受野,适合检测中等尺度对象;通过目标检测,能够及时清除杂草,减少病虫害的滋生和传播,保障棉花的健康生长,并有助于降低生产成本。对于地膜覆盖的棉田,由于膜内耕作层土温高、底墒好,杂草出苗早而集中,一般覆膜后5 - 7天杂草陆续出土,在墒情好的情况下,15天左右即形成出土高峰。

qq_38220914的博客 1247

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码)

本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。

svm4gardener的博客 341

OpenCV图像去畸变实战指南:从原理到参数调优(附完整代码与效果对比)

本文详细解析了OpenCV图像去畸变的原理与实战方法,对比了三种核心函数(标准、鱼眼、全景模型)的适用场景与效果。重点提供了完整的代码示例,并深入探讨了alpha、焦距、中心点等关键参数的调优技巧,以帮助开发者有效矫正镜头畸变,提升计算机视觉任务精度。

life6的博客 554

编译原理考试大题分析【太原理工大学】

看完本篇大题拿 85% 的分应该没问题,TYUT 太原理工大学编译原理期末考试。

m0_52861684的博客 1万+

毫米波与太赫兹:十射线模型建模

Pt=1,只考虑地面和前后两面墙的反射,反射系数为0.7。用matlab设计程序并实现该功能。,总计考虑10条路径,求出接收功率随。

SupermarketX的博客 786

真双口RAM---Quartus与Vivado开发环境区别对比

2、写和写冲突:表示两个端口写使能同时有效且写地址相同,此时需要关断一个写,把两个写端口都需要更新的值处理到一个写端口上面,任何的DP RAM 都不支持写和写冲突。以上述直方图统计使用为例,博主在仿真过程中发现,vivado真双口RAM--B端口读写延迟2个clk;1、读和写冲突:如果读和写同时有效,且读和写是同一个地址时,发生RAM读写冲突,此时会把最新的写数据直接赋给读数据,称为写穿通到读。

weixin_54470733的博客 3583

MOSFET关断尖峰电压的机理与抑制

MOSFET在电力电子系统中存在开关尖峰电压/电流问题,主要源于寄生电感、密勒电容及开关瞬态特性。尖峰会引发过压击穿、功率损耗和EMI干扰。抑制措施包括优化驱动电路、添加缓冲网络(RC/RCD)、降低寄生电感(改进PCB布线/封装)、使用快速二极管及远端负载特殊处理(电抗器/滤波器)。系统性的器件选型与电路设计是确保功率电子稳定运行的关键。

硬核科技 1824

【数据集】中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

WW、forever的博客 2600

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 利用Python爬取网页美女图片,哇太多了,我U盘装满了!
下一篇: 震惊!几道Python 理论面试题,Python面试题No18
克金森沐沐
博客等级 码龄6年 694粉丝 64原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值