成都网站建设设计

将想法与焦点和您一起共享

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

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

创新互联主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务随县,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

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

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

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

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


 
   xxxsession>
   1090336364oldmsgid>
   8784390488772995470msgid>
   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中怎么实现一个微信防撤回功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网站栏目:Python中怎么实现一个微信防撤回功能
文章路径:http://chengdu.cdxwcx.cn/article/geoiis.html