Python如何实现24个微信大群(共万人)同步转发直播?
很多人傳言微信網頁版(https://wx.qq.com/)接口已經被封了,所以所有的微信都不能登錄網頁版,這是錯誤的。
2019年7月微信對網頁版微信進行了動態安全策略調整,導致一大批微信號不能登錄網頁版,但有些微信老號還是可以登錄網頁版的,具體哪些微信號可以登錄哪些又不能登錄,這個目前暫不了解!
微信機器人項目我們之前已經寫過四篇了:
今天我們來學習微信機器人系列的第五篇:多群轉發做同步圖文直播!
一、背景介紹
豬哥一年前在建Python學習群的時候就說過,要邀請企業大佬來學習群做直播。
其實文章早就寫好了,但是一直沒有找到好的轉發軟件,所以耽擱了幾個月。
最近豬哥感覺不能再拖了,所以就考慮自己開發一個多群直播項目,使用原來我們做的微信機器人項目。
需求很簡單:能做到24個微信大群(共萬人)同步轉發就可以!
相信很多公司企業也會有同樣的需求吧!
二、功能設計
如何做多群直播呢?簡單的就是用機器人做二級轉發:
為了大家便于理解,豬哥畫了一個簡單的設計圖:
根據上圖設計,我們這次功能設計有4個主要元素:主講群、主講人、轉發群、機器人管理員。
三、功能實現
1.加載直播4個元素
根據上面的設計圖,我們得知首先需要一個直播主講群,然后直播群里個主講人,然后還需要加載需要轉發的轉發群。
這些信息我們都可以在寫在一個配置文件里面。
然后我們在機器人啟動的時候,調用加載配置文件的方法,而加載配置文件的方法又去調用加載直播信息的方法!
首先是加載機器人管理員,然后在方法中間去調用加載群信息的方法!
下面是load_live方法的詳細代碼,主要做三件事:加載主講群、檢查主講群里是否有主講人、加載直播群。
這里我們就加載完了直播需要的4個要素:機器人管理員、主講群、主講人、轉發群。
2.實現轉發消息
所需要的信息都加載完畢之后,我們就可以來開始做轉發了。
大概的思路是:
我們來看看代碼吧
我們再來看看**wx_command.remote_forward(msg)**的具體代碼吧!
這個方法很簡單,循環遍歷需要轉發的群,然后一個一個發送,發送完畢后有一個一秒以內的隨機停頓,這是為了防止消息發送過于頻繁導致消息發不出去。
這里關于多群轉發的代碼就完成了,下面我們就可以開始測試了。
四、測試
1.測試流程
代碼寫完我們就可以開始測試了,測試的整體思路就是:
2.一個機器人轉發24個群
豬哥在最開始的時候是想的是:用一個機器人,然后轉發到24個群里,配置文件大概是這樣:
但是發現這樣會導致消息發不出去,微信提示消息發送過于頻繁。
消息怎么發都發不出去,到這里豬哥幾乎要放棄了,以為不能多群轉發呢。
3.三個微信轉發24個群
豬哥就去網上看看有沒有免費的轉發軟件,然后看了看wetools(一款基于windows的微信運營工具),發現他們付費版的一個微信最多也就可以轉發9個群。
于是豬哥猜想是不是一個微信最多只能轉發9個群呢?那我用三個微信做轉發不就可以嗎?
上面的配置文件意味著我需要啟動三次程序,換三個微信,然后每次更換forward_groups配置。
很多同學還不知道:PyCharm一個項目如何做到同時多次運行?
用三個微信轉發24個微信群,看起來是個不錯的想法,實踐起來是不是可以成功呢?
本次直播測試差不多播了30分鐘,完全正確的運行無消息丟失和機器人掉線。
期間發送過:文字、圖片、文件、語音。
五、實際直播
24個微信大群同步直播,說實話之前很少有一個人能完成的,我咨詢了很多以前做過群直播的同行,他們基本都是人工復制的方式。
但是,直播前一天順利測試,給了豬哥很大的信心!
實際直播的流程大概是:
因為當時直播,忘記截圖24個群的未讀消息圖,只能找點聊天記錄截圖給大家看。
六、遇到的問題
其實直播的代碼很簡單,也不多,但是因為群多,用戶體量大所以難免會遇到很多問題,下面豬哥就總結一下遇到的問題:
當然上面講述的都是一些技術上的問題,關于直播過程中出現的操作問題,比如:停止打卡后仍然有人打卡影響閱讀、直播速度過快、內容不夠淺顯等問題就不一一列出了,如果你想詳細了解這些細節可以加豬哥微信了解。
七、總結
近些年,我們guo家慢慢由“中國制造”演變為“中國創造”,這是一件艱巨而振奮人心的事情。
對于我們做技術的也是如此,工作中很多Ctrl+C(V)操作,不正是我們理解的“制造”嘛!
將技術應用于生活,去解決出現的一些痛點和難題,創造一些有趣的事情,我認為這才是真正的技術創造!
在解決自己遇到的問題的同時也解決了別人的困難,也許這時,機遇正向你走來!
源碼:https://github.com/pig6/wxrobot/tree/live
總結
以上是生活随笔為你收集整理的Python如何实现24个微信大群(共万人)同步转发直播?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSON的使用场景及注意事项介绍
- 下一篇: 正则表达式引擎执行原理——从未如此清晰!