aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hooks/intensify.rs4
-rw-r--r--src/hooks/mod.rs6
-rw-r--r--src/hooks/pet.rs6
-rw-r--r--src/hooks/sed.rs17
-rw-r--r--src/hooks/shifty_eyes.rs16
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"),
}
}