summaryrefslogtreecommitdiff
path: root/src/handler/reactboard.rs
diff options
context:
space:
mode:
authorseth <[email protected]>2023-11-30 22:18:51 -0500
committerseth <[email protected]>2023-12-01 07:12:49 -0500
commit76c0f94e6d7aa108424b34826eb7d8514b026287 (patch)
tree7315bd6dfe52c158041bed64ba39781718a69335 /src/handler/reactboard.rs
parentdb52e639b85d79bed870020aec7a045851ca5ee3 (diff)
feat: use eyre, better logging, & refactor
small commits be damned
Diffstat (limited to 'src/handler/reactboard.rs')
-rw-r--r--src/handler/reactboard.rs66
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(())
-}