itchat發送微信文本消息、文件等【python】
Itchat是一個開源的微信個人接口。使用python調用itchat的API,可以完成一個能夠處理所有信息的微信機器人。比如說你可以寫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官方說明
下面是這2個API的官方說明:
代碼
這裏都是我從資料中找的代碼,簡單練了練手。這邊把他截圖出來。
《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】