您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用Python查看微信撤回消息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Python查看微信撤回消息”吧!
一、功能設計
給大家來演示一下實現的功能。
二、功能實現
1.微信撤回消息實現原理
我們先來了解一下微信撤回消息的原理:
其實微信撤回消息原理就是操作者在點擊撤回的時候,客戶端會自動發一條系統消息:“xxx撤回了一條消息”,然后對方app端收到消息后解析,替換原消息,改個顯示的樣式即可
給大家演示一下正常消息和撤回消息的內容到底有什么區別:
正常消息:Content='你好騷啊',大家留意一下MsgId='8784390488772995470'
撤回消息:Content是一串xml格式的內容
我們在下面把它格式化看看
<sysmsg type="revokemsg"> <revokemsg> <session>xxx</session> <oldmsgid>1090336364</oldmsgid> <msgid>8784390488772995470</msgid> <replacemsg><![CDATA["我" 撤回了一條消息]]></replacemsg> </revokemsg></sysmsg>
分析上面撤回的Content字段我們發現<msgid>8784390488772995470</msgid>的id與我們之前發送消息的id是一致的,而<replacemsg>這個標簽也驗證了我們的猜想,確實是用新消息替換原消息。
2.找到被撤回消息
根據抓取正常消息和撤回消息的內容我們發現規則:撤回消息中會包含之前被撤回的那條消息的msgid,那我們只要找到之前那條消息就可以了,而wxpy模塊默認為我們緩存了最近的200條消息,所以我們只要遍歷這些歷史消息然后比較msgid就可以找到被撤回的那條消息啦!
如果你微信消息太過頻繁,2分鐘之內消息數量超過200,則可以將max_history設置大些。
3.轉發被撤回消息
原理也搞懂了,被撤回的消息也找到了,就差最后一步轉發消息了,如果你之前玩過wxpy肯定會了吧,只要一行代碼就可以將消息轉發:
msg.forward(bot.file_helper)
4.代碼
原理和過程講完了,代碼貼出來給大家看看,注釋還是比較詳細。
三、功能驗證
到此,相信大家對“怎么用Python查看微信撤回消息”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。