发布网友 发布时间:2022-04-19 19:27
共3个回答
懂视网 时间:2022-05-10 09:49
猪哥给大家演示一下正常消息
和撤回消息
的内容到底有什么区别:
正常消息:Content='你好骚啊'
,大家留意一下MsgId='8784390488772995470'
撤回消息:Content是一串xml格式的内容
我们在下面把它格式化看看
<sysmsg type="revokemsg"> <revokemsg> <session>xxx</session> <oldmsgid>10903363</oldmsgid> <msgid>8784390488772995470</msgid> <replacemsg><![CDATA["猪哥" 撤回了一条消息]]></replacemsg> </revokemsg> </sysmsg>
分析上面撤回的Content
字段我们发现<msgid>8784390488772995470</msgid>
的id与我们之前发送消息的id是一致的,而<replacemsg>
这个标签也验证了我的猜想,确实是用新消息替换原消息。
根据抓取正常消息
和撤回消息
的内容我们发现规则:撤回消息中会包含之前被撤回的那条消息的msgid
,那我们只要找到之前那条消息就可以了,而wxpy
模块默认为我们缓存了最近的200条消息,所以我们只要遍历这些历史消息然后比较msgid
就可以找到被撤回的那条消息啦!
如果你微信消息太过频繁,2分钟之内消息数量超过200,则可以将max_history
设置大些。
原理也搞懂了,被撤回的消息也找到了,就差最后一步转发消息了,如果你之前玩过wxpy
肯定会了吧,只要一行代码就可以将消息转发:
msg.forward(bot.file_helper)
原理和过程讲完了,代码贴出来给大家看看,注释还是比较详细,有不懂得话可以在学习群中问我。
微信消息防撤回功能实现简单,但实用性很好,目前项目的唯一缺点就是易用性差,简单说就是我们还没有将项目部署服务器,每次使用都得打开电脑然后运行还得一直开着,猪哥考虑后面将项目部署在云服务器上或者打包成apk,这样就使用起来就非常方便了,而且还可以把apk发给朋友,让朋友也体验此功能!
学会这招,再也不用好奇对方到底撤回了啥消息,快下载项目试试吧!下载项目后可直接运行不需要修改代码!
热心网友 时间:2022-05-10 06:57
1、我们需要用电脑下载该文件wMsg.exe,由于会产生中间文件,所以建议把wMsg.exe移动到一个新建文件夹:比如我在桌面新建了wMsg文件夹,并把下载的wMsg.exe移动到了该文件夹下。
2、双击wMsg.exe这个文件,会弹出一个二维码;用你的微信扫描二维码点击确定登陆即可,如果有朋友发消息给你并撤回了,你同时就会收到文件传输助手的通知。
3、把下载的程序放到新建的文件夹里面
4、扫了二维码登录后微信显示:网页微信已登录,你可以看到:文件传输助手
5、这样信息撤回时,对方微信手机会立刻收到文件助手的提示,可以显示出自己发的消息撤回的内容。
热心网友 时间:2022-05-10 08:15
微信在最新的版本新增加了消息撤回的功能,这样在和好友聊天的时候发错了消息也可以及时的撤回,避免出现尴尬的事情,下面是详细的用法介绍。
微信消息撤回方法:
1、打开微信,在跟朋友聊天的窗口,长按已经【发送】出去的最后消息。
2、出现选项,选择【撤回】,这样就可以撤回一条在2分钟内发送的最后一条消息了。ps:目前仅支持微信5.3.1.16及以上版本。