diff --git a/src/module.rs b/src/lib.rs similarity index 84% rename from src/module.rs rename to src/lib.rs index c9b6a8e..8f062ac 100644 --- a/src/module.rs +++ b/src/lib.rs @@ -1,17 +1,17 @@ use std::collections::VecDeque; use irc::proto::{Message, Command::*}; -//list of available modules, add mod [MODULE_NAME]; when you complete a new module +//list of available modules, add mod [MODULE_NAME]; when you complete a new module //is this the best way to do this? probably not -mod lenny; -mod bully; -mod join_rude; +mod modules; + +use modules::{bully, lenny, join_rude}; type ModuleFunc = fn(&Message, &VecDeque)->Option<(String, String)>; const NUM_MODS:usize = 2; -const MOD_FUNCS: [ModuleFunc;NUM_MODS] = [lenny::Lenny::mod_message, bully::Bully::mod_message]; +const MOD_FUNCS: [ModuleFunc;NUM_MODS] = [lenny::mod_message, bully::mod_message]; pub fn handle(message: &Message, message_buf: &VecDeque) -> Option<(String,String)> { match message.command { @@ -24,7 +24,7 @@ pub fn handle(message: &Message, message_buf: &VecDeque) -> Option<(Str JOIN(ref channel,_,_) => return join_rude::join_rude(message.source_nickname().unwrap_or("unknown user"), channel.as_str()), _ => () } - + None -} \ No newline at end of file +} diff --git a/src/main.rs b/src/main.rs index e3b80c4..91c6392 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,8 +2,7 @@ use std::collections::VecDeque; use irc::{client::prelude::*, error::Error}; use futures::prelude::*; -mod module; - +use robbit::handle; #[tokio::main] async fn main() -> Result<(), Error>{ @@ -16,16 +15,16 @@ async fn main() -> Result<(), Error>{ let mut stream = client.stream()?; let sender = client.sender(); - + let mut message_buf: VecDeque = VecDeque::with_capacity(max_len); while let Some(message) = stream.next().await.transpose()? { print!("{}",message); - let response = module::handle(&message, &message_buf); + let response = handle(&message, &message_buf); if let Some((target,msg))= response { print!("{}",message); sender.send_privmsg(target,msg)?; - } + } if message_buf.len() < max_len { message_buf.push_front(message);