From dccc6cad1125ce9c0cc8d4f4df06d822eb2a6f55 Mon Sep 17 00:00:00 2001 From: "DavidCrompton1192@gmail.com" Date: Sat, 11 Mar 2023 20:02:53 -0500 Subject: [PATCH] Join Channel with Most ppl --- src/utils/guild_popin.rs | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/utils/guild_popin.rs b/src/utils/guild_popin.rs index 5675e5f..355b55a 100644 --- a/src/utils/guild_popin.rs +++ b/src/utils/guild_popin.rs @@ -30,14 +30,23 @@ fn init_pop_state() -> GuildPopIn { } async fn popin(ctx: Context, guild: Guild) { - for (_id,chan) in guild.channels { + let mut most = None; + let mut n = 0; + for (id,chan) in guild.channels { match chan.guild() { Some(g_chan) => { if g_chan.kind == ChannelType::Voice { + match g_chan.members(&ctx.cache).await { + Ok(members) => { + if members.len() > n { + n = members.len(); + most = Some(id); + } + }, + Err(error) => { - let manager = songbird::get(&ctx).await - .expect("Songbird: intialization"); - let (_,_status) = manager.join(guild.id, _id).await; + } + }; break; } }, @@ -46,6 +55,14 @@ async fn popin(ctx: Context, guild: Guild) { } } } + match most { + Some(chan) => { + let manager = songbird::get(&ctx).await + .expect("Songbird: intialization"); + let (_,_status) = manager.join(guild.id, chan).await; + }, + None => {} + } () }