专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
51好读  ›  专栏  ›  马哥Linux运维

Python如何实现微信群万人同步直播?

马哥Linux运维  · 公众号  · 运维  · 2019-12-16 21:00

正文

请到「今天看啥」查看全文


二、功能设计

如何做多群直播呢?简单的就是用机器人做二级转发:

  1. 新建一个直播主讲群

  2. 将三个机器人和主讲人拉进群里

  3. 主讲人发到群里的消息机器人都自动转发到群里

  4. 机器人转发完毕后在主讲群回复

  5. 继续发消息


为了大家便于理解,猪哥画了一个简单的设计图:

根据上图设计,我们这次功能设计有5个主要元素: 主讲群、主讲人、转发群、 机器人 、机器人管理员

三、功能实现

1.加载直播信息

根据上面的设计图,我们得知首先需要一个 直播主讲群 ,然后直播群里个 主讲人 ,然后还需要加载需要转发的 转发群

这些信息我们都可以在写在一个配置文件里面。

然后我们在机器人启动的时候,调用加载配置文件的方法,而加载配置文件的方法又去调用加载直播信息的方法!

首先是加载机器人管理员,然后在方法中间去调用加载群信息的方法!

下面是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开启群直播失败!'






请到「今天看啥」查看全文