Python最新版還原VX撤回消息教程!這波你給幾分?

来源:https://www.cnblogs.com/PY08523/archive/2018/09/14/9648854.html
-Advertisement-
Play Games

一大早醒來,發現女神昨晚發來三條消息,但是顯示都已撤回,OMG,我錯過了什麼?群里有一個漂亮妹紙的爆照照片撤回了,想看又看不到!群里大佬分享的經典語錄被撤回了,感覺錯過一個億!怎麼辦?用無所不能的 Python 就可以將這些撤回的消息發給你的微信,讓你從此走上人生巔峰 項目環境 語言:Python3 ...


一大早醒來,發現女神昨晚發來三條消息,但是顯示都已撤回,OMG,我錯過了什麼?群里有一個漂亮妹紙的爆照照片撤回了,想看又看不到!群里大佬分享的經典語錄被撤回了,感覺錯過一個億!怎麼辦?用無所不能的 Python 就可以將這些撤回的消息發給你的微信,讓你從此走上人生巔峰

項目環境

語言:Python3

編輯器:Pycharm

導包

itchat:控制微信的第三方庫

這個庫相信大家不陌生了,之前寫的 Python 機器人陪你聊天 Python 定時給女神發早安 兩篇文章里用的 wxpy 庫就是在 itchat 庫的基礎上封裝的。

Python很容易學!小編有弄一個交流,互問互答,資源共用的交流學習基地,如果你也是Python的學習者或者大牛都歡迎你來!㪊:548+377+875!一起 學習共同進步!

效果展示

以下截圖顯示的撤回消息類型依次是文字消息、微信自帶表情、圖片、語音、定位地圖、名片、公眾號文章、音樂、視頻。有群里撤回的,也有個人號撤回的。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

程式思路

 

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

主要由兩部分組成:

handler_receive_msg():處理接收到的消息,將消息臨時放在字典中。

send_msg_helper():將撤回的消息自動發給文件傳輸助手。

程式分析

首先,我們定義一個字典來儲存消息,定義消息儲存的臨時路徑。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

接收信息處理

先將我們需要處理的消息用 msg_register 裝飾器進行註冊,格式化本地時間,定義消息 ID 和消息時間。如果是群成員而且是自己微信好友撤回消息,則顯示撤回消息的名稱是你備註的名字,如果沒有備註名字,則顯示名稱為微信昵稱。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

獲取你的所有群的消息,判斷出撤回的消息來自哪個群,顯示出群名稱。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

個人消息處理

如果為個人聊天信息,也是優先顯示備註名稱,沒有備註名就顯示昵稱。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

各類型消息處理

用判斷語句對各種類型的消息進行處理,包括文字消息、微信自帶的表情和收藏的表情、圖片、語音、位置、名片、分享、附件、視頻。多條件時這裡用了 in 的用法,還記得之前講 Python 優雅的寫法 文章里把用 or 連接條件改成用 in,代碼更簡潔,這樣我們通過項目不斷的鞏固之前學到的知識點,這樣才能不斷進步。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

更新信息字典

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

處理撤回消息

先判斷是否是撤回消息,將撤回消息發送到你的文件傳輸助手裡,把上面函數儲存的消息的發送人、發送類型、發送時間、撤回的內容發出來。以下是部分代碼。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

主函數

最後用主函數執行微信的登錄和運行。第一次需要掃碼登錄微信,登錄時加上 hotReload 參數,為 True 時,短時間內再次運行會保存上次微信的登錄態,不需要再次掃碼登錄。

if __name__ == '__main__':
itchat.auto_login(hotReload=True)
itchat.run()

如果你電腦中有安裝 Python 環境,在編輯器中直接運行源碼或者在 cmd 中運行 py 文件即可。源碼獲取方式在文末給出。有需要的話以後可以做成界面化工具,掛在伺服器上,支持做成界面化工具的點個贊

看看,我看看需求量,哈哈。

Python最新版還原VX撤回消息教程!這波你給幾分?

 

 

寫在最後

今天的分享就到這裡了,需要優化的地方:撤回的視頻只支持查看微信自帶拍的視頻,非微信自帶拍的視頻打開無法查看。長時間運行時會報 ConnectionError 提示的錯誤,但是不影響發送撤回消息的功能,後期加個異常捕捉機制優化下。

趕緊動手試試吧,把你朋友撤回的消息發給 TA 看看,看看他是什麼反應,有趣的撤回消息發到朋友圈去提高逼格,奈斯!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 問題:如下圖,在百度編輯器中插入視頻,視頻網址可以識別,但是提交內容後視頻卻顯示不了。 解決:這個問題主要是編輯器中會過濾一些html標簽,所以可以給標簽添加白名單。 修改 ueditor.config.js 文件: 修改: img: ['src', 'alt', 'title', 'width', ...
  • Idea Live Template總結 [TOC] live template是idea中提高效率的利器之一,以前看過一些教程,平時經常在使用,減少了我很多繁複的工作,但是沒有系統的去整理過,最近準備系統的整理下,主要是自己平時用到的和官方文檔的說明,如果有不正確的地方。 定義 : Live te ...
  • Github項目鏈接 一、項目簡介 該項目是一個常見的工具,它能統計文本文件的字元數、單詞數和行數。這個項目要求寫一個命令行程式,模仿已有wc.exe 的功能,並加以擴充,實現一個統計程式,它能正確統計程式文件中的字元數、單詞數、行數,以及還具備其他擴展功能,並能夠快速地處理多個文件。 二、項目實現 ...
  • Go學習 Go語言優勢 可直接編譯成機器碼,不依賴其他庫。 靜態類型語言 語言層面支持併發 內置runtime,支持垃圾回收 簡單易學,Go語言的作者都有C的基因,那麼Go自然而然就有了C的基因,那麼Go關鍵字是25個,但是表達能力很強大,幾乎支持大多數其他語言見過的特性:繼承、重載、對象等 豐富的 ...
  • WC軟體工程項目JAVA實現博客 github地址:https://github.com/liudaohu/myrepository.git 功能實現 · -w 統計單詞數 -c 統計字元數 -l 統計行數 -a 統計複雜數據 -s 遞歸處理 -v 可視化視窗 ...
  • 利用ZYNQ驗證演算法的一大優勢在於,可以在上位機發送指令藉助CPU的控制能力和C語言易開發特點,實時配置演算法模塊的工作模式、參數等對來對其演算法模塊性能進行全面的評估。最重要的是無需重新綜合硬體模塊。 接著上篇該系列博文,在sysGen中設計模塊功能為:根據模式選擇輸入,來完成乘2或除2兩種運算,0乘 ...
  • 基於PHP的數據爬取 [官方網站站點][1] 簡單、 靈活、強大的PHP採集工具,讓採集更簡單一點。 簡介: QueryList使用jQuery選擇器來做採集,讓你告別複雜的正則表達式;QueryList具有jQuery一樣的DOM操作能力、Http網路操作能力、亂碼解決能力、內容過濾能力以及可擴展 ...
  • __reversed__ 返回集合的倒敘迭代器,如果沒有實現這個方法,reversed()會去使用__getitem__和__len__來實現介紹__next__和 __iter__方法需要瞭解下可迭代對象(iterable)和迭代器(iterator): 標準的迭代器都有兩個方法__next__和 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...