**
首先宣告,這絕不是接鍋,只是因為防撤回的原作者(fkzhang)不更新了,而我又非常需要防撤回,某些開車群總是喜歡開後撤回,於是...
看起來是不是覺得很亂並且看不出邏輯?沒關係,我們在這裡需要做的只是取出資料而已,一開始的邏輯很明確的告訴了我們,如果str
變數的值是revokemsg
,那麼就會走下面真實的撤回的**。
好了,那麼繼續分析**,首先要知道str
變數的值是怎麼來的,往上翻一下可以看到以下**:
很明顯我們應當跟蹤bf.q
這個方法,看一下這個方法裡做了什麼:
好了,裡頭邏輯做了些啥不需要管了,只需要管它的返回值,結合上面的**,我們很容易能知道,在這個返回的map
內包含以下資料:
.sysmsg.$type = revokemsg
.sysmsg
.revokemsg
.session = 傳送訊息的人
.sysmsg
.revokemsg
.replacemsg = 原始訊息要替換的文字(也就是『xx撤回了一條訊息』)
.sysmsg
.revokemsg
.newmsgid = 訊息id
那麼,只需要將.sysmsg.$type
和.sysmsg.revokemsg.replacemsg
的內容改掉就行了,把這個過程變成以下步驟:
1. 修改 .sysmsg.$type 為 null,以使其不觸發 update 資料庫的流程
2. 將 .sysmsg
.revokemsg
.replacemsg 的內容改為『撤回被阻止』
3. 將被改寫過的資料寫入資料庫
下面的**完成了這一系列步驟:
這樣就可以得到乙個資料庫物件,凡是遇到資料庫操作,都可以從這個物件裡進行方法的呼叫。
微信開發 1 微信防撤回功能實現
先貼上知乎原帖 實現思路,將接收到的訊息都存進乙個字典 msg dict 接收到撤回通知時,提取撤回訊息的id,從字典中進行比對,然後傳送 儲存。那麼字典能放得下那麼多訊息嗎?當接收到新訊息時,執行函式對字典中超過兩分鐘的訊息進行清理 兩分鐘內訊息不會很多 原主談過的我就不談了。談幾點實現的注意點 ...
python實現檢視微信訊息撤回
娛樂 windows系統 2.安裝成功之後,進入pip3.exe所在的目錄 安裝itchat pip3.exe install itchat 下圖我的已經安裝過了 注意 使用3以及以上版本執行 3.開啟cmd拖入按回車就好了 建乙個wx.py檔案,以下 匯入 encoding utf 8 impor...
itchat監聽微信撤回訊息
import itchat from itchat.content import import remsg infomation 監聽傳送訊息 itchat.msg register text defhandle receive msg msg print msg msg from itchat.s...