中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么實現一個微信防撤回功能

發布時間:2021-08-09 13:48:52 來源:億速云 閱讀:200 作者:Leah 欄目:大數據

本篇文章給大家分享的是有關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中怎么實現一個微信防撤回功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

织金县| 万州区| 盐边县| 融水| 扎囊县| 剑河县| 新密市| 额尔古纳市| 荆门市| 建昌县| 丰顺县| 定襄县| 恩平市| 山阳县| 潢川县| 河池市| 砚山县| 静宁县| 晋州市| 彭水| 礼泉县| 博乐市| 双柏县| 晋宁县| 县级市| 招远市| 新巴尔虎左旗| 蓝山县| 昌邑市| 舒城县| 锡林浩特市| 慈溪市| 宜川县| 乐安县| 岗巴县| 五大连池市| 延寿县| 会理县| 中阳县| 濮阳县| 泾阳县|