From eb9994b2155f3e98a104846d52456272ad955d87 Mon Sep 17 00:00:00 2001 From: alyssa Date: Sun, 18 May 2025 21:27:41 +0000 Subject: [PATCH] fix(gateway): set custom prefix in bot status --- crates/gateway/src/discord/gateway.rs | 9 ++++++++- crates/gateway/src/main.rs | 13 +++++++++++-- crates/libpk/src/_config.rs | 6 ++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/crates/gateway/src/discord/gateway.rs b/crates/gateway/src/discord/gateway.rs index 1c0239f5..563a9b78 100644 --- a/crates/gateway/src/discord/gateway.rs +++ b/crates/gateway/src/discord/gateway.rs @@ -63,6 +63,13 @@ pub fn create_shards(redis: fred::clients::RedisPool) -> anyhow::Result anyhow::Result anyhow::Result<()> { } async fn scheduled_task(redis: RedisPool, senders: Vec<(ShardId, MessageSender)>) { + let prefix = libpk::config + .discord + .as_ref() + .expect("missing discord config") + .bot_prefix_for_gateway + .clone(); + + println!("{prefix}"); + loop { tokio::time::sleep(Duration::from_secs( (60 - chrono::offset::Utc::now().second()).into(), @@ -204,9 +213,9 @@ async fn scheduled_task(redis: RedisPool, senders: Vec<(ShardId, MessageSender)> op: twilight_model::gateway::OpCode::PresenceUpdate, d: discord::gateway::presence( if let Some(status) = status { - format!("pk;help | {}", status) + format!("{prefix}help | {status}") } else { - "pk;help".to_string() + format!("{prefix}help") } .as_str(), false, diff --git a/crates/libpk/src/_config.rs b/crates/libpk/src/_config.rs index 6a489c93..8358440b 100644 --- a/crates/libpk/src/_config.rs +++ b/crates/libpk/src/_config.rs @@ -12,10 +12,16 @@ pub struct ClusterSettings { pub total_nodes: u32, } +fn _default_bot_prefix() -> String { + "pk;".to_string() +} + #[derive(Deserialize, Debug)] pub struct DiscordConfig { pub client_id: Id, pub bot_token: String, + #[serde(default = "_default_bot_prefix")] + pub bot_prefix_for_gateway: String, pub client_secret: String, pub max_concurrency: u32, #[serde(default)]