diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/hooks/intensify.rs | 4 | ||||
| -rw-r--r-- | src/hooks/mod.rs | 6 | ||||
| -rw-r--r-- | src/hooks/pet.rs | 6 | ||||
| -rw-r--r-- | src/hooks/sed.rs | 17 | ||||
| -rw-r--r-- | src/hooks/shifty_eyes.rs | 16 |
5 files changed, 26 insertions, 23 deletions
diff --git a/src/hooks/intensify.rs b/src/hooks/intensify.rs index 87a4edf..4c63598 100644 --- a/src/hooks/intensify.rs +++ b/src/hooks/intensify.rs @@ -1,4 +1,4 @@ -use anyhow::Result; +use anyhow::{Result, Context}; use irc::client::prelude::*; use macros::privmsg; @@ -10,7 +10,7 @@ pub fn intensify(bot: &crate::Bot, msg: Message) -> Result<()> { let content = chars.as_str(); bot.send_privmsg( - msg.response_target().unwrap(), + msg.response_target().context("failed to get response target")?, format!("\x02\x0304[\x1d{} INTENSIFIES\x1d]\x03\x0F", content.to_uppercase()).as_str(), )?; }) diff --git a/src/hooks/mod.rs b/src/hooks/mod.rs index e62fc93..c5d6e1d 100644 --- a/src/hooks/mod.rs +++ b/src/hooks/mod.rs @@ -11,7 +11,7 @@ pub mod shifty_eyes; pub use intensify::intensify; pub use shifty_eyes::shifty_eyes; -pub fn about(bot: &crate::Bot, msg: Message) { +pub fn about(bot: &crate::Bot, msg: Message) -> Result<()> { bot.send_privmsg( msg.response_target().unwrap(), &format!( @@ -21,6 +21,8 @@ pub fn about(bot: &crate::Bot, msg: Message) { .to_string(), ) .unwrap(); + + Ok(()) } pub fn sasl(bot: &crate::Bot, msg: Message) -> Result<()> { @@ -35,7 +37,7 @@ pub fn sasl(bot: &crate::Bot, msg: Message) -> Result<()> { .with_username(bot.config.clone().user.username) .with_password(bot.config.clone().user.password); - let mut mechanism = Plain::from_credentials(creds).unwrap(); + let mut mechanism = Plain::from_credentials(creds)?; let initial_data = mechanism.initial(); diff --git a/src/hooks/pet.rs b/src/hooks/pet.rs index fd6abdb..4dec176 100644 --- a/src/hooks/pet.rs +++ b/src/hooks/pet.rs @@ -1,6 +1,6 @@ use std::str; -use anyhow::Result; +use anyhow::{Result, Context}; use irc::client::prelude::*; use macros::privmsg; @@ -26,8 +26,8 @@ const PET_RESPONSE: [&str; 5] = [ pub fn pet(bot: &crate::Bot, msg: Message) -> Result<()> { privmsg!(msg, { bot.send_action( - msg.response_target().unwrap(), - PET_RESPONSE.choose(&mut thread_rng()).unwrap(), + msg.response_target().context("failed to get response target")?, + PET_RESPONSE.choose(&mut thread_rng()).context("failed choosing a pet response")?, )?; }) } 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), } } diff --git a/src/hooks/shifty_eyes.rs b/src/hooks/shifty_eyes.rs index ef9cb5a..4680007 100644 --- a/src/hooks/shifty_eyes.rs +++ b/src/hooks/shifty_eyes.rs @@ -1,4 +1,4 @@ -use anyhow::{anyhow, Result}; +use anyhow::{bail, Context, Result}; use irc::client::prelude::*; const EYES: [char; 11] = ['^', 'v', 'V', '>', '<', 'x', 'X', '-', 'o', 'O', '.']; @@ -8,9 +8,9 @@ pub fn shifty_eyes(bot: &crate::Bot, msg: Message) -> Result<()> { if let Command::PRIVMSG(_, text) = msg.command.clone() { if text.len() == 3 { let mut chars = text.chars(); - let mut left = chars.next().unwrap(); - let middle = chars.next().unwrap(); - let mut right = chars.next().unwrap(); + let mut left = chars.next().context("failed to get next character")?; + let middle = chars.next().context("failed to get next character")?; + let mut right = chars.next().context("failed to get next character")?; if EYES.contains(&left) && NOSE.contains(&middle) && EYES.contains(&right) { left = invert(left)?; @@ -21,7 +21,11 @@ pub fn shifty_eyes(bot: &crate::Bot, msg: Message) -> Result<()> { result.push(middle); result.push(right); - bot.send_privmsg(msg.response_target().unwrap(), result.as_str())?; + bot.send_privmsg( + msg.response_target() + .context("failed to get response target")?, + result.as_str(), + )?; } } } @@ -41,6 +45,6 @@ fn invert(input: char) -> Result<char> { '-' => Ok('o'), 'o' => Ok('-'), 'O' => Ok('-'), - _ => Err(anyhow!("not a valid char")), + _ => bail!("not a valid char"), } } |
