日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

只用一招!Python实现微信防撤回!

發(fā)布時間:2023/12/20 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 只用一招!Python实现微信防撤回! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

微信(WeChat)是騰訊公司于2011年1月21日推出的一款社交軟件,8年時間微信做到日活10億,日消息量450億。在此期間微信也推出了不少的功能如:“搖一搖”、“漂流瓶”、“朋友圈”、“附近的人”、“公眾平臺”、“小程序”等等,涵蓋了我們生活的方方面面,微信正在慢慢踐行著他們的口號:微信,是一種生活方式

一、背景介紹

產(chǎn)品的更新迭代必然會伴隨著功能的推出和下線,今天我們要講的便是微信在2014年推出的一個小小的新功能:撤回消息,使用此功能者提神醒腦、神清氣爽,但被施用者卻可能會抓耳撓腮、咬牙切齒的想知道你到底撤回了啥,這就是所謂的好奇害死貓(Curiosity kills the cat),今天我們就來用Python實現(xiàn)防微信消息撤回,滿足一下大家的好奇心!

image

二、功能設計

我們希望當有好友或者群中有人撤回消息的時候,第一時間能把原消息、發(fā)送者信息轉(zhuǎn)發(fā)到文件助手中(當然你也可以把消息發(fā)回給他,哈哈),這樣方便我們查看。

給大家來演示一下實現(xiàn)的功能。

image

三、功能實現(xiàn)

1.微信撤回消息實現(xiàn)原理

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

其實微信撤回消息原理就是操作者在點擊撤回的時候,客戶端會自動發(fā)一條系統(tǒng)消息:“xxx撤回了一條消息”,然后對方app端收到消息后解析,替換原消息,改個顯示的樣式即可

豬哥給大家演示一下正常消息和撤回消息的內(nèi)容到底有什么區(qū)別:

正常消息:Content='你好騷啊',大家留意一下

MsgId='8784390488772995470'

image

撤回消息:Content是一串xml格式的內(nèi)容

image

我們在下面把它格式化看看

<sysmsg type="revokemsg">

分析上面撤回的Content字段我們發(fā)現(xiàn)<msgid>8784390488772995470</msgid>的id與我們之前發(fā)送消息的id是一致的,而<replacemsg>這個標簽也驗證了我們的猜想,確實是用新消息替換原消息。

2.找到被撤回消息

根據(jù)抓取正常消息和撤回消息的內(nèi)容我們發(fā)現(xiàn)規(guī)則:撤回消息中會包含之前被撤回的那條消息的msgid,那我們只要找到之前那條消息就可以了,而wxpy模塊默認為我們緩存了最近的200條消息,所以我們只要遍歷這些歷史消息然后比較msgid就可以找到被撤回的那條消息啦!

image

如果你微信消息太過頻繁,2分鐘之內(nèi)消息數(shù)量超過200,則可以將max_history設置大些。

3.轉(zhuǎn)發(fā)被撤回消息

原理也搞懂了,被撤回的消息也找到了,就差最后一步轉(zhuǎn)發(fā)消息了,如果你之前玩過wxpy肯定會了吧,只要一行代碼就可以將消息轉(zhuǎn)發(fā):

msg.forward(bot.file_helper)

4.代碼

原理和過程講完了,代碼貼出來給大家看看,注釋還是比較詳細,有不懂得話可以在學習群中問我。

image

四、功能驗證

image

五、總結(jié)

微信消息防撤回功能實現(xiàn)簡單,但實用性很好,目前項目的唯一缺點就是易用性差,簡單說就是我們還沒有將項目部署服務器,每次使用都得打開電腦然后運行還得一直開著,豬哥考慮后面將項目部署在云服務器上或者打包成apk,這樣就使用起來就非常方便了,而且還可以把apk發(fā)給朋友,讓朋友也體驗此功能!

總結(jié)

以上是生活随笔為你收集整理的只用一招!Python实现微信防撤回!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。