diff --git a/src/handlers/event/eta.rs b/src/handlers/event/eta.rs index a5ba3b4..2eb8ae2 100644 --- a/src/handlers/event/eta.rs +++ b/src/handlers/event/eta.rs @@ -1,10 +1,14 @@ use crate::{consts, utils}; use color_eyre::eyre::Result; +use once_cell::sync::Lazy; use poise::serenity_prelude::{Context, Message}; +use regex::Regex; -pub async fn handle(ctx: &Context, message: &Message) -> Result<()> { - if !message.content.contains(" eta ") { +static ETA_REGEX: Lazy = Lazy::new(|| Regex::new(r"\beta\b").unwrap()); + +pub async fn handle(ctx: &Context, msg: &Message) -> Result<()> { + if !ETA_REGEX.is_match(&msg.content) { return Ok(()); } @@ -13,6 +17,6 @@ pub async fn handle(ctx: &Context, message: &Message) -> Result<()> { utils::random_choice(consts::ETA_MESSAGES)? ); - message.reply(ctx, response).await?; + msg.reply(ctx, response).await?; Ok(()) }