From 76c0f94e6d7aa108424b34826eb7d8514b026287 Mon Sep 17 00:00:00 2001 From: seth Date: Thu, 30 Nov 2023 22:18:51 -0500 Subject: feat: use eyre, better logging, & refactor small commits be damned --- src/handlers/event/message.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/handlers/event/message.rs (limited to 'src/handlers/event/message.rs') diff --git a/src/handlers/event/message.rs b/src/handlers/event/message.rs new file mode 100644 index 0000000..a84ec59 --- /dev/null +++ b/src/handlers/event/message.rs @@ -0,0 +1,35 @@ +use crate::{consts, utils, Data}; + +use color_eyre::eyre::{Report, Result}; +use log::*; +use poise::serenity_prelude::{Context, Message}; +use poise::FrameworkContext; + +pub async fn handle( + ctx: &Context, + framework: FrameworkContext<'_, Data, Report>, + msg: &Message, +) -> Result<()> { + if should_echo(framework, msg) { + msg.reply(ctx, &msg.content).await?; + } + + Ok(()) +} + +fn should_echo(framework: FrameworkContext<'_, Data, Report>, msg: &Message) -> bool { + let gid = msg.guild_id.unwrap_or_default(); + if msg.author.id == framework.bot_id || !utils::is_guild_allowed(gid) { + info!("not running copypasta command in {gid}"); + return false; + } + + let content = &msg.content; + + content == "🗿" + || consts::TEAMOJIS.contains(&content.as_str()) + || content.to_ascii_lowercase() == "moyai" + || content + .to_ascii_lowercase() + .contains("twitter's recommendation algorithm") +} -- cgit v1.2.3