亚洲全黄无码一级在线看_国产剧情久久久性色_无码av一区二区三区无码_亚洲成a×人片在线观看

當(dāng)前位置: 首頁(yè) > 科技新聞 >

微信消息被撤回看不見(jiàn)?一招教你防撤回

時(shí)間:2020-03-28 17:28來(lái)源:網(wǎng)絡(luò)整理 瀏覽:
微信(WeChat)是騰訊公司于2011年1月21日推出的一款社交軟件,8年時(shí)間微信做到日活10億,日消息量450億。在此期間微信也推出了不

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

一、背景介紹

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

微信消息被撤回看不見(jiàn)?一招教你防撤回

二、功能設(shè)計(jì)

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

給大家來(lái)演示一下實(shí)現(xiàn)的功能。

微信消息被撤回看不見(jiàn)?一招教你防撤回

三、功能實(shí)現(xiàn)1.微信撤回消息實(shí)現(xiàn)原理

我們先來(lái)了解一下微信撤回消息的原理:

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

豬哥給大家演示一下正常消息和撤回消息的內(nèi)容到底有什么區(qū)別:正常消息:Content='你好騷啊',大家留意一下MsgId='8784390488772995470'

微信消息被撤回看不見(jiàn)?一招教你防撤回

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

微信消息被撤回看不見(jiàn)?一招教你防撤回

我們?cè)谙旅姘阉袷交纯?/p>

<sysmsg type="revokemsg">
<revokemsg>
<session>xxx</session>
<oldmsgid>1090336364</oldmsgid>
<msgid>8784390488772995470</msgid>
<replacemsg><![CDATA["豬哥" 撤回了一條消息]]></replacemsg>
</revokemsg></sysmsg>

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

2.找到被撤回消息

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

微信消息被撤回看不見(jiàn)?一招教你防撤回

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

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

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

msg.forward(bot.file_helper)
4.代碼

原理和過(guò)程講完了,代碼貼出來(lái)給大家看看,注釋還是比較詳細(xì),有不懂得話可以在學(xué)習(xí)群中問(wèn)我。

微信消息被撤回看不見(jiàn)?一招教你防撤回

四、功能驗(yàn)證微信消息被撤回看不見(jiàn)?一招教你防撤回

五、總結(jié)

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

工程文件可私信索取

推薦內(nèi)容