From b643a6a235b0c1c9902b97421f24eff2b0d0a5ac Mon Sep 17 00:00:00 2001 From: seth Date: Fri, 9 Aug 2024 23:35:41 -0400 Subject: tree-wide: end of summer cleanup (#214) * api: refactor & rename module to http * client: split from main.rs * tree-wide: use eyre::Report as error * nix: alejandra -> nixfmt * nix: start using treefmt-nix * nix: simplify flake * nix: refactor derivation & docker image * nix: remove overlay * ci: update & cleanup workflows * commands: assign all commands automatically * commands/copypasta: remove * http/teawie: update response struct for upstream rust rewrite * handlers: rename modules to events; flatten * crates: rename self to teawie-bot * nix: fenix -> rust-overlay i want a specific rust version grrrrrrr * ci: pin rust to 1.79 this is what our nix dev shell uses and what we can compile on. it seems the time crate doesn't like v1.80 of the compiler :( * ci: always run release gates * nix: fix static toolchain * nix: rust-overlay -> nixpkgs * ci: adopt actions-rust-lang actions * nix: use docker arch names for containers * crates/time: 0.3.30 -> 0.3.36 fixes building on rust 1.80.0 --- src/handlers/event/message.rs | 44 ------------------------------------------- 1 file changed, 44 deletions(-) delete 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 deleted file mode 100644 index 67dbb21..0000000 --- a/src/handlers/event/message.rs +++ /dev/null @@ -1,44 +0,0 @@ -use crate::{consts, Data}; - -use eyre::{eyre, Result}; -use log::{debug, warn}; -use poise::serenity_prelude::{Context, Message}; - -pub async fn handle(ctx: &Context, msg: &Message, data: &Data) -> Result<()> { - if should_echo(ctx, msg, data).await? { - msg.reply(ctx, &msg.content).await?; - } - - Ok(()) -} - -async fn should_echo(ctx: &Context, msg: &Message, data: &Data) -> Result { - if (msg.author.bot && msg.webhook_id.is_none()) || msg.is_own(ctx) { - debug!("Not repeating another bot"); - return Ok(false); - } - - let gid = msg - .guild_id - .ok_or_else(|| eyre!("Couldn't get GuildId from {}!", msg.id))?; - - if let Some(storage) = &data.storage { - let settings = storage.get_guild_settings(&gid).await?; - - if !settings.optional_commands_enabled { - debug!("Not echoing in guild {gid}"); - return Ok(false); - } - } else { - warn!("Ignoring restrictions on echoing messages; no storage backend is attached!"); - } - - let content = &msg.content; - - Ok(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