当前位置:网站首页>撤回就看不到了?三步让你微信防撤回。
撤回就看不到了?三步让你微信防撤回。
2022-07-26 15:07:00 【执行上下文】
前提
昨天在群里,看到小伙伴发了一个 ”不可描述“ 的图片,我刚准备点开看,就发现TA撤回了,该死的撤回。看我怎么整治你。
准备工作
- 开发工具
- 一个注册一年以上的微信号
工作原理
本项目的防撤回,实际上的原理是这个微信和你聊天的对象同处再一个群里,它会实时监控聊天记录,检测到消息状态为撤回,就会从撤回之前的保存的记录里,拿出这条数据,转发给出去,从而达到一个防撤回的效果。通俗的讲就是实时备份你的聊天记录,然后提取出来撤回的那条。
注意事项
1、如果你想要防撤回效果,本微信号一定要和你当前的微信号再同一个群里。
2、简单的说就是你的机器人微信 和 你的主微信有着同样的群聊,以达到防撤回的目的
3、暂不支持单人撤回,只能对群防撤回。
主要代码
获取你要检测的群对象,如果你想监听所有对象,则不需要
Test = bot.groups().search(u'Test')将撤回的消息 转发到特定的群里,以供再其他微信查看,可以是单个好友或者文件传输助手
recallNotice = ensure_one(bot.groups().search('recallNotice'))# 文本 TEXT = 'Text'
# 位置 MAP = 'Map' 1
# 名片 CARD = 'Card' 2
# 分享 SHARING = 'Sharing' 3
# 图片 PICTURE = 'Picture' 4
# 语音 RECORDING = 'Recording' 5
# 文件 ATTACHMENT = 'Attachment' 6
# 视频 VIDEO = 'Video' 7注册事件,所有群的消息
@bot.register(Group)主要代码
def handleReceiveMsg(msg):
'''
监听消息
:param msg:
:param chats:
:return:
'''
ra = msg.raw
mss = msg.bot.messages
le = len(mss)
if ra['Status'] == 4:
# 获取消息ID
oldmsgid = re.search(re.compile('<msgid>(.*?)</msgid>', re.S),
ra['Content']).group(1)
for i in range(le-1,-1,-1):
if oldmsgid == str(mss[i].id):
name = msg.chat.name // 获取群名
username = msg.member.nick_name // 获取撤回消息的人名
if name == None or name == '':
name = msg.chat.nick_name
username = msg.member.nick_name
// 根据不同的消息类型进行撤回提示
if mss[i].type == 'Text':
recallNotice.send('来自【'+ name + '】的【' + username
+'】撤回了一条消息:'+ mss[i].text)
bot.file_helper.send('来自【'+ name + '】的【' + username
+'】撤回了一条消息:'+ mss[i].text)
break效果展示
完美通过测试,看你还怎么撤回。
边栏推荐
- 什么是传输层协议TCP/UDP???
- 生泰尔科技IPO被终止:曾拟募资5.6亿 启明与济峰资本是股东
- 81.(cesium之家)cesium修改灰色背景(默认蓝色)
- Write a summary, want to use a reliable software to sort out documents, is there any recommendation?
- [leetcode daily question] - 268. Missing numbers
- 写综述,想用一个靠谱的整理文献的软件,有推荐的吗?
- 教程篇(7.0) 05. 通过FortiClient EMS发放FortiClient * FortiClient EMS * Fortinet 网络安全专家 NSE 5
- Creation and traversal of binary tree
- Unity URP入门实战
- Is there any need for livedata to learn—— Jetpack series (2)
猜你喜欢
![[five minute paper] reinforcement learning based on parameterized action space](/img/86/9deb43958b6bf7401f41f31f737cc9.png)
[five minute paper] reinforcement learning based on parameterized action space

食品制造企业想要实现智能协同的供应商管理,选择SRM供应商系统就够了

Jintuo shares listed on the Shanghai Stock Exchange: the market value of 2.6 billion Zhang Dong family business has a strong color

If food manufacturing enterprises want to realize intelligent and collaborative supplier management, it is enough to choose SRM supplier system

C# 给Word每一页设置不同文字水印
![[basic] the difference between dynamic link library and static link library](/img/d5/fe7880e3fa91faff10a1c31870cce0.png)
[basic] the difference between dynamic link library and static link library

OSPF and mGRE experiments

数据挖掘之数据预处理

The IPO of shengtaier technology was terminated: it was planned to raise 560million yuan, and Qiming and Jifeng capital were shareholders

【基础】动态链接库/静态链接库的区别
随机推荐
anaconda No module named ‘cv2‘
R语言ggplot2可视化:使用ggpubr包的ggdotplot函数可视化点阵图(dot plot)、设置add参数添加均值和标准差竖线、设置error.plot参数实际显示箱体
Xiaobai, which securities firm is the best and safest to open an account
R语言检验相关性系数的显著性:使用cor.test函数计算相关性系数的值和置信区间及其统计显著性(如果变量来自正态分布总体使用皮尔森方法pearson)
R语言可视化散点图、使用ggrepel包的geom_text_repel函数避免数据点之间的标签互相重叠(设置min.segment.length参数为0为每个数据点的标签添加线段)
Deep Packet Inspection Using Cuckoo Filter论文总结
No module named ‘win32gui‘
MYSQL 命令大全
NAT/NAPT地址转换(内外网通信)技术详解【华为eNSP】
Driver development environment
筑牢生态安全防线,广州开展突发环境事件应急演练
Using two stacks to implement a queue
[static code quality analysis tool] Shanghai daoning brings you sonarource/sonarqube download, trial and tutorial
数商云:引领化工业态数字升级,看摩贝如何快速打通全场景互融互通
示波器的使用
cs224w(图机器学习)2021冬季课程学习笔记5
【静态代码质量分析工具】上海道宁为您带来SonarSource/SonarQube下载、试用、教程
Qt最基本的布局,创建window界面
The IPO of shengtaier technology was terminated: it was planned to raise 560million yuan, and Qiming and Jifeng capital were shareholders
【LeetCode每日一题】——121.买卖股票的最佳时机