From ceb96326ccf3daff0472cafdaba3e223d3a20724 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 4 Nov 2026 01:09:10 +0100 Subject: triggers: scope groups to the guild that created them --- src/events/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/events') diff --git a/src/events/mod.rs b/src/events/mod.rs index 5006444..5fb6a30 100644 --- a/src/events/mod.rs +++ b/src/events/mod.rs @@ -380,10 +380,15 @@ pub async fn handle_message( } let content_lower = new_message.content.to_lowercase(); + let message_guild_id = new_message.guild_id.map(|guild| guild.get() as i64); let response_to_send = { let triggers = data.triggers.lock().await; let mut chosen = None; - for (_trigger, keywords, responses) in triggers.iter() { + for (trigger, keywords, responses) in triggers.iter() { + // Triggers belong to one guild and never fire in DMs. + if message_guild_id != Some(trigger.guild_id) { + continue; + } if keywords.iter().any(|k| content_lower.contains(k)) { chosen = responses.choose(&mut rand::rng()).cloned(); break; -- cgit v1.2.3