Join Channel with Most ppl
This commit is contained in:
@@ -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 => {}
|
||||
}
|
||||
()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user