From 235bc3f947d81629258432e64d75c76217456146 Mon Sep 17 00:00:00 2001 From: Colin McKechney Date: Tue, 26 Mar 2024 19:35:12 -0700 Subject: [PATCH] Removed response target from module response and added to lib.rs --- src/lib.rs | 4 ++-- src/modules/bully.rs | 6 +++--- src/modules/grass.rs | 4 ++-- src/modules/lenny.rs | 4 ++-- src/modules/noemo.rs | 5 +++-- src/modules/ttb.rs | 4 ++-- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 50640fb..d6e76da 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,7 +8,7 @@ mod modules; use modules::{bully, lenny, join_rude, grass, noemo, ttb}; -type ModuleFunc = fn(regex::Captures, &Message, &VecDeque)->Option<(String, String)>; +type ModuleFunc = fn(regex::Captures, &Message, &VecDeque)->String; const NUM_MODS:usize = 5; @@ -28,7 +28,7 @@ pub fn handle(modules: &Vec<(Regex, ModuleFunc)>, message: &Message, message_buf match &message.command { PRIVMSG(_,msg) => for (regex, function) in modules{ if let Some(captures) = regex.captures(msg.as_str()) { - return function(captures, message, message_buf); + return Some((message.response_target().unwrap_or("#lug").to_string(), function(captures, message, message_buf))); } }, JOIN(ref channel,_,_) => return join_rude::join_rude(message.source_nickname().unwrap_or("unknown user"), channel.as_str()), diff --git a/src/modules/bully.rs b/src/modules/bully.rs index 2ef84dc..e222758 100644 --- a/src/modules/bully.rs +++ b/src/modules/bully.rs @@ -1,5 +1,5 @@ use std::collections::VecDeque; -use irc::proto::Message, +use irc::proto::Message; use rand::prelude::Rng; @@ -24,14 +24,14 @@ const BULLY_PHRASES:[&str;12] = [ pub const PATTERN: &str = "^\\$bully (?P[^\\s]+)"; -pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque) -> Option<(String,String)> { +pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque) -> String { let bully_message: String = BULLY_PHRASES[rand::thread_rng().gen_range(0..BULLY_PHRASES.len())].to_string(); let to_be_bullied = captures.get(1).unwrap().as_str(); let complete_message = message.source_nickname().unwrap_or("unknown_nick").to_string() + bully_message.as_str() + to_be_bullied; - Some((message.response_target().unwrap_or("#lug").to_string(), complete_message)) + complete_message } diff --git a/src/modules/grass.rs b/src/modules/grass.rs index 3f3c4ae..e7e2706 100644 --- a/src/modules/grass.rs +++ b/src/modules/grass.rs @@ -3,7 +3,7 @@ use std::collections::VecDeque; pub const PATTERN: &str = "\\$grass (?P[^\\s]+)"; -pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque) -> Option<(String, String)> { +pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque) -> String { let grass_toucher = captures.get(1).unwrap().as_str(); @@ -11,5 +11,5 @@ pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque) -> Option<(String,String)> { +pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque) -> String { let lenny = LENNYS[rand::thread_rng().gen_range(0..LENNYS.len())].to_string(); let text = captures.get(1).unwrap().as_str(); - Some((message.response_target().unwrap_or("#lug").to_string(),format!("{} {}", lenny, text))) + format!("{} {}", lenny, text) } pub fn usage(message: &Message) -> (String,String) { diff --git a/src/modules/noemo.rs b/src/modules/noemo.rs index 5af55eb..4cd9871 100644 --- a/src/modules/noemo.rs +++ b/src/modules/noemo.rs @@ -3,11 +3,12 @@ use std::collections::VecDeque; pub const PATTERN: &str = "\\$noemo (?P[^\\s]+)"; -pub fn no_emo(captures: regex::Captures, message: &Message, _: &VecDeque) -> Option<(String, String)> { +pub fn no_emo(captures: regex::Captures, message: &Message, _: &VecDeque) -> String { let emo_person = captures.get(1).unwrap().as_str(); let complete_message = format!("{} thinks you shouldn't be so emo, {}. Take a deep breath and lighten up", message.source_nickname().unwrap_or("unknown_nick").to_string(), emo_person); - Some((message.response_target().unwrap_or("#lug").to_string(), complete_message)) + complete_message } + diff --git a/src/modules/ttb.rs b/src/modules/ttb.rs index 487c540..9d5ceeb 100644 --- a/src/modules/ttb.rs +++ b/src/modules/ttb.rs @@ -5,7 +5,7 @@ use chrono::{prelude::*, TimeDelta}; pub const PATTERN: &str = "^\\$ttb\\s*$"; -pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque) -> Option<(String, String)> { +pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque) -> String { let local_time: DateTime = Local::now(); let birth_time: DateTime = Local.with_ymd_and_hms(2024, 10, 17, 00, 00, 00).unwrap(); @@ -21,5 +21,5 @@ pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque } - Some((message.response_target().unwrap_or("#lug").to_string(), completed_message)) + completed_message }