silly goober bot

@ blahaj is this true?

+36
+34
src/event_handler/blahaj_is_this_true.rs
··· 1 + use color_eyre::eyre::Result; 2 + use poise::serenity_prelude::{Context, FullEvent}; 3 + use rand::Rng; 4 + use regex::Regex; 5 + 6 + use crate::types::Data; 7 + 8 + const REPLIES: &[&str] = &[ 9 + "Yes, absolutely!", 10 + "No, that's not true.", 11 + "Maybe, it depends on the context.", 12 + "Definitely not!", 13 + "Of course, it's true!", 14 + "I wouldn't bet on it.", 15 + "It's a possibility.", 16 + "Only if you believe it.", 17 + ]; 18 + 19 + pub async fn handle(ctx: &Context, event: &FullEvent, _data: &Data) -> Result<()> { 20 + if let FullEvent::Message { new_message } = event { 21 + if new_message.mentions_user(&ctx.cache.current_user()) { 22 + let regex = Regex::new(r"is this true(\?)?").unwrap(); 23 + if regex.is_match(&new_message.content) { 24 + let select = rand::rng().random_range(0..=REPLIES.len()); 25 + let response = REPLIES[select]; 26 + 27 + // Reply with the response 28 + let _ = new_message.reply(&ctx.http, response).await; 29 + } 30 + } 31 + } 32 + 33 + Ok(()) 34 + }
+2
src/event_handler/mod.rs
··· 1 1 use color_eyre::eyre::Result; 2 2 use poise::serenity_prelude::{Context, FullEvent}; 3 3 4 + mod blahaj_is_this_true; 4 5 mod code_expantion; 5 6 mod kitten; 6 7 mod replace_link; ··· 16 17 code_expantion::handle(ctx, event, data).await?; 17 18 kitten::handle(ctx, event, data).await?; 18 19 replace_link::handle(ctx, event, data).await?; 20 + blahaj_is_this_true::handle(ctx, event, data).await?; 19 21 20 22 Ok(()) 21 23 }