diff options
| author | seth <[email protected]> | 2023-11-30 22:18:51 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-12-01 07:12:49 -0500 |
| commit | 76c0f94e6d7aa108424b34826eb7d8514b026287 (patch) | |
| tree | 7315bd6dfe52c158041bed64ba39781718a69335 /src/handler/reactboard.rs | |
| parent | db52e639b85d79bed870020aec7a045851ca5ee3 (diff) | |
feat: use eyre, better logging, & refactor
small commits be damned
Diffstat (limited to 'src/handler/reactboard.rs')
| -rw-r--r-- | src/handler/reactboard.rs | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/handler/reactboard.rs b/src/handler/reactboard.rs deleted file mode 100644 index 36f8361..0000000 --- a/src/handler/reactboard.rs +++ /dev/null @@ -1,66 +0,0 @@ -use crate::Error; -use crate::{settings::Settings, utils}; -use log::*; -use poise::serenity_prelude::{Context, Message, MessageReaction, Reaction}; - -pub async fn handle(ctx: &Context, reaction: &Reaction, settings: &Settings) -> Result<(), Error> { - let msg = match reaction.message(&ctx.http).await { - Ok(msg) => msg, - Err(why) => { - warn!("couldn't get message of reaction! {}", why); - return Err(Box::new(why)); - } - }; - - if let Some(matched) = msg - .clone() - .reactions - .into_iter() - .find(|r| r.reaction_type == reaction.emoji) - { - send_to_reactboard(ctx, &matched, &msg, settings).await?; - } else { - warn!( - "couldn't find any matching reactions for {} in {}", - reaction.emoji.as_data(), - msg.id - ) - } - - Ok(()) -} - -async fn send_to_reactboard( - ctx: &Context, - reaction: &MessageReaction, - msg: &Message, - settings: &Settings, -) -> Result<(), Error> { - if !settings.can_use_reaction(reaction) { - info!("reaction {} can't be used!", reaction.reaction_type); - return Ok(()); - } - - if reaction.count == settings.reactboard_requirement.unwrap_or(5) { - let embed = utils::resolve_message_to_embed(ctx, msg).await; - - settings - .reactboard_target - .send_message(&ctx.http, |m| { - m.allowed_mentions(|am| am.empty_parse()) - .content(format!( - "{} **#{}**", - reaction.reaction_type, reaction.count - )) - .set_embed(embed) - }) - .await?; - } else { - info!( - "not putting message {} on reactboard, not enough reactions", - msg.id - ) - } - - Ok(()) -} |
