(cont) botlog module
This commit is contained in:
parent
fd80921ebb
commit
51d5db3f4e
5 changed files with 411 additions and 78 deletions
|
@ -57,7 +57,7 @@ pub mod botlog {
|
||||||
/*
|
/*
|
||||||
Module intends to add some layers to logging with the module user only requiring to pass :
|
Module intends to add some layers to logging with the module user only requiring to pass :
|
||||||
- String Log message
|
- String Log message
|
||||||
- Option<String> - Code Module
|
- Option<String> - Code_Module
|
||||||
- Option<PrivmsgMessage> - this is used to parse out Chatter & Channel into the logs
|
- Option<PrivmsgMessage> - this is used to parse out Chatter & Channel into the logs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -66,28 +66,160 @@ pub mod botlog {
|
||||||
|
|
||||||
// trace, debug, info, notice, warn, error, fatal
|
// trace, debug, info, notice, warn, error, fatal
|
||||||
|
|
||||||
fn trace(in_msg:&str,module:Option<String>,prvmsg:Option<PrivmsgMessage>,) -> () {
|
pub fn trace(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> ()
|
||||||
|
{
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::trace_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn debug(prvmsg:Option<PrivmsgMessage>,in_msg:&str) -> () {
|
pub fn debug(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> () {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::debug_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn info(prvmsg:Option<PrivmsgMessage>,in_msg:&str) -> () {
|
pub fn info(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> () {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::info_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn notice(prvmsg:Option<PrivmsgMessage>,in_msg:&str) -> () {
|
pub fn notice(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> () {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::notice_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn warn(prvmsg:Option<PrivmsgMessage>,in_msg:&str) -> () {
|
pub fn warn(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> () {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::warn_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn error(prvmsg:Option<PrivmsgMessage>,in_msg:&str) -> () {
|
pub fn error(in_msg:&str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> () {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::error_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn fatal<'a>(in_msg:&'a str,in_module:Option<String>,in_prvmsg:Option<&PrivmsgMessage>) -> &'a str {
|
||||||
|
|
||||||
|
let (chnl,chatter) = match in_prvmsg {
|
||||||
|
Some(prvmsg) => {
|
||||||
|
//Log::trace(&format!("(#{}) {}: {}", prvmsg.channel_login, prvmsg.sender.name, prvmsg.message_text));
|
||||||
|
(Some(prvmsg.channel_login.clone()),Some(prvmsg.sender.name.clone())) // <-- Clone fine atm while we're just working with Strings
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
(None,None)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Log::fatal_t(
|
||||||
|
in_msg,
|
||||||
|
casual_logger::Table::default() //
|
||||||
|
.str("Channel",&format!("{:?}",chnl))
|
||||||
|
.str("Chatter",&format!("{:?}",chatter))
|
||||||
|
.str("Code_Module",&format!("{:?}",in_module))
|
||||||
|
);
|
||||||
|
|
||||||
|
in_msg
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -156,10 +288,16 @@ impl Chat {
|
||||||
|
|
||||||
self.client.say_in_reply_to(msg,outmsg).await.unwrap();
|
self.client.say_in_reply_to(msg,outmsg).await.unwrap();
|
||||||
// println!("(#{}) > {}", msg.channel_login, "rate limit counter increase");
|
// println!("(#{}) > {}", msg.channel_login, "rate limit counter increase");
|
||||||
Log::trace(&format!("(#{}) > {}", msg.channel_login, "rate limit counter increase"));
|
// Log::trace(&format!("(#{}) > {}", msg.channel_login, "rate limit counter increase"));
|
||||||
|
botlog::trace(&format!("(#{}) > {}", msg.channel_login, "rate limit counter increase"),
|
||||||
|
Some("Chat > say_in_reply_to".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
contextratelimiter.increment_counter();
|
contextratelimiter.increment_counter();
|
||||||
// println!("{:?}",self.ratelimiters);
|
// println!("{:?}",self.ratelimiters);
|
||||||
Log::trace(&format!("{:?}",self.ratelimiters));
|
// Log::trace(&format!("{:?}",self.ratelimiters));
|
||||||
|
botlog::trace(&format!("{:?}",self.ratelimiters),
|
||||||
|
Some("Chat > say_in_reply_to".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
},
|
},
|
||||||
ratelimiter::LimiterResp::Skip => {
|
ratelimiter::LimiterResp::Skip => {
|
||||||
(); // do nothing otherwise
|
(); // do nothing otherwise
|
||||||
|
@ -328,36 +466,57 @@ impl BotInstance
|
||||||
match &msg.channel_login {
|
match &msg.channel_login {
|
||||||
Some(chnl) => {
|
Some(chnl) => {
|
||||||
// println!("NOTICE : (#{}) {}", chnl, msg.message_text)
|
// println!("NOTICE : (#{}) {}", chnl, msg.message_text)
|
||||||
Log::notice(&format!("NOTICE : (#{}) {}", chnl, msg.message_text));
|
// Log::notice(&format!("NOTICE : (#{}) {}", chnl, msg.message_text));
|
||||||
|
botlog::notice(&format!("NOTICE : (#{}) {}", chnl, msg.message_text),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
None);
|
||||||
|
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
// println!("NOTICE : {}", msg.message_text);
|
// println!("NOTICE : {}", msg.message_text);
|
||||||
Log::notice(&format!("NOTICE : {}", msg.message_text));
|
// Log::notice(&format!("NOTICE : {}", msg.message_text));
|
||||||
|
botlog::notice(&format!("NOTICE : {}", msg.message_text),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
None);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ServerMessage::Privmsg(msg) => {
|
ServerMessage::Privmsg(msg) => {
|
||||||
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
||||||
Log::trace(&format!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text));
|
// Log::trace(&format!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text));
|
||||||
|
botlog::debug(&format!("Twitch Chat > {} @ #{}: {}", msg.channel_login, msg.sender.name, msg.message_text),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
// println!("Privmsg section");
|
// println!("Privmsg section");
|
||||||
Log::debug(&format!("Privmsg section"));
|
// Log::debug(&format!("Privmsg section"));
|
||||||
|
botlog::trace(&format!("Privmsg section"),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
BotInstance::listener_main_prvmsg(Arc::clone(&bot), &msg).await;
|
BotInstance::listener_main_prvmsg(Arc::clone(&bot), &msg).await;
|
||||||
|
|
||||||
},
|
},
|
||||||
ServerMessage::Whisper(msg) => {
|
ServerMessage::Whisper(msg) => {
|
||||||
// println!("(w) {}: {}", msg.sender.name, msg.message_text);
|
// println!("(w) {}: {}", msg.sender.name, msg.message_text);
|
||||||
Log::trace(&format!("(w) {}: {}", msg.sender.name, msg.message_text));
|
// Log::trace(&format!("(w) {}: {}", msg.sender.name, msg.message_text));
|
||||||
|
botlog::trace(&format!("(w) {}: {}", msg.sender.name, msg.message_text),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
None);
|
||||||
},
|
},
|
||||||
ServerMessage::Join(msg) => {
|
ServerMessage::Join(msg) => {
|
||||||
// println!("JOINED: {}", msg.channel_login);
|
// println!("JOINED: {}", msg.channel_login);
|
||||||
Log::notice(&format!("JOINED: {}", msg.channel_login));
|
// Log::notice(&format!("JOINED: {}", msg.channel_login));
|
||||||
|
botlog::notice(&format!("JOINED: {}", msg.channel_login),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
None);
|
||||||
},
|
},
|
||||||
ServerMessage::Part(msg) => {
|
ServerMessage::Part(msg) => {
|
||||||
// println!("PARTED: {}", msg.channel_login);
|
// println!("PARTED: {}", msg.channel_login);
|
||||||
Log::notice(&format!("PARTED: {}", msg.channel_login));
|
// Log::notice(&format!("PARTED: {}", msg.channel_login));
|
||||||
|
botlog::notice(&format!("PARTED: {}", msg.channel_login),
|
||||||
|
Some("BotInstance > runner()".to_string()) ,
|
||||||
|
None);
|
||||||
},
|
},
|
||||||
_ => {}
|
_ => {}
|
||||||
};
|
};
|
||||||
|
@ -404,7 +563,10 @@ impl BotInstance
|
||||||
|
|
||||||
pub async fn listener_main_prvmsg(bot:BotAR,msg:&PrivmsgMessage) -> () {
|
pub async fn listener_main_prvmsg(bot:BotAR,msg:&PrivmsgMessage) -> () {
|
||||||
// println!(">> Inner listenermain_prvmsg()");
|
// println!(">> Inner listenermain_prvmsg()");
|
||||||
Log::trace(">> Inner listenermain_prvmsg()");
|
// Log::trace(">> Inner listenermain_prvmsg()");
|
||||||
|
botlog::trace(">> Inner listenermain_prvmsg()",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
// let a = a;
|
// let a = a;
|
||||||
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
||||||
|
@ -416,15 +578,24 @@ impl BotInstance
|
||||||
// let hacts = hacts.read().await;
|
// let hacts = hacts.read().await;
|
||||||
let a = hacts.read().await;
|
let a = hacts.read().await;
|
||||||
// println!("hacts size : {}",(*a).len());
|
// println!("hacts size : {}",(*a).len());
|
||||||
Log::debug(&format!("hacts size : {}",(*a).len()));
|
// Log::debug(&format!("hacts size : {}",(*a).len()));
|
||||||
|
botlog::trace(&format!("hacts size : {}",(*a).len()),
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
// println!(">> Inner listenermain_prvmsg() >> before for loop of bot actions");
|
// println!(">> Inner listenermain_prvmsg() >> before for loop of bot actions");
|
||||||
Log::trace(">> Inner listenermain_prvmsg() >> before for loop of bot actions");
|
// Log::trace(">> Inner listenermain_prvmsg() >> before for loop of bot actions");
|
||||||
|
botlog::trace(">> Inner listenermain_prvmsg() >> before for loop of bot actions",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
for (_m,acts) in &*hacts.read().await {
|
for (_m,acts) in &*hacts.read().await {
|
||||||
|
|
||||||
// println!(">> Inner listenermain_prvmsg() >> checking bot actions");
|
// println!(">> Inner listenermain_prvmsg() >> checking bot actions");
|
||||||
Log::trace(">> Inner listenermain_prvmsg() >> checking bot actions");
|
// Log::trace(">> Inner listenermain_prvmsg() >> checking bot actions");
|
||||||
|
botlog::trace(">> Inner listenermain_prvmsg() >> checking bot actions",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
|
|
||||||
// let bot = bot;
|
// let bot = bot;
|
||||||
|
@ -432,7 +603,10 @@ impl BotInstance
|
||||||
for a in acts {
|
for a in acts {
|
||||||
|
|
||||||
// println!(">> Inner listenermain_prvmsg() >> checking bot actions >> 2");
|
// println!(">> Inner listenermain_prvmsg() >> checking bot actions >> 2");
|
||||||
Log::trace(">> Inner listenermain_prvmsg() >> checking bot actions >> 2");
|
// Log::trace(">> Inner listenermain_prvmsg() >> checking bot actions >> 2");
|
||||||
|
botlog::trace(">> Inner listenermain_prvmsg() >> checking bot actions >> 2",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let _act = match a {
|
let _act = match a {
|
||||||
|
|
||||||
|
@ -452,9 +626,12 @@ impl BotInstance
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// println!("Reviewing internal commands");
|
// println!("Reviewing internal commands");
|
||||||
Log::trace("Reviewing internal commands");
|
// Log::trace("Reviewing internal commands");
|
||||||
|
botlog::trace("Reviewing internal commands",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let inpt = msg.message_text.split("\n").next().expect("ERROR during BotCommand");
|
// let inpt = msg.message_text.split("\n").next().expect("ERROR during BotCommand");
|
||||||
let inpt = msg.message_text.split(" ").next().expect("ERROR during BotCommand");
|
let inpt = msg.message_text.split(" ").next().expect("ERROR during BotCommand");
|
||||||
|
|
||||||
|
|
||||||
|
@ -481,19 +658,35 @@ impl BotInstance
|
||||||
|
|
||||||
if confirmed_bot_command {
|
if confirmed_bot_command {
|
||||||
// println!("Confirmed bot command");
|
// println!("Confirmed bot command");
|
||||||
Log::debug("Confirmed bot command");
|
// Log::debug("Confirmed bot command");
|
||||||
|
botlog::debug("Confirmed bot command",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
// println!("Going for botlock");
|
// println!("Going for botlock");
|
||||||
Log::trace("Going for botlock");
|
// Log::trace("Going for botlock");
|
||||||
|
botlog::trace("Going for botlock",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let botlock = bot.read().await;
|
let botlock = bot.read().await;
|
||||||
// println!("Going for identity");
|
// println!("Going for identity");
|
||||||
Log::trace("Going for identity");
|
// Log::trace("Going for identity");
|
||||||
|
botlog::trace("Going for identity",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let id = botlock.get_identity();
|
let id = botlock.get_identity();
|
||||||
|
|
||||||
let eval = {
|
let eval = {
|
||||||
let mut id = id.write().await;
|
let mut id = id.write().await;
|
||||||
// println!("Unlocking identity");
|
// println!("Unlocking identity");
|
||||||
Log::trace("Unlocking identity");
|
// Log::trace("Unlocking identity");
|
||||||
|
botlog::trace("Unpacking identity",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
|
|
||||||
let (a,b) = id.can_user_run_PRVMSG(&msg, c.required_roles.clone()).await;
|
let (a,b) = id.can_user_run_PRVMSG(&msg, c.required_roles.clone()).await;
|
||||||
// // [-] #todo : need ot add functionality around here to do an o7 when a mod has been promoted => Preferring to do this outside the mutex
|
// // [-] #todo : need ot add functionality around here to do an o7 when a mod has been promoted => Preferring to do this outside the mutex
|
||||||
// if let ChangeResult::Success(b) = b {
|
// if let ChangeResult::Success(b) = b {
|
||||||
|
@ -507,33 +700,54 @@ impl BotInstance
|
||||||
};
|
};
|
||||||
// println!("Checking if permissible");
|
// println!("Checking if permissible");
|
||||||
Log::trace("Checking if permissible");
|
Log::trace("Checking if permissible");
|
||||||
|
botlog::trace("Checking if permissible",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let (eval , rolechange) = eval;
|
let (eval , rolechange) = eval;
|
||||||
|
|
||||||
if let ChangeResult::Success(b) = rolechange {
|
if let ChangeResult::Success(b) = rolechange {
|
||||||
|
|
||||||
if b.to_lowercase().contains(&"Auto Promoted Mod".to_lowercase()) {
|
if b.to_lowercase().contains(&"Auto Promoted Mod".to_lowercase()) {
|
||||||
|
botlog::notice("Assigning Mod UserRole to Mod",
|
||||||
|
Some("botinstance > listener_main_prvmsg()".to_string()), Some(&msg));
|
||||||
|
|
||||||
|
|
||||||
// println!("Read() lock Bot");
|
// println!("Read() lock Bot");
|
||||||
Log::trace("Read() lock Bot");
|
// Log::trace("Read() lock Bot");
|
||||||
|
botlog::trace("Read() lock Bot",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
let botlock = bot.read().await;
|
let botlock = bot.read().await;
|
||||||
let outstr = "o7 a Mod. I kneel to serve! pepeKneel ".to_string();
|
let outstr = "o7 a Mod. I kneel to serve! pepeKneel ".to_string();
|
||||||
(*botlock).botmgrs.chat.say_in_reply_to(msg, outstr).await;
|
(*botlock).botmgrs.chat.say_in_reply_to(msg, outstr).await;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
match eval {
|
match eval {
|
||||||
Permissible::Allow => {
|
Permissible::Allow => {
|
||||||
// println!("Executed as permissible");
|
// println!("Executed as permissible");
|
||||||
Log::debug("Executed as permissible");
|
// Log::debug("Executed as permissible");
|
||||||
|
botlog::debug("Executed as permissible",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
let a = Arc::clone(&bot);
|
let a = Arc::clone(&bot);
|
||||||
c.execute(a, msg.clone()).await;
|
c.execute(a, msg.clone()).await;
|
||||||
// println!("exit out of execution");
|
// println!("exit out of execution");
|
||||||
Log::trace("exit out of execution");
|
// Log::trace("exit out of execution");
|
||||||
|
botlog::trace("exit out of execution",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
}
|
}
|
||||||
Permissible::Block => {
|
Permissible::Block => {
|
||||||
// println!("User Not allowed to run command");
|
// println!("User Not allowed to run command");
|
||||||
Log::info("User Not allowed to run command");
|
// Log::info("User Not allowed to run command");
|
||||||
|
botlog::info("User Not allowed to run command",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
},
|
},
|
||||||
// _ => (),
|
// _ => (),
|
||||||
};
|
};
|
||||||
|
@ -558,7 +772,10 @@ impl BotInstance
|
||||||
// // [ ] There should be a BotCommand Listener to check for prefixes ran
|
// // [ ] There should be a BotCommand Listener to check for prefixes ran
|
||||||
|
|
||||||
// println!("End of Separate Listener Main prvmsg");
|
// println!("End of Separate Listener Main prvmsg");
|
||||||
Log::trace("End of Separate Listener Main prvmsg");
|
// Log::trace("End of Separate Listener Main prvmsg");
|
||||||
|
botlog::trace("End of Separate Listener Main prvmsg",
|
||||||
|
Some("BotInstance > listener_main_prvmsg()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
// self
|
// self
|
||||||
// bot
|
// bot
|
||||||
|
|
|
@ -17,7 +17,7 @@ use tokio::sync::Mutex;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
use crate::core::botinstance::{self, BotInstance};
|
use crate::core::botinstance::{self, botlog, BotInstance};
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
// use tokio::sync::RwLock;
|
// use tokio::sync::RwLock;
|
||||||
|
@ -201,14 +201,20 @@ impl BotActionTrait for Listener
|
||||||
async fn add_to_bot(self, bot:BotInstance) {
|
async fn add_to_bot(self, bot:BotInstance) {
|
||||||
|
|
||||||
// println!("Adding action to bot");
|
// println!("Adding action to bot");
|
||||||
Log::trace("Adding action to bot");
|
// Log::trace("Adding action to bot");
|
||||||
|
botinstance::botlog::trace("Adding action to bot",
|
||||||
|
Some("BotModules > BotActionTrait > add_to_bot()".to_string()) ,
|
||||||
|
None);
|
||||||
self.add_to_modmgr(bot.botmodules).await;
|
self.add_to_modmgr(bot.botmodules).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn add_to_modmgr(self, modmgr:Arc<ModulesManager>) {
|
async fn add_to_modmgr(self, modmgr:Arc<ModulesManager>) {
|
||||||
// let modmgr = *modmgr.lock().await;
|
// let modmgr = *modmgr.lock().await;
|
||||||
// println!("Adding action to module manager");
|
// println!("Adding action to module manager");
|
||||||
Log::trace("Adding action to module manager");
|
// Log::trace("Adding action to module manager");
|
||||||
|
botinstance::botlog::trace("Adding action to module manager",
|
||||||
|
Some("BotModules > BotActionTrait > add_to_bot()".to_string()) ,
|
||||||
|
None);
|
||||||
|
|
||||||
modmgr.add_botaction(self.module.clone(), BotAction::L(self)).await;
|
modmgr.add_botaction(self.module.clone(), BotAction::L(self)).await;
|
||||||
}
|
}
|
||||||
|
@ -245,7 +251,11 @@ impl ModulesManager
|
||||||
|
|
||||||
// :: [x] initialize core modules
|
// :: [x] initialize core modules
|
||||||
|
|
||||||
println!("ModulesManager > init() > Adding modules");
|
// println!("ModulesManager > init() > Adding modules");
|
||||||
|
botlog::debug("ModulesManager > init() > Adding modules",
|
||||||
|
Some("ModulesManager > init()".to_string()),
|
||||||
|
None
|
||||||
|
);
|
||||||
let mgra = Arc::new(mgr);
|
let mgra = Arc::new(mgr);
|
||||||
crate::core::identity::init(Arc::clone(&mgra)).await;
|
crate::core::identity::init(Arc::clone(&mgra)).await;
|
||||||
|
|
||||||
|
@ -254,7 +264,11 @@ impl ModulesManager
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
println!(">> Modules Manager : End of Init");
|
// println!(">> Modules Manager : End of Init");
|
||||||
|
botlog::trace(">> Modules Manager : End of Init",
|
||||||
|
Some("ModulesManager > init()".to_string()),
|
||||||
|
None
|
||||||
|
);
|
||||||
|
|
||||||
mgra
|
mgra
|
||||||
}
|
}
|
||||||
|
@ -285,7 +299,14 @@ impl ModulesManager
|
||||||
|
|
||||||
|
|
||||||
pub async fn add_botaction(&self, in_module:ModType, in_action:BotAction ) {
|
pub async fn add_botaction(&self, in_module:ModType, in_action:BotAction ) {
|
||||||
println!("Add botaction called");
|
// println!("Add botaction called");
|
||||||
|
|
||||||
|
botlog::trace("Add botaction called",
|
||||||
|
Some("ModulesManager > init()".to_string()),
|
||||||
|
None
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
adds a BotAction to the Modules Manager - This will require a BotModule passed as well
|
adds a BotAction to the Modules Manager - This will require a BotModule passed as well
|
||||||
This will including the logic of a valid add
|
This will including the logic of a valid add
|
||||||
|
@ -426,8 +447,16 @@ impl ModulesManager
|
||||||
// modactions.push(BotAction::L(newlistener));
|
// modactions.push(BotAction::L(newlistener));
|
||||||
modactions.push(in_action);
|
modactions.push(in_action);
|
||||||
|
|
||||||
println!(">> Modules Manager : Called Add bot Action");
|
// println!(">> Modules Manager : Called Add bot Action");
|
||||||
println!("add_botaction - botactions size : {}",modactions.len());
|
botlog::trace(">> Modules Manager : Called Add bot Action",
|
||||||
|
Some("ModulesManager > init()".to_string()),
|
||||||
|
None
|
||||||
|
);
|
||||||
|
// println!("add_botaction - botactions size : {}",modactions.len());
|
||||||
|
botlog::trace(&format!("add_botaction - botactions size : {}",modactions.len()),
|
||||||
|
Some("ModulesManager > init()".to_string()),
|
||||||
|
None
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,9 @@ fn adminvector() -> Vec<String> {
|
||||||
pub async fn init(mgr:Arc<ModulesManager>)
|
pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
{
|
{
|
||||||
|
|
||||||
println!("Went into Identiy Module init");
|
// println!("Went into Identiy Module init");
|
||||||
|
botinstance::botlog::trace("Went into Identiy Module init",
|
||||||
|
Some("identity.rs > init()".to_string()), None);
|
||||||
|
|
||||||
// let a = actions_util::asyncbox(cmd_promote) ;
|
// let a = actions_util::asyncbox(cmd_promote) ;
|
||||||
|
|
||||||
|
@ -57,7 +59,9 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
async fn cmd_promote(bot:BotAR,msg:PrivmsgMessage) -> ()
|
async fn cmd_promote(bot:BotAR,msg:PrivmsgMessage) -> ()
|
||||||
{
|
{
|
||||||
//println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
//println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
||||||
println!("Called cmd promote");
|
// println!("Called cmd promote");
|
||||||
|
botinstance::botlog::trace("Called cmd promote",
|
||||||
|
Some("identity.rs > cmd_prommote()".to_string()), Some(&msg));
|
||||||
|
|
||||||
// -- If the BotCommand.command was called (e.g., promote) & required roles were validated OUTSIDE of this call
|
// -- If the BotCommand.command was called (e.g., promote) & required roles were validated OUTSIDE of this call
|
||||||
// , this is the current function body to execute
|
// , this is the current function body to execute
|
||||||
|
@ -87,7 +91,10 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
println!("{}",msg.message_text);
|
// println!("{}",msg.message_text);
|
||||||
|
botinstance::botlog::trace(&format!("{}",msg.message_text),
|
||||||
|
Some("identity.rs > cmd_prommote()".to_string()), None);
|
||||||
|
|
||||||
let mut argv = msg.message_text.split(" ");
|
let mut argv = msg.message_text.split(" ");
|
||||||
|
|
||||||
argv.next(); // Skip the command name
|
argv.next(); // Skip the command name
|
||||||
|
@ -122,7 +129,10 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
// if let Some(a) = *ta {
|
// if let Some(a) = *ta {
|
||||||
|
|
||||||
if a.contains(&UserRole::BotAdmin) {
|
if a.contains(&UserRole::BotAdmin) {
|
||||||
println!("BotAdmin allowed to promote admin");
|
// println!("BotAdmin allowed to promote admin");
|
||||||
|
botinstance::botlog::debug("BotAdmin allowed to promote admin",
|
||||||
|
Some("identity.rs > cmd_prommote()".to_string()), Some(&msg));
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
let botlock = Arc::clone(&bot.read().await.get_identity());
|
let botlock = Arc::clone(&bot.read().await.get_identity());
|
||||||
|
@ -184,8 +194,10 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
tempb.add_to_modmgr(Arc::clone(&mgr)).await;
|
tempb.add_to_modmgr(Arc::clone(&mgr)).await;
|
||||||
|
|
||||||
// async fn cmd_demote(mut _chat:Arc<Mutex<BotInstance>>,_msg:PrivmsgMessage) {
|
// async fn cmd_demote(mut _chat:Arc<Mutex<BotInstance>>,_msg:PrivmsgMessage) {
|
||||||
async fn cmd_demote(mut _chat:BotAR,_msg:PrivmsgMessage) {
|
async fn cmd_demote(mut _chat:BotAR,msg:PrivmsgMessage) {
|
||||||
println!("Called cmd demote");
|
// println!("Called cmd demote");
|
||||||
|
botinstance::botlog::debug("Called cmd demote",
|
||||||
|
Some("identity.rs > cmd_demote()".to_string()), Some(&msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -224,7 +236,9 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
|
|
||||||
// async fn getroles(bot:Arc<Mutex<BotInstance>>,msg:PrivmsgMessage) {
|
// async fn getroles(bot:Arc<Mutex<BotInstance>>,msg:PrivmsgMessage) {
|
||||||
async fn getroles(bot:BotAR,msg:PrivmsgMessage) {
|
async fn getroles(bot:BotAR,msg:PrivmsgMessage) {
|
||||||
println!("Called cmd getroles");
|
// println!("Called cmd getroles");
|
||||||
|
botinstance::botlog::debug("Called cmd getroles",
|
||||||
|
Some("identity.rs > cmd_getroles()".to_string()), Some(&msg));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Usage
|
Usage
|
||||||
|
@ -297,11 +311,17 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
// let a = a.lock().await;
|
// let a = a.lock().await;
|
||||||
// let a = bot.get_identity();
|
// let a = bot.get_identity();
|
||||||
let botlock = bot.read().await;
|
let botlock = bot.read().await;
|
||||||
println!("botlock read");
|
// println!("botlock read");
|
||||||
|
botinstance::botlog::trace("botlock read",
|
||||||
|
Some("identity.rs > init > getroles()".to_string()), Some(&msg));
|
||||||
let idlock = botlock.get_identity();
|
let idlock = botlock.get_identity();
|
||||||
println!("got identity");
|
// println!("got identity");
|
||||||
|
botinstance::botlog::trace("got identity",
|
||||||
|
Some("identity.rs > init > getroles()".to_string()), Some(&msg));
|
||||||
let idlock = idlock.read().await; // <-- 02.12 - Latest where it gest stuck - before or at this point
|
let idlock = idlock.read().await; // <-- 02.12 - Latest where it gest stuck - before or at this point
|
||||||
println!("id lock");
|
// println!("id lock");
|
||||||
|
botinstance::botlog::trace("id lock",
|
||||||
|
Some("identity.rs > init > getroles()".to_string()), Some(&msg));
|
||||||
let sproles = match targetchnl {
|
let sproles = match targetchnl {
|
||||||
None => {
|
None => {
|
||||||
// let bot = Rc::clone(&bot);
|
// let bot = Rc::clone(&bot);
|
||||||
|
@ -334,7 +354,9 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
println!("Retrieved User Roles >> {:?}",sproles);
|
// println!("Retrieved User Roles >> {:?}",sproles);
|
||||||
|
botinstance::botlog::debug(&format!("Retrieved User Roles >> {:?}",sproles),
|
||||||
|
Some("identity.rs > init > getroles()".to_string()), Some(&msg));
|
||||||
|
|
||||||
// let a = bot.identity.getuserroles(String::from("ModulatingForce"), Some(ChType::Channel(String::from("ModulatingForcebot"))));
|
// let a = bot.identity.getuserroles(String::from("ModulatingForce"), Some(ChType::Channel(String::from("ModulatingForcebot"))));
|
||||||
// println!("{:?}",a);
|
// println!("{:?}",a);
|
||||||
|
@ -343,7 +365,9 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
println!("End of Init MOdule add");
|
// println!("End of Init MOdule add");
|
||||||
|
botinstance::botlog::trace("End of Init MOdule add",
|
||||||
|
Some("identity.rs > init ".to_string()), None);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,7 +440,9 @@ impl IdentityManager {
|
||||||
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
// println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
||||||
|
|
||||||
// [ ] Check what Badges in PrivmsgMessage
|
// [ ] Check what Badges in PrivmsgMessage
|
||||||
println!{"Checking within PRVMSG"};
|
// println!{"Checking within PRVMSG"};
|
||||||
|
botinstance::botlog::debug("Checking within PRVMSG",
|
||||||
|
Some("identity.rs > can_user_run_PRVMSG()".to_string()), Some(&msg));
|
||||||
|
|
||||||
let mut sender_badge:Option<ChatBadge> = None;
|
let mut sender_badge:Option<ChatBadge> = None;
|
||||||
|
|
||||||
|
@ -486,7 +512,9 @@ impl IdentityManager {
|
||||||
// ) -> Result<Permissible,Box<dyn Error>> {
|
// ) -> Result<Permissible,Box<dyn Error>> {
|
||||||
) -> (Permissible,ChangeResult) {
|
) -> (Permissible,ChangeResult) {
|
||||||
|
|
||||||
println!{"Checking within can_user_run()"};
|
// println!{"Checking within can_user_run()"};
|
||||||
|
botinstance::botlog::debug("Checking within can_user_run()",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
/*
|
/*
|
||||||
canUserRun -
|
canUserRun -
|
||||||
|
|
||||||
|
@ -557,7 +585,9 @@ impl IdentityManager {
|
||||||
|
|
||||||
ChatBadge::Mod => {
|
ChatBadge::Mod => {
|
||||||
|
|
||||||
println!("Mod Chatbadge detected");
|
// println!("Mod Chatbadge detected");
|
||||||
|
botinstance::botlog::info("Mod Chatbadge detected",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
// println!("debug special roles : {:?}",self.special_roles_users);
|
// println!("debug special roles : {:?}",self.special_roles_users);
|
||||||
// println!("debug usr : {}",&usr.to_lowercase());
|
// println!("debug usr : {}",&usr.to_lowercase());
|
||||||
|
@ -565,9 +595,16 @@ impl IdentityManager {
|
||||||
// let Some((k,v)) = self.special_roles_users.get_key_value(usr);
|
// let Some((k,v)) = self.special_roles_users.get_key_value(usr);
|
||||||
// match self.special_roles_users.get_mut(&usr.to_lowercase()) {
|
// match self.special_roles_users.get_mut(&usr.to_lowercase()) {
|
||||||
// match self.special_roles_users.get(&usr.to_lowercase()) {
|
// match self.special_roles_users.get(&usr.to_lowercase()) {
|
||||||
println!("Creating clone");
|
// println!("Creating clone");
|
||||||
|
botinstance::botlog::trace("Creating clone",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
let roleslock = Arc::clone(&(*self).special_roles_users);
|
let roleslock = Arc::clone(&(*self).special_roles_users);
|
||||||
println!("Read lock on : Special_Roles_User"); // <-- after this is slightly different between working and problem
|
|
||||||
|
// println!("Read lock on : Special_Roles_User"); // <-- after this is slightly different between working and problem
|
||||||
|
botinstance::botlog::trace("Read lock on : Special_Roles_User",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
let mut roleslock = roleslock.write().await;
|
let mut roleslock = roleslock.write().await;
|
||||||
match (*roleslock).get(&usr.to_lowercase()) {
|
match (*roleslock).get(&usr.to_lowercase()) {
|
||||||
Some(usrroles) if
|
Some(usrroles) if
|
||||||
|
@ -577,12 +614,20 @@ impl IdentityManager {
|
||||||
// println!("contains supmod : {}", usrroles.read().await.contains(&UserRole::SupMod(channelname.clone())));
|
// println!("contains supmod : {}", usrroles.read().await.contains(&UserRole::SupMod(channelname.clone())));
|
||||||
|
|
||||||
// Do nothing when theh have a mod badge and have either a supmod or mod badge for the channel
|
// Do nothing when theh have a mod badge and have either a supmod or mod badge for the channel
|
||||||
println!("Already a mod in roles");
|
// println!("Already a mod in roles");
|
||||||
|
botinstance::botlog::trace("Already a mod in roles",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
// In the event they have a mod badge , are running a bot command, but don't have a channel mod role yet...
|
// In the event they have a mod badge , are running a bot command, but don't have a channel mod role yet...
|
||||||
println!("lock created > adding with a mod role o7");
|
// println!("lock created > adding with a mod role o7");
|
||||||
|
botinstance::botlog::trace("lock created > adding with a mod role o7",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
|
// botinstance::botlog::notice("Assigning ModRole to Chatter",
|
||||||
|
// Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
let mut roleslock = roleslock;
|
let mut roleslock = roleslock;
|
||||||
let mut a = roleslock.get_mut(&usr.to_lowercase()).unwrap();
|
let mut a = roleslock.get_mut(&usr.to_lowercase()).unwrap();
|
||||||
let mut alock = a.write().await;
|
let mut alock = a.write().await;
|
||||||
|
@ -607,7 +652,9 @@ impl IdentityManager {
|
||||||
|
|
||||||
// [x] If cmdreqroles includes UserRole::Mod("") , checks if chatter has UserRole::Mod(channelname::ChType) or UserRole::SupMod(channelname::ChType) to determine if Ok(Permissible::Allow)
|
// [x] If cmdreqroles includes UserRole::Mod("") , checks if chatter has UserRole::Mod(channelname::ChType) or UserRole::SupMod(channelname::ChType) to determine if Ok(Permissible::Allow)
|
||||||
|
|
||||||
println!("cmd required roles : {:?}",cmdreqroles);
|
// println!("cmd required roles : {:?}",cmdreqroles);
|
||||||
|
botinstance::botlog::trace(&format!("cmd required roles : {:?}",cmdreqroles),
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
if cmdreqroles.contains(&UserRole::Mod(ChType::Channel(String::new()))) {
|
if cmdreqroles.contains(&UserRole::Mod(ChType::Channel(String::new()))) {
|
||||||
// match self.special_roles_users.get(&channelname) {
|
// match self.special_roles_users.get(&channelname) {
|
||||||
|
@ -616,13 +663,20 @@ impl IdentityManager {
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
println!("Mod Role required");
|
// println!("Command requires Mod Role");
|
||||||
|
botinstance::botlog::trace("Command requires Mod Role",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
if let Some(a) = (&*self).special_roles_users.read().await.get(&usr.to_lowercase()) {
|
if let Some(a) = (&*self).special_roles_users.read().await.get(&usr.to_lowercase()) {
|
||||||
println!("Special roles found for user");
|
// println!("Special roles found for user");
|
||||||
|
botinstance::botlog::trace("Special roles found for user",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
if a.read().await.contains(&UserRole::Mod(channelname.clone())) || a.read().await.contains(&UserRole::SupMod(channelname.clone())){
|
if a.read().await.contains(&UserRole::Mod(channelname.clone())) || a.read().await.contains(&UserRole::SupMod(channelname.clone())){
|
||||||
// return Ok(Permissible::Allow);
|
// return Ok(Permissible::Allow);
|
||||||
println!("Special roles found for user : A mod idenfified ");
|
// println!("Special roles found for user : A mod idenfified ");
|
||||||
|
botinstance::botlog::trace("> Special Role Identified : Mod ",
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
return (Permissible::Allow , modrolechange)
|
return (Permissible::Allow , modrolechange)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -644,12 +698,22 @@ impl IdentityManager {
|
||||||
|
|
||||||
// [x] If cmdreqroles includes UserRole::BotAdmin and chatter has UserRole::BotAdmin , Ok(Permissible::Allow)
|
// [x] If cmdreqroles includes UserRole::BotAdmin and chatter has UserRole::BotAdmin , Ok(Permissible::Allow)
|
||||||
|
|
||||||
println!("Eval cmdreqroles with botadmin : {}",cmdreqroles.contains(&UserRole::BotAdmin));
|
// println!("Eval cmdreqroles with botadmin : {}",cmdreqroles.contains(&UserRole::BotAdmin));
|
||||||
|
botinstance::botlog::trace(&format!("Eval cmdreqroles with botadmin : {}",cmdreqroles.contains(&UserRole::BotAdmin)),
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
if cmdreqroles.contains(&UserRole::BotAdmin) {
|
if cmdreqroles.contains(&UserRole::BotAdmin) {
|
||||||
println!("special roles get : {:?}",(&*self).special_roles_users.read().await.get(&usr.to_lowercase()));
|
// println!("special roles get : {:?}",(&*self).special_roles_users.read().await.get(&usr.to_lowercase()));
|
||||||
|
botinstance::botlog::trace(&format!("special roles get : {:?}",(&*self).special_roles_users.read().await.get(&usr.to_lowercase())),
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if let Some(a) = (&*self).special_roles_users.read().await.get(&usr.to_lowercase()) {
|
if let Some(a) = (&*self).special_roles_users.read().await.get(&usr.to_lowercase()) {
|
||||||
println!("special roles contains BotAdmin: {}",a.read().await.contains(&UserRole::BotAdmin));
|
println!("special roles contains BotAdmin: {}",a.read().await.contains(&UserRole::BotAdmin));
|
||||||
|
botinstance::botlog::trace(&format!("special roles contains BotAdmin: {}",a.read().await.contains(&UserRole::BotAdmin)),
|
||||||
|
Some("identity.rs > can_user_run()".to_string()), None);
|
||||||
|
|
||||||
if a.read().await.contains(&UserRole::BotAdmin) {
|
if a.read().await.contains(&UserRole::BotAdmin) {
|
||||||
// return Ok(Permissible::Allow);
|
// return Ok(Permissible::Allow);
|
||||||
return (Permissible::Allow,modrolechange)
|
return (Permissible::Allow,modrolechange)
|
||||||
|
|
22
src/main.rs
22
src/main.rs
|
@ -6,7 +6,7 @@ use std::process::Output;
|
||||||
|
|
||||||
use crate::core::botinstance::ArcBox;
|
use crate::core::botinstance::ArcBox;
|
||||||
|
|
||||||
use crate::core::botinstance::BotInstance;
|
use crate::core::botinstance::{self,BotInstance};
|
||||||
use casual_logger::Extension;
|
use casual_logger::Extension;
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
@ -23,7 +23,8 @@ pub async fn main() {
|
||||||
|
|
||||||
let bot = BotInstance::init().await;
|
let bot = BotInstance::init().await;
|
||||||
|
|
||||||
Log::debug("Checking bot actions");
|
// Log::debug("Checking bot actions");
|
||||||
|
botinstance::botlog::debug("Checking bot actions", Some("main()".to_string()), None);
|
||||||
let a = Arc::clone(&bot.botmodules.botactions);
|
let a = Arc::clone(&bot.botmodules.botactions);
|
||||||
let a = a.read().await;
|
let a = a.read().await;
|
||||||
// let a = *a;
|
// let a = *a;
|
||||||
|
@ -33,15 +34,18 @@ pub async fn main() {
|
||||||
match act {
|
match act {
|
||||||
crate::core::botmodules::BotAction::C(b) => {
|
crate::core::botmodules::BotAction::C(b) => {
|
||||||
// println!("bot actiions: {}",b.command)
|
// println!("bot actiions: {}",b.command)
|
||||||
Log::info(&format!("bot actions: {}",b.command));
|
// Log::info(&format!("bot actions: {}",b.command));
|
||||||
|
botinstance::botlog::info(&format!("bot actions: {}",b.command), Some("main()".to_string()), None);
|
||||||
},
|
},
|
||||||
crate::core::botmodules::BotAction::L(l) => {
|
crate::core::botmodules::BotAction::L(l) => {
|
||||||
// println!("bot actiions: {}",l.name)
|
// println!("bot actiions: {}",l.name)
|
||||||
Log::info(&format!("bot actions: {}",l.name));
|
// Log::info(&format!("bot actions: {}",l.name));
|
||||||
|
botinstance::botlog::info(&format!("bot actions: {}",l.name), Some("main()".to_string()), None);
|
||||||
},
|
},
|
||||||
_ => {
|
_ => {
|
||||||
// println!("Not a valid match??")
|
// println!("Not a valid match??")
|
||||||
Log::info("Not a valid match??");
|
// Log::info("Not a valid match??");
|
||||||
|
botinstance::botlog::info("Not a valid match??", Some("main()".to_string()), None);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +53,9 @@ pub async fn main() {
|
||||||
};
|
};
|
||||||
|
|
||||||
// println!("Starting runner..");
|
// println!("Starting runner..");
|
||||||
Log::notice("Starting Bot Runner");
|
// Log::notice("Starting Bot Runner");
|
||||||
|
botinstance::botlog::notice("Starting Bot Runner", Some("main()".to_string()), None);
|
||||||
|
println!("Starting Bot Runner");
|
||||||
|
|
||||||
Log::flush();
|
Log::flush();
|
||||||
|
|
||||||
|
@ -57,6 +63,8 @@ pub async fn main() {
|
||||||
|
|
||||||
// println!("ERROR : EXIT Game loop");
|
// println!("ERROR : EXIT Game loop");
|
||||||
// let msg = Log::fatal("ERROR : EXIT Game loop");
|
// let msg = Log::fatal("ERROR : EXIT Game loop");
|
||||||
panic!("{}",Log::fatal("ERROR : EXIT Game loop"));
|
// panic!("{}",Log::fatal("ERROR : EXIT Game loop"));
|
||||||
|
let a = botinstance::botlog::fatal("ERROR : EXIT Game loop", Some("main()".to_string()), None);
|
||||||
|
panic!("{}",a);
|
||||||
|
|
||||||
}
|
}
|
|
@ -79,7 +79,13 @@ pub async fn init(mgr:Arc<ModulesManager>)
|
||||||
|
|
||||||
async fn good_girl(mut bot:BotAR,msg:PrivmsgMessage)
|
async fn good_girl(mut bot:BotAR,msg:PrivmsgMessage)
|
||||||
{
|
{
|
||||||
println!("In GoodGirl() Listener");
|
// println!("In GoodGirl() Listener");
|
||||||
|
// Change below from debug to trace if required later
|
||||||
|
botinstance::botlog::debug("In GoodGirl() Listener",
|
||||||
|
Some("experiments > goodgirl()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
|
|
||||||
//println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
//println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
|
||||||
|
|
||||||
// [ ] Uses gen_ratio() to output bool based on a ratio probability .
|
// [ ] Uses gen_ratio() to output bool based on a ratio probability .
|
||||||
|
@ -91,10 +97,16 @@ async fn good_girl(mut bot:BotAR,msg:PrivmsgMessage)
|
||||||
{
|
{
|
||||||
// chat.say_in_reply_to(&msg,String::from("GoodGirl")).await;
|
// chat.say_in_reply_to(&msg,String::from("GoodGirl")).await;
|
||||||
//if rng.gen_ratio(1,5) {
|
//if rng.gen_ratio(1,5) {
|
||||||
println!("In GoodGirl() > Pausechamp");
|
// println!("In GoodGirl() > Pausechamp");
|
||||||
|
botinstance::botlog::debug("In GoodGirl() > Pausechamp",
|
||||||
|
Some("experiments > goodgirl()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
let rollwin = rand::thread_rng().gen_ratio(1,8);
|
let rollwin = rand::thread_rng().gen_ratio(1,8);
|
||||||
if rollwin {
|
if rollwin {
|
||||||
println!("In GoodGirl() > Win");
|
// println!("In GoodGirl() > Win");
|
||||||
|
botinstance::botlog::debug("In GoodGirl() > Win",
|
||||||
|
Some("experiments > goodgirl()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
let a = Arc::clone(&bot);
|
let a = Arc::clone(&bot);
|
||||||
let botlock = a.read().await;
|
let botlock = a.read().await;
|
||||||
botlock.botmgrs.chat.say_in_reply_to(&msg, String::from("GoodGirl xdd ")).await;
|
botlock.botmgrs.chat.say_in_reply_to(&msg, String::from("GoodGirl xdd ")).await;
|
||||||
|
@ -106,8 +118,11 @@ async fn good_girl(mut bot:BotAR,msg:PrivmsgMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async fn testy(mut _chat:BotAR,_msg:PrivmsgMessage)
|
async fn testy(mut _chat:BotAR,msg:PrivmsgMessage)
|
||||||
{
|
{
|
||||||
println!("testy triggered!")
|
println!("testy triggered!"); // NOTE : This test function intends to print (e.g., to stdout) at fn call
|
||||||
|
botinstance::botlog::debug("testy triggered!",
|
||||||
|
Some("experiments > testy()".to_string()) ,
|
||||||
|
Some(&msg));
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue