1. 程式人生 > >itchat發送微信文本消息、文件等【python】

itchat發送微信文本消息、文件等【python】

不用 san color 開啟 直接 別人 功能 hot RoCE

前言

Itchat是一個開源的微信個人接口。使用python調用itchatAPI,可以完成一個能夠處理所有信息的微信機器人。比如說你可以寫python,利用itchat,去搜索特定的人,然後向這個人發送消息、圖片、視頻、附件等等。

應用場景

在做自動化測試框架時,往往如果有case沒有通過時,一般都會發郵件,或者發送短信進行通知相關人員。因為微信畢竟是現在非常主流的社交工具。如果在case有失敗的情況下,如果能通過微信發送信息到相關人,豈不是更好。如果能把自動化運行的報告,最為附件發送給相應人員,那就更加perfect了。

沖著這2點(1是發微信文本消息,2是發微信附件),就是我想了解itchat的原因。

參考

這是網上找的資料。(我只是看了第1個,第2個,第3個)

1. https://www.cnblogs.com/chenbei-blog/p/7799352.html

這個比較適合入門看,基本上看這裏,就夠用了。

2. http://itchat.readthedocs.io/zh/latest

這裏面講的更全面一點,當然也稍微難一點。

3. http://itchat.readthedocs.io/zh/latest/api/

這裏面列舉了itchat的所有API。有需求,就可以在這裏直接找你需要的API

4. http://python.jobbole.com/86532/

這篇文章,我只是瞄了一眼,沒有細看。貌似有寫很意思的功能,如群發助手、

好友刪除檢測。哈哈哈,以後有時間、有需求,再看。

5. https://www.cnblogs.com/Chenjiabing/p/6907397.html

這個文章的筆記,整理的比較細和全面。

發送文本消息《itchat-發送消息.py

技術分享圖片

如何發送文本附件《itchat-發送附件.py

技術分享圖片

如果需要發送附件的話,就是這麽簡單,幾行代碼就搞定了。

遺留問題:登錄需要掃二維碼

遺留問題:登錄需要掃二維碼

到這裏,利用itchat,在python中發送文本消息、以及附件那時相當簡單,只有幾行代碼。

但是這裏有個比較悲催的問題:登錄。

Itchat提供了2個登錄的方法,login()auto_login()

2個方法都

會通過微信掃描二維碼登錄,但是這種登錄的方式確實短時間的登錄,並不會保留登錄的狀態,也就是下次登錄時還是需要掃描二維碼。

auto_login()方法,如果加上hotReload==True。下面是官網的截圖說明。

技術分享圖片

所以它這麽說,如果程序關閉,那麽在短時間內重新啟動程序可以不用重新掃碼(但是有可能在手機上會彈出提示,讓你確認登錄。就像在PC上登錄網頁版,會在手機上彈出確認登錄的提示一樣)。那麽如果程序不關閉一直運行著,就不用重新掃碼。

但是考慮到自動化測試的可持續集成,我可能定時每隔30分鐘運行一次。但是30分鐘以後,又要進行掃碼,這個很顯然是不現實的。上面官方說,一定時間內開啟,不需要重新掃碼,但是沒有說清楚,這個一定時間到底是多久。

我嘗試去找用戶名、密碼的登錄方式,但是沒有找到。我只找到了login()auto_login()兩個方法。希望itchat以後,可以有密碼的登錄方式。或者由於我的原因沒找到這個方式,歡迎告訴我。

登錄的API官方說明

下面是這2API的官方說明:

技術分享圖片

技術分享圖片


代碼

這裏都是我從資料中找的代碼,簡單練了練手。這邊把他截圖出來。

itchat-發送微信消息提醒【偏基礎】.py

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

itchat-用戶搜索.py

這裏就不截圖了,上面《itchat-發送微信消息提醒【偏基礎】.py》中已經包括了。

itchat-發送消息.py

這裏就不截圖了,上面已有。

itchat-發送附件.py

這裏就不截圖了,上面已有。

itchat-各類型消息的註冊.py

技術分享圖片

技術分享圖片

itchat-獲取別人發給我的信息,並自動回復.py

技術分享圖片

itchat-退出及登陸完成後調用特定方法.py

技術分享圖片

擴展

在官方網站上,還有一個圖靈機器人的交互的例子,好像蠻有意思的。以後空了,可以看看。

http://itchat.readthedocs.io/zh/latest/tutorial/tutorial0/

技術分享圖片

itchat發送微信文本消息、文件等【python】