From 74a3027d62b190419a840bfa35fc6c9d720e88fe Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 3 Sep 2026 17:50:12 +0200 Subject: remove ` from TTS and make events use lang.rs Signed-off-by: salmonik --- src/events/mod.rs | 57 +++++++++++++++++++++----------------- src/lang.rs | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 108 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/events/mod.rs b/src/events/mod.rs index ae0e1e4..e4f1b22 100644 --- a/src/events/mod.rs +++ b/src/events/mod.rs @@ -145,9 +145,11 @@ pub async fn handle_voice_state_update( info!("User {user_id} joined voice"); if let Some(lc) = log_channel { - let msg = format!( - "[{current_time}] {member_name} dołączył na {} ", - va.channel_name + let msg = lang::fmt_log_ev_joined( + ¤t_time, + &member_name, + current_ts, + &va.channel_name, ); lc.say(ctx, &msg).await.ok(); } @@ -189,10 +191,13 @@ pub async fn handle_voice_state_update( } if let Some(lc) = log_channel { - let msg = format!( - "[{current_time}] {member_name} rozłączył się z {} \n\ - Aktywny: {active_str} | AFK: {afk_str}", - channel_name, + let msg = lang::fmt_log_ev_left( + ¤t_time, + &member_name, + current_ts, + &channel_name, + &active_str, + &afk_str, ); lc.say(ctx, &msg).await.ok(); } @@ -201,8 +206,11 @@ pub async fn handle_voice_state_update( database::upsert_voice_activity(&data.db_pool, &va).await?; } else { if let Some(lc) = log_channel { - let msg = format!( - "[{current_time}] {member_name} rozłączył się z {channel_name} " + let msg = lang::fmt_log_ev_left_no_data( + ¤t_time, + &member_name, + current_ts, + &channel_name, ); lc.say(ctx, &msg).await.ok(); } @@ -227,18 +235,14 @@ pub async fn handle_voice_state_update( database::upsert_voice_activity(&data.db_pool, &va).await?; let afk_str = format_duration(afk_duration); - // Python behavior: after.self_mute is always false here so always "odgłuchnął" - let activity = if new.self_mute { - "odciszył" - } else { - "odgłuchnął" - }; if let Some(lc) = log_channel { - let msg = format!( - "[{current_time}] {member_name} {activity} się na {} \n\ - AFK: {afk_str}", - va.channel_name, + let msg = lang::fmt_log_ev_activity( + ¤t_time, + &member_name, + current_ts, + &va.channel_name, + &afk_str, ); lc.say(ctx, &msg).await.ok(); } @@ -258,16 +262,19 @@ pub async fn handle_voice_state_update( let active_str = format_duration(active_duration); let activity = if new.self_mute { - "wyciszył" + lang::L_EV_WORD_MUTED } else { - "ogłuchnął" + lang::L_EV_WORD_DEAFENED }; if let Some(lc) = log_channel { - let msg = format!( - "[{current_time}] {member_name} {activity} się na {} \n\ - Aktywny: {active_str}", - va.channel_name, + let msg = lang::fmt_log_ev_unactivity( + ¤t_time, + &member_name, + current_ts, + &va.channel_name, + activity, + &active_str, ); lc.say(ctx, &msg).await.ok(); } diff --git a/src/lang.rs b/src/lang.rs index 6b4e747..de0c7d7 100644 --- a/src/lang.rs +++ b/src/lang.rs @@ -348,22 +348,92 @@ pub const L_EV_MESSAGE_HANDLER_ERROR: &str = "Błąd ustanawiacza głosu"; // ── Event TTS phrases ───────────────────────────────────────────────── pub fn fmt_ev_joined(name: &str) -> String { - format!("`{name}` sie zespawnił") + format!("{name} sie zespawnił") } pub fn fmt_ev_left(name: &str) -> String { - format!("`{name}` jest chujem") + format!("{name} jest chujem") } pub fn fmt_ev_deafened(name: &str) -> String { - format!("`{name}` jest bity przez ojca") + format!("{name} jest bity przez ojca") } pub fn fmt_ev_undeafened(name: &str) -> String { - format!("`{name}` uciekł od ojca") + format!("{name} uciekł od ojca") } pub fn fmt_ev_muted(name: &str) -> String { - format!("`{name}` idzie robić jajecznice") + format!("{name} idzie robić jajecznice") } pub fn fmt_ev_unmuted(name: &str) -> String { - format!("`{name}` zrobił jajecznice") + format!("{name} zrobił jajecznice") +} + +// —— Event log phrases ————————————————————————————————————————————————— + +pub fn fmt_log_ev_joined( + current_time: &str, + name: &str, + current_ts: i64, + channel_name: &str, +) -> String { + format!( + "[{current_time}] `{name}` dołączył na {} ", + channel_name + ) +} + +pub fn fmt_log_ev_left( + current_time: &str, + name: &str, + current_ts: i64, + channel_name: &str, + active_str: &str, + afk_str: &str, +) -> String { + format!( + "[{current_time}] `{name}` rozłączył się z {} \n\ + Aktywny: {active_str} | AFK: {afk_str}", + channel_name, + ) +} + +pub fn fmt_log_ev_activity( + current_time: &str, + name: &str, + current_ts: i64, + channel_name: &str, + afk_str: &str, +) -> String { + // Always "odgłuchnął": this fn is only called when !is_afk, so the user + // cannot still be self-muted. + format!( + "[{current_time}] `{name}` odgłuchnął się na {channel_name} \n\ + AFK: {afk_str}" + ) +} + +pub const L_EV_WORD_MUTED: &str = "wyciszył"; +pub const L_EV_WORD_DEAFENED: &str = "ogłuchnął"; + +pub fn fmt_log_ev_unactivity( + current_time: &str, + name: &str, + current_ts: i64, + channel_name: &str, + activity: &str, + active_str: &str, +) -> String { + format!( + "[{current_time}] `{name}` {activity} się na {channel_name} \n\ + Aktywny: {active_str}" + ) +} + +pub fn fmt_log_ev_left_no_data( + current_time: &str, + name: &str, + current_ts: i64, + channel_name: &str, +) -> String { + format!("[{current_time}] `{name}` rozłączył się z {channel_name} ") } // ── AI assistant (events/message handler) ───────────────────────────── -- cgit v1.2.3