1. 程式人生 > >給“微信群”發送消息

給“微信群”發送消息

src block 指定 alt date lec 好友 微信接口 code

在微信群裏面,“刷屏”的行為是被譴責的。那如果小程硬是要做到“刷屏”的話,有什麽辦法嗎?

顯然,靠快速打字是不現實的,用程序來實現才靠譜。

本文介紹如何用程序發送消息到微信群。

參考網頁微信的功能,很自然的一個想法就是調用網頁微信的接口來實現這個功能。

那麽,有沒有現成的項目已經實現了對微信接口的封裝了呢?

itchat,這是一個開源的python項目,封裝了微信接口。通過它,可以實現收發消息、分析好友數據等等有興趣的事情。

所以,小程就用它來實現消息的發送。

(1)itchat的安裝

itchat在github的地址是這個:<https://github.com/littlecodersh/ItChat/tree/robot>

讀者感興趣的話,可以clone下來研究一下:

git clone https://github.com/littlecodersh/ItChat.git

它的目錄結構大概是這樣的:
技術分享圖片

但小程是沖著“使用”而來的,所以,只要安裝好就行。

安裝itchat:

sudo pip install itchat

(2)實現發送消息到群

itchat,使用了網頁微信的接口,在做所有事之前,先要登陸微信:

itchat.auto_login(hotReload=True)

hotRelad參數寫為True,表示使用熱登陸,在一定的時間內不需要重新掃碼登陸。

rooms = itchat.get_chatrooms(update=True)

rooms = itchat.search_chatrooms(gname)

第一句是拿到所有微信群,第二句是搜索指定名稱的微信群(模糊搜索),這兩個函數都返回微信群列表。

微信群的列表,大概是這樣的:
技術分享圖片

列表中的每一個元素都是一個Chatroom(一個字典),而每一個Chatroom都有一個UserName,可以給這個UserName發送消息。

itchat.send(msg, toUserName=username)

這個是發送消息的函數,msg為文本消息,toUserName表示往哪裏發送,如果不指定就是發給自己(filehelper)。

小程給出大概的代碼,裏面有兩個函數,一個是發消息到特定的微信群,一個是發消息到所有的微信群。程序運行的效果也通過了小程的測試。

技術分享圖片

如果要做到“刷屏”,只需要循環發送消息即可。


總結一下,本文主要是itchat項目的調用,使用它提供的幾個函數,實現在電腦上發送消息到微信群的功能。操作簡單,難度為低。

給“微信群”發送消息