Removed response target from module response and added to lib.rs
This commit is contained in:
@@ -8,7 +8,7 @@ mod modules;
|
|||||||
|
|
||||||
use modules::{bully, lenny, join_rude, grass, noemo, ttb};
|
use modules::{bully, lenny, join_rude, grass, noemo, ttb};
|
||||||
|
|
||||||
type ModuleFunc = fn(regex::Captures, &Message, &VecDeque<Message>)->Option<(String, String)>;
|
type ModuleFunc = fn(regex::Captures, &Message, &VecDeque<Message>)->String;
|
||||||
const NUM_MODS:usize = 5;
|
const NUM_MODS:usize = 5;
|
||||||
|
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ pub fn handle(modules: &Vec<(Regex, ModuleFunc)>, message: &Message, message_buf
|
|||||||
match &message.command {
|
match &message.command {
|
||||||
PRIVMSG(_,msg) => for (regex, function) in modules{
|
PRIVMSG(_,msg) => for (regex, function) in modules{
|
||||||
if let Some(captures) = regex.captures(msg.as_str()) {
|
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()),
|
JOIN(ref channel,_,_) => return join_rude::join_rude(message.source_nickname().unwrap_or("unknown user"), channel.as_str()),
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use irc::proto::Message,
|
use irc::proto::Message;
|
||||||
use rand::prelude::Rng;
|
use rand::prelude::Rng;
|
||||||
|
|
||||||
|
|
||||||
@@ -24,14 +24,14 @@ const BULLY_PHRASES:[&str;12] = [
|
|||||||
|
|
||||||
pub const PATTERN: &str = "^\\$bully (?P<nick>[^\\s]+)";
|
pub const PATTERN: &str = "^\\$bully (?P<nick>[^\\s]+)";
|
||||||
|
|
||||||
pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque<Message>) -> Option<(String,String)> {
|
pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque<Message>) -> String {
|
||||||
|
|
||||||
let bully_message: String = BULLY_PHRASES[rand::thread_rng().gen_range(0..BULLY_PHRASES.len())].to_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 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;
|
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
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use std::collections::VecDeque;
|
|||||||
|
|
||||||
pub const PATTERN: &str = "\\$grass (?P<nick>[^\\s]+)";
|
pub const PATTERN: &str = "\\$grass (?P<nick>[^\\s]+)";
|
||||||
|
|
||||||
pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque<Message>) -> Option<(String, String)> {
|
pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque<Message>) -> String {
|
||||||
|
|
||||||
let grass_toucher = captures.get(1).unwrap().as_str();
|
let grass_toucher = captures.get(1).unwrap().as_str();
|
||||||
|
|
||||||
@@ -11,5 +11,5 @@ pub fn touch_grass(captures: regex::Captures, message: &Message, _: &VecDeque<Me
|
|||||||
message.source_nickname().unwrap_or("unknown_nick").to_string(),
|
message.source_nickname().unwrap_or("unknown_nick").to_string(),
|
||||||
grass_toucher);
|
grass_toucher);
|
||||||
|
|
||||||
Some((message.response_target().unwrap_or("#lug").to_string(), complete_message.to_string()))
|
complete_message
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ pub const PATTERN: &str = "^\\$[Ll]enny\\s*(?P<text>.*)$";
|
|||||||
const USAGE: &str = "Usage: ![Ll]enny
|
const USAGE: &str = "Usage: ![Ll]enny
|
||||||
Displays a Lenny face ( ͡° ͜ʖ ͡°)";
|
Displays a Lenny face ( ͡° ͜ʖ ͡°)";
|
||||||
|
|
||||||
pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque<Message>) -> Option<(String,String)> {
|
pub fn mod_message(captures: regex::Captures, message: &Message, _message_buf: &VecDeque<Message>) -> String {
|
||||||
let lenny = LENNYS[rand::thread_rng().gen_range(0..LENNYS.len())].to_string();
|
let lenny = LENNYS[rand::thread_rng().gen_range(0..LENNYS.len())].to_string();
|
||||||
let text = captures.get(1).unwrap().as_str();
|
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) {
|
pub fn usage(message: &Message) -> (String,String) {
|
||||||
|
|||||||
@@ -3,11 +3,12 @@ use std::collections::VecDeque;
|
|||||||
|
|
||||||
pub const PATTERN: &str = "\\$noemo (?P<nick>[^\\s]+)";
|
pub const PATTERN: &str = "\\$noemo (?P<nick>[^\\s]+)";
|
||||||
|
|
||||||
pub fn no_emo(captures: regex::Captures, message: &Message, _: &VecDeque<Message>) -> Option<(String, String)> {
|
pub fn no_emo(captures: regex::Captures, message: &Message, _: &VecDeque<Message>) -> String {
|
||||||
let emo_person = captures.get(1).unwrap().as_str();
|
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",
|
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(),
|
message.source_nickname().unwrap_or("unknown_nick").to_string(),
|
||||||
emo_person);
|
emo_person);
|
||||||
Some((message.response_target().unwrap_or("#lug").to_string(), complete_message))
|
complete_message
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use chrono::{prelude::*, TimeDelta};
|
|||||||
pub const PATTERN: &str = "^\\$ttb\\s*$";
|
pub const PATTERN: &str = "^\\$ttb\\s*$";
|
||||||
|
|
||||||
|
|
||||||
pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque<Message>) -> Option<(String, String)> {
|
pub fn time_to_baby(_: regex::Captures, message: &Message, _: &VecDeque<Message>) -> String {
|
||||||
let local_time: DateTime<Local> = Local::now();
|
let local_time: DateTime<Local> = Local::now();
|
||||||
|
|
||||||
let birth_time: DateTime<Local> = Local.with_ymd_and_hms(2024, 10, 17, 00, 00, 00).unwrap();
|
let birth_time: DateTime<Local> = 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<Message>
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Some((message.response_target().unwrap_or("#lug").to_string(), completed_message))
|
completed_message
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user