From a1f36810f47cb16bcd308665a68f4899b1d00ef1 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Sun, 10 Oct 2021 16:11:00 +0200 Subject: fix and improve hook error handling --- src/hooks/sed.rs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/hooks/sed.rs') diff --git a/src/hooks/sed.rs b/src/hooks/sed.rs index 1ee0b20..6d6583c 100644 --- a/src/hooks/sed.rs +++ b/src/hooks/sed.rs @@ -1,4 +1,4 @@ -use anyhow::{anyhow, Context, Result}; +use anyhow::{Context, Result, anyhow, bail}; use irc::client::prelude::*; use sedregex::ReplaceCommand; @@ -16,11 +16,8 @@ impl Sed { Sed(HashMap::new()) } - pub fn log(&mut self, _bot: &crate::Bot, msg: Message) { - match self.log_msg(msg) { - Ok(_) => (), - Err(err) => tracing::error!("failed to log new message: {:?}", err), - } + pub fn log(&mut self, _bot: &crate::Bot, msg: Message) -> Result<()> { + self.log_msg(msg).context("failed to log new message") } fn log_msg(&mut self, msg: Message) -> Result<()> { @@ -46,17 +43,17 @@ impl Sed { Ok(()) } - pub fn replace(&mut self, bot: &crate::Bot, msg: Message) { + pub fn replace(&mut self, bot: &crate::Bot, msg: Message) -> Result<()> { match self.find_and_replace(&msg) { Ok(res) => match bot.send_privmsg(msg.response_target().unwrap(), res.as_str()) { - Ok(_) => (), - Err(_) => tracing::error!( + Ok(_) => Ok(()), + Err(_) => bail!( "failed to send message: \"{:?}\" to channel: {:?}", msg.response_target().unwrap(), res ), }, - Err(_) => tracing::debug!("did not find match for: {:?}", msg), + Err(_) => bail!("did not find match for: {:?}", msg), } } -- cgit v1.2.3