aboutsummaryrefslogtreecommitdiffstats
path: root/src/events
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-30 15:09:51 +0200
committersalmonik <salmonik@tuta.io>2026-07-30 15:09:51 +0200
commit7a565f377203ba8e01574952014a23dfa8d94fa3 (patch)
tree9bf25a5f618fd79b9c9911ea670f9d4b3d2bba99 /src/events
parentfix assistant and senator (diff)
downloadsenator-sperma-7a565f377203ba8e01574952014a23dfa8d94fa3.tar.gz
senator-sperma-7a565f377203ba8e01574952014a23dfa8d94fa3.zip
fix: auto completion timing out before ready + fix preexisting warns
Diffstat (limited to 'src/events')
-rw-r--r--src/events/mod.rs24
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}