aboutsummaryrefslogtreecommitdiffstats
path: root/src/events
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-04 01:09:10 +0100
committersalmonik <salmonik@tuta.io>2026-11-04 01:09:10 +0100
commitceb96326ccf3daff0472cafdaba3e223d3a20724 (patch)
tree8bd84f484ce714bd10f1c9f25f612ab16fbd8eae /src/events
parentcron: scope jobs to the guild that created them (diff)
downloadsenator-sperma-ceb96326ccf3daff0472cafdaba3e223d3a20724.tar.gz
senator-sperma-ceb96326ccf3daff0472cafdaba3e223d3a20724.zip
triggers: scope groups to the guild that created them
Diffstat (limited to 'src/events')
-rw-r--r--src/events/mod.rs7
1 files changed, 6 insertions, 1 deletions
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(
380 } 380 }
381 381
382 let content_lower = new_message.content.to_lowercase(); 382 let content_lower = new_message.content.to_lowercase();
383 let message_guild_id = new_message.guild_id.map(|guild| guild.get() as i64);
383 let response_to_send = { 384 let response_to_send = {
384 let triggers = data.triggers.lock().await; 385 let triggers = data.triggers.lock().await;
385 let mut chosen = None; 386 let mut chosen = None;
386 for (_trigger, keywords, responses) in triggers.iter() { 387 for (trigger, keywords, responses) in triggers.iter() {
388 // Triggers belong to one guild and never fire in DMs.
389 if message_guild_id != Some(trigger.guild_id) {
390 continue;
391 }
387 if keywords.iter().any(|k| content_lower.contains(k)) { 392 if keywords.iter().any(|k| content_lower.contains(k)) {
388 chosen = responses.choose(&mut rand::rng()).cloned(); 393 chosen = responses.choose(&mut rand::rng()).cloned();
389 break; 394 break;