非凡社群助手提供【社群管理裂变】【自动建群】【多群转播】【企业微信裂变营销 CRM 系统】【活码系统】【小程序开发】【公众号开发】【各类商城 SAAS】一站式服务,各类功能提供免费体验,满意付款,如您还有其他疑问请您添加微信 1003312430 方便咨询哦。
time.sleep(random.random())
用三个微信转发 24 个微信群,看起来是个不错的想法,实践起来是不是可以成功呢?
forward_groups=[]
原文链接:
3. 主讲人发到群里的消息机器人都自动转发到群里
根据上面的设计图,我们得知首先需要一个直播主讲群,然后直播群里个主讲人,然后还需要加载需要转发的转发群。
5. 很多微信都不能登录网页版微信:这个确实很头疼,找几个能登录网页版的还真不好找。
msg.forward(group, suffix='')
3.三个微信转发 24 个群
根据上图设计,我们这次功能设计有 4 个主要元素:主讲群、主讲人、转发群、机器人管理员。
相信很多公司企业也会有同样的需求吧!
forward_groups.append(group.name)
bot.is_live_mode=False
# 2、加载主讲人
1.
新建一个直播主讲群
在解决自己遇到的问题的同时也解决了别人的困难,也许这时,机遇正向你走来!
for group in msg.bot.forward_groups:
# 1、加载主讲群
def load_live(bot):
bot.live_group=None
很多同学还不知道:PyCharm 一个项目如何做到同时多次运行?
2. 转发模式问题:之前是一个机器人,主讲人直接发给转发机器人,后来变成三个机器人,如何发送消息给三个机器人呢?在朋友的提示下采用了主讲群转发模式。
live_group_members=bot.live_group.members
# 3、加载转发群
1.测试流程
live_status_detail +=f'\n 主讲人:「{config.live_speaker}」'
live_status_detail +=f'\n 主讲群:找到多个群名包含「{config.live_group}」的主讲群,默认选取第一个群({live_group[0]})作为主讲群!'
我们来看看代码吧!
def remote_forward(msg):
if member.name==config.live_speaker:
大概的思路是:
猪哥一年前在建 Python 学习群的时候就说过,要邀请企业大佬来学习群做直播。
新建一个主讲群,然后将机器人和主讲人拉进去新建 24 个测试群,把机器人拉进去启动项目,让机器人进入直播模式主讲人在群里模拟真实的直播,注意控制直播速度直播完毕,关闭机器人
live_group=bot.groups().search(config.live_group)
4. 转发完毕在主讲群内回复:一转发完毕,这时主讲人就可以讲下一句话
注:本文转自「CSDN 博客」
bot.live_group=live_group[0]
2. 将三个机器人和主讲人拉进群里
为了大家便于理解,猪哥画了一个简单的设计图:
return live_status_detail
所需要的信息都加载完毕之后,我们就可以来开始做转发了。
近些年,我们 guo 家慢慢由“中国制造”演变为“中国创造”,这是一件艰巨而振奋人心的事情。
5. 继续发消息
break
消息怎么发都发不出去,到这里猪哥几乎要放弃了,以为不能多群转发呢。
下面是 load_live 方法的详细代码,主要做三件事:加载主讲群、检查主讲群里是否有主讲人、加载直播群。
bot.forward_groups=forward_groups
这些信息我们都可以在写在一个配置文件里面。
"""加载直播需要的群"""
其实文章早就写好了,但是一直没有找到好的转发软件,所以耽搁了几个月。
else:
3. 加载不到群问题:有时候启动项目后会加载不到你想要的群,这时候需要在群里发送任意消息,再重新开启直播模式,就可以了,切记!切记!
1. 定义一个接收群消息的方法
七、总结
一、背景介绍
elif len(live_group) 1:
猪哥就去网上看看有没有免费的转发软件,然后看了看 wetools(一款基于 windows 的微信运营工具),发现他们付费版的一个微信最多也就可以转发 9 个群。
"""转发消息"""
首先是加载机器人管理员,然后在方法中间去调用加载群信息的方法!
4. 机器人转发完毕后在主讲群回复
return '\n 未开启直播模式,可在 config.py 文件中将 is_live_mode 设置为 True 开启!'
六、遇到的问题
猪哥在最开始的时候是想的是:用一个机器人,然后转发到 24 个群里,配置文件大概是这样:
最近猪哥感觉不能再拖了,所以就考虑自己开发一个多群直播项目,使用原来我们做的微信机器人项目。
forward_groups=search_groups(bot, config.forward_groups)
3. 如果满足上诉三个条件,则将消息转发到群里
for member in live_group_members:
24 个微信大群同步直播,说实话之前很少有一个人能完成的,我咨询了很多以前做过群直播的同行,他们基本都是人工复制的方式。
上面的配置文件意味着我需要启动三次程序,换三个微信,然后每次更换 forward_groups 配置。
因为当时直播,忘记截图 24 个群的未读消息图,只能找点聊天记录截图给大家看。
四、测试
1. 最大转发群数问题:最开始猪哥想的是只用一个机器人转发到 24 个群里,但是消息发不出去,被提示消息过于频繁,最后是看到 wetools 上他们的最大转发群数是 9 个,所以才考虑到使用三个微信,每个转发 8 个群。
今天我们来学习微信机器人系列的第五篇:多群转发做同步图文直播!
如何做多群直播呢?简单的就是用机器人做二级转发:
五、实际直播
live_status_detail=''
然后我们在机器人启动的时候,调用加载配置文件的方法,而加载配置文件的方法又去调用加载直播信息的方法!
将技术应用于生活,去解决出现的一些痛点和难题,创造一些有趣的事情,我认为这才是真正的技术创造!
live_status_detail +=f'\n 主讲人:主讲群内未找到主讲人「{config.live_speaker}」。\n 开启群直播失败!'
2.实现转发消息
1.加载直播 4 个元素
但是,直播前一天顺利测试,给了猪哥很大的信心!
但是发现这样会导致消息发不出去,微信提示消息发送过于频繁。
二、功能设计
代码写完我们就可以开始测试了,测试的整体思路就是:
2. 接收到群消息就判断这条消息需不需要转发,判断条件是:开启直播模式+当前消息是主讲群内的+发消息的人是主讲人
if not bot.is_live_mode:
这个方法很简单,循环遍历需要转发的群,然后一个一个发送,发送完毕后有一个一秒以内的随机停顿,这是为了防止消息发送过于频繁导致消息发不出去。
return forward_groups
提前几个小时修改公告发布晚上群直播消息禁止拉新人入群,防止拉发广告的进来提前半小时打卡,直播结束后随机踢出几名未打卡占坑的群成员直播前 5 分钟停止打卡,开始准备直播晚 20:00 准时开始直播大概 20:40 直播结束,收集大家反馈意见
4. 在实际直播中有个机器人掉线问题:测试过程中未出现机器人掉线,但在实际直播中出现过一次,重新登录这个机器人就好了。
三、功能实现
if len(live_group) < 1:
其实直播的代码很简单,也不多,但是因为群多,用户体量大所以难免会遇到很多问题,下面猪哥就总结一下遇到的问题:
bot.live_speaker=config.live_speaker
我们再来看看**wx_command.remote_forward(msg)**的具体代码吧!
2.一个机器人转发 24 个群
当然上面讲述的都是一些技术上的问题,关于直播过程中出现的操作问题,比如:停止打卡后仍然有人打卡影响阅读、直播速度过快、内容不够浅显等问题就不一一列出了,如果你想详细了解这些细节可以加猪哥微信了解。
这里关于多群转发的代码就完成了,下面我们就可以开始测试了。
期间发送过:文字、图片、文件、语音。
源码:
bot.is_live_mode=config.is_live_mode
实际直播的流程大概是:
# 设置开关
live_status_detail +=f'\n 转发群:消息将会转发至这些群:{str(forward_groups)},共{len(forward_groups)}个。\n\n 如有遗漏可在这些群中发任意消息,然后管理员使用命令:开启群直播模式,从新加载直播信息!'
return f'\n 主讲群:未找到群名包含「{config.live_group}」的主讲群!\n 开启群直播失败!\n\n 可在主讲群中发任意消息,然后管理员使用命令:开启群直播模式,从新加载直播信息!'
对于我们做技术的也是如此,工作中很多 Ctrl+C(V)操作,不正是我们理解的“制造”嘛!
本次直播测试差不多播了 30 分钟,完全正确的运行无消息丢失和机器人掉线。
需求很简单:能做到 24 个微信大群(共万人)同步转发就可以!
于是猪哥猜想是不是一个微信最多只能转发 9 个群呢?那我用三个微信做转发不就可以吗?
还没有人赞赏,快来当第一个赞赏的人吧!
- 2¥
- 5¥
- 10¥
- 20¥
- 50¥
声明:本文为原创文章,版权归微信机器人所有,欢迎分享本文,转载请保留出处!