From af9938a3c6c34ff9655d345f77fef2cb957ae6c4 Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 18 Mar 2024 08:45:25 -0400 Subject: [PATCH] handlers::event: improve tracing --- src/handlers/event/analyze_logs/issues.rs | 3 +++ src/handlers/event/analyze_logs/mod.rs | 7 ++++++- src/handlers/event/analyze_logs/providers/0x0.rs | 3 +++ src/handlers/event/analyze_logs/providers/attachment.rs | 3 +++ src/handlers/event/analyze_logs/providers/haste.rs | 3 +++ src/handlers/event/analyze_logs/providers/mclogs.rs | 3 +++ src/handlers/event/analyze_logs/providers/paste_gg.rs | 2 ++ src/handlers/event/analyze_logs/providers/pastebin.rs | 2 ++ src/handlers/event/mod.rs | 9 +++++++++ 9 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/handlers/event/analyze_logs/issues.rs b/src/handlers/event/analyze_logs/issues.rs index 575be42..d838e88 100644 --- a/src/handlers/event/analyze_logs/issues.rs +++ b/src/handlers/event/analyze_logs/issues.rs @@ -1,12 +1,15 @@ use crate::Data; use eyre::Result; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; pub type Issue = Option<(String, String)>; pub async fn find(log: &str, data: &Data) -> Result> { + trace!("Checking log for issues"); + let issues = [ fabric_internal, flatpak_nvidia, diff --git a/src/handlers/event/analyze_logs/mod.rs b/src/handlers/event/analyze_logs/mod.rs index 1d5481d..5d55694 100644 --- a/src/handlers/event/analyze_logs/mod.rs +++ b/src/handlers/event/analyze_logs/mod.rs @@ -2,7 +2,7 @@ use crate::consts::COLORS; use crate::Data; use eyre::Result; -use log::debug; +use log::{debug, trace}; use poise::serenity_prelude::{ Context, CreateAllowedMentions, CreateEmbed, CreateMessage, Message, }; @@ -13,6 +13,11 @@ mod providers; use providers::find_log; pub async fn handle(ctx: &Context, message: &Message, data: &Data) -> Result<()> { + trace!( + "Checking message {} from {} for logs", + message.id, + message.author.id + ); let channel = message.channel_id; let log = find_log(message).await; diff --git a/src/handlers/event/analyze_logs/providers/0x0.rs b/src/handlers/event/analyze_logs/providers/0x0.rs index fe8c7f0..cfa553a 100644 --- a/src/handlers/event/analyze_logs/providers/0x0.rs +++ b/src/handlers/event/analyze_logs/providers/0x0.rs @@ -1,6 +1,7 @@ use crate::api::REQWEST_CLIENT; use eyre::{eyre, Result}; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; use reqwest::StatusCode; @@ -8,6 +9,8 @@ use reqwest::StatusCode; static REGEX: Lazy = Lazy::new(|| Regex::new(r"https://0x0\.st/\w*\.\w*").unwrap()); pub async fn find(content: &str) -> Result> { + trace!("Checking if {content} is a 0x0 paste"); + let Some(url) = REGEX.find(content).map(|m| &content[m.range()]) else { return Ok(None); }; diff --git a/src/handlers/event/analyze_logs/providers/attachment.rs b/src/handlers/event/analyze_logs/providers/attachment.rs index 892f19b..97e8c3e 100644 --- a/src/handlers/event/analyze_logs/providers/attachment.rs +++ b/src/handlers/event/analyze_logs/providers/attachment.rs @@ -1,7 +1,10 @@ use eyre::Result; +use log::trace; use poise::serenity_prelude::Message; pub async fn find(message: &Message) -> Result> { + trace!("Checking for text attachments in message {}", message.id); + // find first uploaded text file if let Some(attachment) = message.attachments.iter().find(|a| { a.content_type diff --git a/src/handlers/event/analyze_logs/providers/haste.rs b/src/handlers/event/analyze_logs/providers/haste.rs index c72e3b3..194ae79 100644 --- a/src/handlers/event/analyze_logs/providers/haste.rs +++ b/src/handlers/event/analyze_logs/providers/haste.rs @@ -1,6 +1,7 @@ use crate::api::REQWEST_CLIENT; use eyre::{eyre, Result}; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; use reqwest::StatusCode; @@ -9,6 +10,8 @@ static REGEX: Lazy = Lazy::new(|| Regex::new(r"https://hst\.sh(?:/raw)?/(\w+(?:\.\w*)?)").unwrap()); pub async fn find(content: &str) -> Result> { + trace!("Checking if {content} is a haste log"); + let Some(captures) = REGEX.captures(content) else { return Ok(None); }; diff --git a/src/handlers/event/analyze_logs/providers/mclogs.rs b/src/handlers/event/analyze_logs/providers/mclogs.rs index 96a9108..34933de 100644 --- a/src/handlers/event/analyze_logs/providers/mclogs.rs +++ b/src/handlers/event/analyze_logs/providers/mclogs.rs @@ -1,6 +1,7 @@ use crate::api::REQWEST_CLIENT; use eyre::{eyre, Result}; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; use reqwest::StatusCode; @@ -8,6 +9,8 @@ use reqwest::StatusCode; static REGEX: Lazy = Lazy::new(|| Regex::new(r"https://mclo\.gs/(\w+)").unwrap()); pub async fn find(content: &str) -> Result> { + trace!("Checking if {content} is an mclo.gs paste"); + let Some(captures) = REGEX.captures(content) else { return Ok(None); }; diff --git a/src/handlers/event/analyze_logs/providers/paste_gg.rs b/src/handlers/event/analyze_logs/providers/paste_gg.rs index de7cd04..a45ea81 100644 --- a/src/handlers/event/analyze_logs/providers/paste_gg.rs +++ b/src/handlers/event/analyze_logs/providers/paste_gg.rs @@ -1,6 +1,7 @@ use crate::api::REQWEST_CLIENT; use eyre::{eyre, OptionExt, Result}; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; use reqwest::StatusCode; @@ -27,6 +28,7 @@ struct PasteResult { } pub async fn find(content: &str) -> Result> { + trace!("Checking if {content} is a paste.gg log"); let Some(captures) = REGEX.captures(content) else { return Ok(None); }; diff --git a/src/handlers/event/analyze_logs/providers/pastebin.rs b/src/handlers/event/analyze_logs/providers/pastebin.rs index 75b9c89..c42b3de 100644 --- a/src/handlers/event/analyze_logs/providers/pastebin.rs +++ b/src/handlers/event/analyze_logs/providers/pastebin.rs @@ -1,6 +1,7 @@ use crate::api::REQWEST_CLIENT; use eyre::{eyre, Result}; +use log::trace; use once_cell::sync::Lazy; use regex::Regex; use reqwest::StatusCode; @@ -9,6 +10,7 @@ static REGEX: Lazy = Lazy::new(|| Regex::new(r"https://pastebin\.com(?:/raw)?/(\w+)").unwrap()); pub async fn find(content: &str) -> Result> { + trace!("Checking if {content} is a pastebin log"); let Some(captures) = REGEX.captures(content) else { return Ok(None); }; diff --git a/src/handlers/event/mod.rs b/src/handlers/event/mod.rs index 53b2952..cafd16c 100644 --- a/src/handlers/event/mod.rs +++ b/src/handlers/event/mod.rs @@ -30,6 +30,8 @@ pub async fn handle( } FullEvent::Message { new_message } => { + trace!("Recieved message {}", new_message.content); + // ignore new messages from bots // note: the webhook_id check allows us to still respond to PK users if (new_message.author.bot && new_message.webhook_id.is_none()) @@ -55,10 +57,17 @@ pub async fn handle( } FullEvent::ReactionAdd { add_reaction } => { + trace!( + "Recieved reaction {} on message {} from {}", + add_reaction.emoji, + add_reaction.message_id.to_string(), + add_reaction.user_id.unwrap_or_default().to_string() + ); delete_on_reaction::handle(ctx, add_reaction).await?; } FullEvent::ThreadCreate { thread } => { + trace!("Recieved thread {}", thread.id); support_onboard::handle(ctx, thread).await?; }