亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么實現微信群萬人同步直播

發布時間:2021-11-19 15:17:15 來源:億速云 閱讀:156 作者:iii 欄目:編程語言

本篇內容主要講解“Python怎么實現微信群萬人同步直播”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python怎么實現微信群萬人同步直播”吧!

一、背景介紹

需求很簡單:能做到24個微信大群(共萬人)同步轉發就可以!

相信很多公司企業也會有同樣的需求吧!

Python怎么實現微信群萬人同步直播

二、功能設計

如何做多群直播呢?簡單的就是用機器人做二級轉發:

  1.  新建一個直播主講群

  2.  將三個機器人和主講人拉進群里

  3.  主講人發到群里的消息機器人都自動轉發到群里

  4.  機器人轉發完畢后在主講群回復

  5.  繼續發消息

為了大家便于理解,豬哥畫了一個簡單的設計圖:

Python怎么實現微信群萬人同步直播

根據上圖設計,我們這次功能設計有4個主要元素:主講群、主講人、轉發群、機器人管理員。

三、功能實現

1.加載直播4個元素

根據上面的設計圖,我們得知首先需要一個直播主講群,然后直播群里個主講人,然后還需要加載需要轉發的轉發群。

這些信息我們都可以在寫在一個配置文件里面。

Python怎么實現微信群萬人同步直播

然后我們在機器人啟動的時候,調用加載配置文件的方法,而加載配置文件的方法又去調用加載直播信息的方法!

Python怎么實現微信群萬人同步直播

首先是加載機器人管理員,然后在方法中間去調用加載群信息的方法!

Python怎么實現微信群萬人同步直播

下面是load_live方法的詳細代碼,主要做三件事:加載主講群、檢查主講群里是否有主講人、加載直播群。

def load_live(bot):      """加載直播需要的群"""      # 設置開關      bot.is_live_mode = config.is_live_mode      if not bot.is_live_mode:          return '\n未開啟直播模式,可在 config.py 文件中將 is_live_mode 設置為True開啟!'      live_status_detail = ''      # 1、加載主講群      live_group = bot.groups().search(config.live_group)      if len(live_group) < 1:          bot.live_group = None          bot.is_live_mode = False          return f'\n主講群:未找到群名包含「{config.live_group}」的主講群!\n開啟群直播失敗!\n\n可在主講群中發任意消息,然后管理員使用命令:開啟群直播模式,從新加載直播信息!'      elif len(live_group) > 1:          bot.live_group = live_group[0]          live_status_detail += f'\n主講群:找到多個群名包含「{config.live_group}」的主講群,默認選取第一個群({live_group[0]})作為主講群!'      else:          bot.live_group = live_group[0]      # 2、加載主講人      live_group_members = bot.live_group.members      for member in live_group_members:          if member.name == config.live_speaker:              live_status_detail += f'\n主講人:「{config.live_speaker}」'              bot.live_speaker = config.live_speaker              break      else:          live_status_detail += f'\n主講人:主講群內未找到主講人「{config.live_speaker}」。\n開啟群直播失敗!'          bot.is_live_mode = False          return live_status_detail      # 3、加載轉發群      forward_groups = search_groups(bot, config.forward_groups)      bot.forward_groups = forward_groups      live_status_detail += f'\n轉發群:消息將會轉發至這些群:{str(forward_groups)},共{len(forward_groups)}個。\n\n如有遺漏可在這些群中發任意消息,然后管理員使用命令:開啟群直播模式,從新加載直播信息!'      return live_status_detail

這里我們就加載完了直播需要的4個要素:機器人管理員、主講群、主講人、轉發群。

2.實現轉發消息

所需要的信息都加載完畢之后,我們就可以來開始做轉發了。

大概的思路是:

  1.  定義一個接收群消息的方法

  2.  接收到群消息就判斷這條消息需不需要轉發,判斷條件是:開啟直播模式+當前消息是主講群內的+發消息的人是主講人

  3.  如果滿足上訴三個條件,則將消息轉發到群里

  4.  轉發完畢在主講群內回復:一轉發完畢,這時主講人就可以講下一句話

我們來看看代碼吧!

Python怎么實現微信群萬人同步直播

我們再來看看wx_command.remote_forward(msg)的具體代碼吧!

def remote_forward(msg):      """轉發消息"""      forward_groups = []      for group in msg.bot.forward_groups:          msg.forward(group, suffix='')          forward_groups.append(group.name)          time.sleep(random.random())      return forward_groups

這個方法很簡單,循環遍歷需要轉發的群,然后一個一個發送,發送完畢后有一個一秒以內的隨機停頓,這是為了防止消息發送過于頻繁導致消息發不出去。

這里關于多群轉發的代碼就完成了,下面我們就可以開始測試了。

四、測試

1.測試流程

代碼寫完我們就可以開始測試了,測試的整體思路就是:

  •  新建一個主講群,然后將機器人和主講人拉進去

  •  新建 24個測試群,把機器人拉進去

  •  啟動項目,讓機器人進入直播模式

  •  主講人在群里模擬真實的直播,注意控制直播速度

  •  直播完畢,關閉機器人

2.一個機器人轉發24個群

豬哥在最開始的時候是想的是:用一個機器人,然后轉發到24個群里,配置文件大概是這樣:

Python怎么實現微信群萬人同步直播

但是發現這樣會導致消息發不出去,微信提示消息發送過于頻繁。

Python怎么實現微信群萬人同步直播

消息怎么發都發不出去,到這里豬哥幾乎要放棄了,以為不能多群轉發呢。

3.三個微信轉發24個群

豬哥就去網上看看有沒有免費的轉發軟件,然后看了看wetools(一款基于windows的微信運營工具),發現他們付費版的一個微信最多也就可以轉發9個群。

于是豬哥猜想是不是一個微信最多只能轉發9個群呢?那我用三個微信做轉發不就可以嗎?

Python怎么實現微信群萬人同步直播

上面的配置文件意味著我需要啟動三次程序,換三個微信,然后每次更換forward_groups配置。

很多同學還不知道:PyCharm一個項目如何做到同時多次運行?

Python怎么實現微信群萬人同步直播

Python怎么實現微信群萬人同步直播

Python怎么實現微信群萬人同步直播

用三個微信轉發24個微信群,看起來是個不錯的想法,實踐起來是不是可以成功呢?

Python怎么實現微信群萬人同步直播

本次直播測試差不多播了30分鐘,完全正確的運行無消息丟失和機器人掉線。

期間發送過:文字、圖片、文件、語音。

五、實際直播

24個微信大群同步直播,說實話之前很少有一個人能完成的,我咨詢了很多以前做過群直播的同行,他們基本都是人工復制的方式。

但是,直播前一天順利測試,給了豬哥很大的信心!

實際直播的流程大概是:

  1.  提前幾個小時修改公告發布晚上群直播消息

  2.  禁止拉新人入群,防止拉發廣告的進來

  3.  提前半小時打卡,直播結束后隨機踢出幾名未打卡占坑的群成員

  4.  直播前5分鐘停止打卡,開始準備直播

  5.  晚20:00準時開始直播

  6.  大概20:40直播結束,收集大家反饋意見

六、遇到的問題

其實直播的代碼很簡單,也不多,但是因為群多,用戶體量大所以難免會遇到很多問題,下面豬哥就總結一下遇到的問題:

  1.  最大轉發群數問題:最開始豬哥想的是只用一個機器人轉發到24個群里,但是消息發不出去,被提示消息過于頻繁,最后是看到wetools上他們的最大轉發群數是9個,所以才考慮到使用三個微信,每個轉發8個群。

    2.  轉發模式問題:之前是一個機器人,主講人直接發給轉發機器人,后來變成三個機器人,如何發送消息給三個機器人呢?在朋友的提示下采用了主講群轉發模式。

    3.  加載不到群問題:有時候啟動項目后會加載不到你想要的群,這時候需要在群里發送任意消息,再重新開啟直播模式,就可以了,切記!切記!

    4.  在實際直播中有個機器人掉線問題:測試過程中未出現機器人掉線,但在實際直播中出現過一次,重新登錄這個機器人就好了。

    5.  很多微信都不能登錄網頁版微信:這個確實很頭疼,找幾個能登錄網頁版的還真不好找。

當然上面講述的都是一些技術上的問題,關于直播過程中出現的操作問題,比如:停止打卡后仍然有人打卡影響閱讀、直播速度過快、內容不夠淺顯等問題就不一一列出了,如果你想詳細了解這些細節可以加豬哥微信了解。

到此,相信大家對“Python怎么實現微信群萬人同步直播”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴国县| 新密市| 新建县| 木兰县| 九江县| 兴隆县| 台江县| 昌江| 新竹县| 禹城市| 建宁县| 阳西县| 五莲县| 南漳县| 黄石市| 兰州市| 子长县| 额尔古纳市| 浦城县| 西充县| 新宾| 达尔| 宿松县| 颍上县| 新建县| 桓台县| 鄢陵县| 芜湖市| 尉氏县| 阳谷县| 库伦旗| 赤城县| 仙居县| 朝阳区| 阿坝| 武乡县| 兰西县| 随州市| 文昌市| 绍兴县| 柳州市|