diff options
Diffstat (limited to '')
| -rw-r--r-- | src/events/mod.rs | 7 |
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; |
