我们来看看代码吧
我们再来看看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个群里,配置文件大概是这样:
但是发现这样会导致消息发不出去,微信提示消息发送过于频繁。
消息怎么发都发不出去,到这里猪哥几乎要放弃了,以为不能多群转发呢。 3.三个微信转发24个群
猪哥就去网上看看有没有免费的转发软件,然后看了看wetools(一款基于windows的微信运营工具),发现他们付费版的一个微信最多也就可以转发9个群。
于是猪哥猜想是不是一个微信最多只能转发9个群呢?那我用三个微信做转发不就可以吗?
上面的配置文件意味着我需要启动三次程序,换三个微信,然后每次更换forward_groups配置。
很多同学还不知道:PyCharm一个项目如何做到同时多次运行?
用三个微信转发24个微信群,看起来是个不错的想法,实践起来是不是可以成功呢?
本次直播测试差不多播了30分钟,完全正确的运行无消息丢失和机器人掉线。
期间发送过:文字、图片、文件、语音。
五、实际直播24个微信大群同步直播,说实话之前很少有一个人能完成的,我咨询了很多以前做过群直播的同行,他们基本都是人工复制的方式。
但是,直播前一天顺利测试,给了猪哥很大的信心!
实际直播的流程大概是:
提前几个小时修改公告发布晚上群直播消息
禁止拉新人入群,防止拉发广告的进来
提前半小时打卡,直播结束后随机踢出几名未打卡占坑的群成员
直播前5分钟停止打卡,开始准备直播
晚20:00准时开始直播
大概20:40直播结束,收集大家反馈意见