Slight refactoring to reduce indentation

This commit is contained in:
kageru 2020-05-08 16:45:13 +02:00
parent 9f713a6463
commit a4ddf32b73
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2

View File

@ -18,27 +18,28 @@ impl EventHandler for Handler {
old: Option<VoiceState>, old: Option<VoiceState>,
new: VoiceState, new: VoiceState,
) { ) {
if let Some(gid) = guild_id { if guild_id.is_none() || !ROLES_BY_SERVER.contains_key(&guild_id.unwrap()) {
if let Some(rid) = ROLES_BY_SERVER.get(&gid) { return;
if let Ok(guild) = PartialGuild::get(&ctx.http, gid) { }
let mut roles = guild let gid = guild_id.unwrap();
.member(&ctx.http, new.user_id) let rid = ROLES_BY_SERVER.get(&gid).unwrap();
.expect("could not retrieve member") if let Ok(guild) = PartialGuild::get(&ctx.http, gid) {
.roles; let mut roles = guild
// user just joined the VC -> add the role .member(&ctx.http, new.user_id)
if old.is_none() { .expect("could not retrieve member")
roles.push(*rid); .roles;
// user is no longer in VC -> remove the role // user just joined the VC -> add the role
} else if new.channel_id.is_none() { if old.is_none() {
roles.retain(|r| r != rid); roles.push(*rid);
} // user is no longer in VC -> remove the role
if let Err(e) = guild.edit_member(&ctx.http, new.user_id, |m| m.roles(roles)) { } else if new.channel_id.is_none() {
println!( roles.retain(|r| r != rid);
"Could not edit member {} of guild {}, {}", }
new.user_id, gid, e if let Err(e) = guild.edit_member(&ctx.http, new.user_id, |m| m.roles(roles)) {
); println!(
} "Could not edit member {} of guild {}, {}",
} new.user_id, gid, e
);
} }
} }
} }