renamed module.rs to lib.rs to allow for rust lib
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user