導包效果展示
以下截圖顯示的撤回消息類型依次是文字消息、微信自帶表情、圖片、語音、定位地圖、名片、公眾號文章、音樂、視頻。有群里撤回的,也有個人號撤回的。
圖文來源:http://kks.me/aULmF
圖文來源:http://kks.me/aULmF
程序思路
主要由兩部分組成:
handler_receive_msg():處理接收到的消息,將消息臨時放在字典中。
send_msg_helper():將撤回的消息自動發給文件傳輸助手。
程序分析
首先,我們定義一個字典來儲存消息,定義消息儲存的臨時路徑。
接收信息處理
先將我們需要處理的消息用 msg_register 裝飾器進行注冊,格式化本地時間,定義消息 ID 和消息時間。如果是群成員而且是自己微信好友撤回消息,則顯示撤回消息的名稱是你備注的名字,如果沒有備注名字,則顯示名稱為微信昵稱。
獲取你的所有群的消息,判斷出撤回的消息來自哪個群,顯示出群名稱。
個人消息處理
如果為個人聊天信息,也是優先顯示備注名稱,沒有備注名就顯示昵稱。
各類型消息處理
用判斷語句對各種類型的消息進行處理,包括文字消息、微信自帶的表情和收藏的表情、圖片、語音、位置、名片、分享、附件、視頻。多條件時這里用了 in 的用法,還記得之前講Python 優雅的寫法文章里把用 or 連接條件改成用 in,代碼更簡潔,這樣我們通過項目不斷的鞏固之前學到的知識點,這樣才能不斷進步。
更新信息字典
處理撤回消息
先判斷是否是撤回消息,將撤回消息發送到你的文件傳輸助手里,把上面函數儲存的消息的發送人、發送類型、發送時間、撤回的內容發出來。以下是部分代碼。
主函數
如果你電腦中有安裝 Python 環境,在編輯器中直接運行源碼或者在 cmd 中運行 py 文件即可。源碼獲取方式在文末給出。有需要的話以后可以做成界面化工具,掛在服務器上,支持做成界面化工具的點個贊看看,我看看需求量,哈哈。
寫在最后
今天的分享就到這里了,需要優化的地方:撤回的視頻只支持查看微信自帶拍的視頻,非微信自帶拍的視頻打開無法查看。長時間運行時會報 ConnectionError 提示的錯誤,但是不影響發送撤回消息的功能,后期加個異常捕捉機制優化下。
以上所述是小編給大家介紹的Python 實現還原已撤回的微信消息,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
