diff options
Diffstat (limited to 'src/events')
| -rw-r--r-- | src/events/mod.rs | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/events/mod.rs b/src/events/mod.rs index 9a193d0..d166993 100644 --- a/src/events/mod.rs +++ b/src/events/mod.rs | |||
| @@ -92,11 +92,10 @@ pub async fn handle_voice_state_update( | |||
| 92 | let member = guild_id | 92 | let member = guild_id |
| 93 | .and_then(|gid| ctx.cache.guild(gid)) | 93 | .and_then(|gid| ctx.cache.guild(gid)) |
| 94 | .and_then(|g| g.members.get(&user_id).cloned()); | 94 | .and_then(|g| g.members.get(&user_id).cloned()); |
| 95 | if let Some(ref m) = member { | 95 | if let Some(ref m) = member |
| 96 | if m.user.bot { | 96 | && m.user.bot { |
| 97 | return Ok(()); | 97 | return Ok(()); |
| 98 | } | 98 | } |
| 99 | } | ||
| 100 | 99 | ||
| 101 | let member_name = member | 100 | let member_name = member |
| 102 | .as_ref() | 101 | .as_ref() |
| @@ -269,40 +268,37 @@ pub async fn handle_voice_state_update( | |||
| 269 | } | 268 | } |
| 270 | 269 | ||
| 271 | // ── TTS for mute/deafen (deaf takes priority with early return) ── | 270 | // ── TTS for mute/deafen (deaf takes priority with early return) ── |
| 272 | if old.as_ref().map_or(false, |v| v.self_deaf) != new.self_deaf { | 271 | if old.as_ref().is_some_and(|v| v.self_deaf) != new.self_deaf { |
| 273 | let phrase = if new.self_deaf { | 272 | let phrase = if new.self_deaf { |
| 274 | lang::fmt_ev_deafened(&display_name) | 273 | lang::fmt_ev_deafened(&display_name) |
| 275 | } else { | 274 | } else { |
| 276 | lang::fmt_ev_undeafened(&display_name) | 275 | lang::fmt_ev_undeafened(&display_name) |
| 277 | }; | 276 | }; |
| 278 | if let Some(gid) = guild_id { | 277 | if let Some(gid) = guild_id |
| 279 | if let Some(cid) = tts_channel.or(new_channel) { | 278 | && let Some(cid) = tts_channel.or(new_channel) { |
| 280 | play_tts_in_channel(ctx, data, gid, cid, &phrase).await; | 279 | play_tts_in_channel(ctx, data, gid, cid, &phrase).await; |
| 281 | } | 280 | } |
| 282 | } | ||
| 283 | return Ok(()); | 281 | return Ok(()); |
| 284 | } | 282 | } |
| 285 | 283 | ||
| 286 | if old.as_ref().map_or(false, |v| v.self_mute) != new.self_mute { | 284 | if old.as_ref().is_some_and(|v| v.self_mute) != new.self_mute { |
| 287 | let phrase = if new.self_mute { | 285 | let phrase = if new.self_mute { |
| 288 | lang::fmt_ev_muted(&display_name) | 286 | lang::fmt_ev_muted(&display_name) |
| 289 | } else { | 287 | } else { |
| 290 | lang::fmt_ev_unmuted(&display_name) | 288 | lang::fmt_ev_unmuted(&display_name) |
| 291 | }; | 289 | }; |
| 292 | if let Some(gid) = guild_id { | 290 | if let Some(gid) = guild_id |
| 293 | if let Some(cid) = tts_channel.or(new_channel) { | 291 | && let Some(cid) = tts_channel.or(new_channel) { |
| 294 | play_tts_in_channel(ctx, data, gid, cid, &phrase).await; | 292 | play_tts_in_channel(ctx, data, gid, cid, &phrase).await; |
| 295 | } | 293 | } |
| 296 | } | ||
| 297 | return Ok(()); | 294 | return Ok(()); |
| 298 | } | 295 | } |
| 299 | 296 | ||
| 300 | // ── Play join/leave TTS if no mute/deafen change ── | 297 | // ── Play join/leave TTS if no mute/deafen change ── |
| 301 | if let (Some(text), Some(cid)) = (tts_text, tts_channel) { | 298 | if let (Some(text), Some(cid)) = (tts_text, tts_channel) |
| 302 | if let Some(gid) = guild_id { | 299 | && let Some(gid) = guild_id { |
| 303 | play_tts_in_channel(ctx, data, gid, cid, &text).await; | 300 | play_tts_in_channel(ctx, data, gid, cid, &text).await; |
| 304 | } | 301 | } |
| 305 | } | ||
| 306 | 302 | ||
| 307 | Ok(()) | 303 | Ok(()) |
| 308 | } | 304 | } |
