轉載自:裸睡的豬
ID:IT–Pig
隨著微信社交的興起,我們加入的群也越來越多,一個不經意就被拉入好幾個群,群是大家協同交流的平臺,但是微信群卻越來越泛濫,不知道大家有沒有統計過自己浪費在毫無營養的群中的時間?
因為群質量太低或者群太吵的原因我們往往會將群設定為勿擾樣式,而這樣又有可能會錯過一些自己比較關註的人發的訊息,比如女神、老闆、和產品狗。。。
為瞭解決這個痛點,豬哥今天帶大家一起來看看如何用python開發一個可以監聽老闆群聊的機器人。
一、需求分析
1.女神在聊什麼
你可能暗戀公司的某個妹子已久,她的人緣很好常常會在公司群裡和大家聊天,所以你一直關註著希望能投其所好,或者產生共鳴,但是作為程式員的你卻每天忙成狗,該怎麼辦?
2.老闆有什麼指示
在公司大群裡,也許老闆今天心情買了一些水果犒勞大家,然後在群裡說:前臺有水果,結果等你看到群訊息時,前臺只剩下妹子了。為什麼吃零食總沒有你的份?
3.又要改需求
你好不容易實現了一個功能,結果產品驗收不透過,產品經理說已經在專案群裡和你說了並且@了你,但是你沉醉於實現功能忘了看。看來今晚又得加班改需求了,心好累怎麼辦?
二、功能設計
鑒於上面的需求分析,我們來設計一下功能:我們希望在某些群中監聽某些人的講話,如果他說話了不管發了什麼,都會被記錄下來,最好是能發到微信上這樣更方便檢視。
三、功能實現
上期為大家詳細介紹了如何用Python建立一個微信機器人與好友聊天功能,今天我們會用wxpy
庫來一些群聊相關的功能!
1.接收群訊息
上次我們實現使用機器人與好友聊天只是實現了接收好友訊息,那如何接收群訊息呢?請看下圖
這樣我們就接收到群訊息了,也可以將機器人引入到群中,讓大家調戲。
2.過濾有用群訊息
能接收到群訊息之後,我們如何過濾我們需要的訊息呢?這裡我們可以在接收到群訊息後比較下這個群是不是我們需要監聽的群,然後再比較當前訊息傳送者在不在我們要監聽的物件中,如果兩者都滿足便實現了訊息過濾。
在配置檔案中指定需要監聽人的名稱(最好是備註名,防止微信暱稱重名)和需要監聽的群
根據配置需要監聽的群和人去過濾群訊息
3.轉發有用群訊息
在我們拿到有用群訊息後,我們如何儲存這些資訊呢?有很多種儲存資訊的方式,你可以存檔案,存資料庫,也可以選擇轉發。這裡豬哥就選擇將資訊轉發,這樣有幾個優點:簡單、實時、永久儲存。
那轉發給誰?你可以轉發到指定好友或者檔案助手都行,在豬哥的程式碼中是轉發到機器人管理員那裡,如果你沒有設定管理員那麼就轉發到檔案助手中。
管理員設定技巧:如果你用小號登入機器人,那麼你可以設定你的大號為管理員;如果你沒有小號用自己的大號登入,那這個你就空著預設就設定檔案助手為管理員,相關資訊傳送至你的檔案助手中。
四、功能演示
五、總結
目前微信機器人第二階段開發完成,本次不僅僅新增監聽樣式
,還新增了以下以下一些功能:
- 機器人群聊:讓機器人加入群聊,讓更多的人來撩~
- 轉發樣式:可將老闆重要指示轉發至其他群
- 監控樣式:監控群中別人發的分享,這樣就可以第一時間發現是否有人在群中發廣告
- 管理員:指定管理員後可以遠端控制機器人的各個開關
大家可以根據自己的日常需求來自由發揮,個性化機器人哦~
Github專案地址:https://github.com/pig6/wxrobot(或點選閱讀原文)
wxpy官方檔案:https://wxpy.readthedocs.io/zh/latest
程式碼下載後可以直接執行,不需要修改,最後再送大家一張wxpy
速查表!
朋友會在“發現-看一看”看到你“在看”的內容