renamed module.rs to lib.rs to allow for rust lib

This commit is contained in:
2024-03-26 17:59:34 -07:00
parent e870fad145
commit 54bf544760
2 changed files with 11 additions and 12 deletions

View File

@@ -1,17 +1,17 @@
use std::collections::VecDeque; use std::collections::VecDeque;
use irc::proto::{Message, Command::*}; 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 //is this the best way to do this? probably not
mod lenny; mod modules;
mod bully;
mod join_rude; use modules::{bully, lenny, join_rude};
type ModuleFunc = fn(&Message, &VecDeque<Message>)->Option<(String, String)>; type ModuleFunc = fn(&Message, &VecDeque<Message>)->Option<(String, String)>;
const NUM_MODS:usize = 2; 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<Message>) -> Option<(String,String)> { pub fn handle(message: &Message, message_buf: &VecDeque<Message>) -> Option<(String,String)> {
match message.command { match message.command {
@@ -24,7 +24,7 @@ pub fn handle(message: &Message, message_buf: &VecDeque<Message>) -> Option<(Str
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()),
_ => () _ => ()
} }
None None
} }

View File

@@ -2,8 +2,7 @@ use std::collections::VecDeque;
use irc::{client::prelude::*, error::Error}; use irc::{client::prelude::*, error::Error};
use futures::prelude::*; use futures::prelude::*;
mod module; use robbit::handle;
#[tokio::main] #[tokio::main]
async fn main() -> Result<(), Error>{ async fn main() -> Result<(), Error>{
@@ -16,16 +15,16 @@ async fn main() -> Result<(), Error>{
let mut stream = client.stream()?; let mut stream = client.stream()?;
let sender = client.sender(); let sender = client.sender();
let mut message_buf: VecDeque<Message> = VecDeque::with_capacity(max_len); let mut message_buf: VecDeque<Message> = VecDeque::with_capacity(max_len);
while let Some(message) = stream.next().await.transpose()? { while let Some(message) = stream.next().await.transpose()? {
print!("{}",message); print!("{}",message);
let response = module::handle(&message, &message_buf); let response = handle(&message, &message_buf);
if let Some((target,msg))= response { if let Some((target,msg))= response {
print!("{}",message); print!("{}",message);
sender.send_privmsg(target,msg)?; sender.send_privmsg(target,msg)?;
} }
if message_buf.len() < max_len { if message_buf.len() < max_len {
message_buf.push_front(message); message_buf.push_front(message);