Problem - with botmanagers

This commit is contained in:
ModulatingForce 2024-02-01 09:43:39 -05:00
parent 768bb5f03a
commit a16f7fbf04

View file

@ -17,6 +17,7 @@ use rand::Rng;
use crate::core::botmodules::BotAction;
use crate::core::ratelimiter::RateLimiter; use crate::core::ratelimiter::RateLimiter;
use crate::core::ratelimiter; use crate::core::ratelimiter;
@ -313,7 +314,10 @@ impl BotInstance
for (_m,acts) in &self.botmodules.botactions { for (_m,acts) in &self.botmodules.botactions {
for a in acts { for a in acts {
match a { // match a {
// let Some((b,msg)) = match a {
let b = match a {
crate::core::botmodules::BotAction::C(c) => { crate::core::botmodules::BotAction::C(c) => {
/* /*
@ -364,27 +368,64 @@ impl BotInstance
// match self.botmgrs.identity.to_owned().can_user_run_PRVMSG(&msg, c.required_roles.clone()) { // match self.botmgrs.identity.to_owned().can_user_run_PRVMSG(&msg, c.required_roles.clone()) {
// match self.botmgrs.identity.can_user_run_PRVMSG(&msg, c.required_roles.clone()) { // match self.botmgrs.identity.can_user_run_PRVMSG(&msg, c.required_roles.clone()) {
// let a = match self.botmgrs.identity.clone().can_user_run_PRVMSG(&msg, c.required_roles.clone()) {
match self.botmgrs.identity.clone().can_user_run_PRVMSG(&msg, c.required_roles.clone()) { match self.botmgrs.identity.clone().can_user_run_PRVMSG(&msg, c.required_roles.clone()) {
// Ok(Permissible::Allow) => (), // Ok(Permissible::Allow) => (),
Permissible::Allow => { Permissible::Allow => {
println!("Executed as permissible"); println!("Executed as permissible");
c.execute(self.botmgrs.clone(), msg.clone()).await; // c.execute(self.botmgrs.clone(), msg.clone()).await;
// c.execute(self.botmgrs, msg.clone()).await;
// Some((BotAction::C(c),msg.clone()))
Some(msg)
//Some(BotAction::C(*c))
//Some(String::from("Hello"))
} }
Permissible::Block => println!("User Not allowed to run command"), Permissible::Block => {
println!("User Not allowed to run command");
// None::<(BotAction,PrivmsgMessage)>
None::<&PrivmsgMessage>
//None
//Some(String::from("Hello"))
},
// _ => (), // _ => (),
} };
// c.execute(self.chat.clone(), msg.clone()).await; // c.execute(self.chat.clone(), msg.clone()).await;
} }
None::<&PrivmsgMessage> // [ ] Command not confirmed?
}, },
crate::core::botmodules::BotAction::L(l) => l.execute(self.botmgrs.clone(), msg.clone()).await, // crate::core::botmodules::BotAction::L(l) => l.execute(self.botmgrs.clone(), msg.clone()).await,
//crate::core::botmodules::BotAction::L(l) => l.execute(self.botmgrs, msg.clone()).await,
_ => (), _ => None::<&PrivmsgMessage> , // -- [ ] If not any known botaction
};
// b = BotAction either found or not
match b {
Some(b) => {
// a.execute(self.botmgrs.clone(), b.clone()).await; // This compiles but issue - botmgrs aren't updating
a.execute(self.botmgrs, b.clone()).await; // This throws the following
/*
error[E0507]: cannot move out of `self.botmgrs` which is behind a shared reference
--> src\core\botinstance.rs:409:35
|
409 | a.execute(self.botmgrs, b.clone()).await; // This throws
| ^^^^^^^^^^^^ move occurs because `self.botmgrs` has type `BotManagers`, which does not implement the `Copy` trait
*/
} }
None => (),
}
} }
}; };
// // [ ] 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");