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) {
|
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() {
|
match chan.guild() {
|
||||||
Some(g_chan) => {
|
Some(g_chan) => {
|
||||||
if g_chan.kind == ChannelType::Voice {
|
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;
|
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