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

前言

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

image.png

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

image.png

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

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

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

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

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

 

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

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

 

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

image.png

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

 

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

 

 

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

登錄的API官方說明

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

image.png

image.png


代碼

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

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

image.png

image.png

image.png

image.png

image.png

itchat-用戶搜索.py

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

itchat-發送消息.py

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

itchat-發送附件.py

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

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

image.png

image.png

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

image.png

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

image.png

擴展

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

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

image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章