use regex::Regex; use serenity::async_trait; use serenity::model::channel::Message; use serenity::prelude::{Context, EventHandler}; pub(crate) struct YellResponder { regex: Regex, } impl Default for YellResponder { fn default() -> Self { Self { regex: Regex::new(r"A+H{5,}").unwrap(), } } } #[async_trait] impl EventHandler for YellResponder { async fn message(&self, ctx: Context, message: Message) { let content = &message.content_safe(ctx.clone()).await; if self.regex.is_match(content) { message .channel_id .say(ctx, "no, u is smol brain doctor..") .await .unwrap(); } } }