Python中怎么实现一个微信防撤回功能

发布时间:2021-08-09 13:48:52 作者:Leah
来源:亿速云 阅读:186

本篇文章给大家分享的是有关Python中怎么实现一个微信防撤回功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1.微信撤回消息实现原理

我们先来了解一下微信撤回消息的原理:

其实微信撤回消息原理就是操作者在点击撤回的时候,客户端会自动发一条系统消息:“xxx撤回了一条消息”,然后对方app端收到消息后解析,替换原消息,改个显示的样式即可

给大家演示一下正常消息撤回消息的内容到底有什么区别:
正常消息:Content='你好骚啊',大家留意一下MsgId='8784390488772995470'
Python中怎么实现一个微信防撤回功能
撤回消息:Content是一串xml格式的内容
Python中怎么实现一个微信防撤回功能
我们在下面把它格式化看看

<sysmsg type="revokemsg">
 <revokemsg>
   <session>xxxsession>
   <oldmsgid>1090336364oldmsgid>
   <msgid>8784390488772995470msgid>
   <replacemsg>replacemsg>
 revokemsg>sysmsg>

分析上面撤回的Content字段我们发现 8784390488772995470的id与我们之前发送消息的id是一致的,而  这个标签也验证了我们的猜想,确实是用新消息替换原消息。

2.找到被撤回消息

根据抓取正常消息撤回消息的内容我们发现规则:撤回消息中会包含之前被撤回的那条消息的msgid,那我们只要找到之前那条消息就可以了,而wxpy模块默认为我们缓存了最近的200条消息,所以我们只要遍历这些历史消息然后比较msgid就可以找到被撤回的那条消息啦!
Python中怎么实现一个微信防撤回功能 如果你微信消息太过频繁,2分钟之内消息数量超过200,则可以将max_history设置大些。

3.转发被撤回消息

原理也搞懂了,被撤回的消息也找到了,就差最后一步转发消息了,如果你之前玩过wxpy肯定会了吧,只要一行代码就可以将消息转发:

msg.forward(bot.file_helper)

4.代码

原理和过程讲完了,代码贴出来给大家看看,注释还是比较详细,有不懂得话可以在学习群中问我。
Python中怎么实现一个微信防撤回功能

以上就是Python中怎么实现一个微信防撤回功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 老司机带你攻破微信消息防撤回功能
  2. python使用wxpy实现微信消息防撤回脚本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:php变量设置值的方式有哪些

下一篇:VSCode远程连接服务器报错:Could not establish connection to怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》