diff --git a/src/custom/thisguy.rs b/src/custom/thisguy.rs index b539b3e..0ca6de8 100644 --- a/src/custom/thisguy.rs +++ b/src/custom/thisguy.rs @@ -1,63 +1,44 @@ use crate::core::bot_actions::*; +use crate::core::botinstance::Channel; use crate::core::botlog; -use crate::core::botmodules::{BotActionTrait, BotCommand, BotModule, Listener, ModulesManager}; +use crate::core::botmodules::{BotActionTrait, BotCommand, BotModule, ModulesManager}; use crate::core::identity::UserRole::*; use rand::Rng; use std::sync::Arc; use tokio::time::{sleep, Duration}; - -//using the env file to get bot prefix -use std::env; -use dotenv::dotenv; - -//bot function +const OF_CMD_CHANNEL:Channel = Channel(String::new()); async fn tsg(params: ExecBodyParams) { - //Defining a var prefix to the prefix on the env file - dotenv().ok(); - let prefix = env::var("prefix").unwrap(); - /* - defining a text with the prefix + the command name (idk how to get the command) - so for now i'm typing the command - */ - let text = String::from(&prefix) + "This"; - let text2 = String::from(&prefix) + "this"; + let phrases: [String; 6] = [ + "Clueless ".to_string(), + "ICANT This guy....".to_string(), + "He is right tho".to_string(), + "KEKW true!".to_string(), + "OMEGALUL wth man...".to_string(), + "PepeLaugh El no sabe".to_string(), + ]; - //comparing the text sent with the text (prefix + command name) - if params.msg.message_text == text - || params.msg.message_text == text2 - { - let phrases: [String; 6] = [ - "Clueless".to_string(), - "ICANT This guy....".to_string(), - "He is right tho".to_string(), - "KEKW true!".to_string(), - "OMEGALUL wth man...".to_string(), - "PepeLaugh El no sabe".to_string(), - ]; + let r = rand::thread_rng().gen_range(0..=4); + let a = phrases[r].clone(); - let r = rand::thread_rng().gen_range(0..=4); - let a = phrases[r].clone(); + let test = params.get_parent_module(); - botlog::debug( - "This guy works!", - Some("modules > thisguy()".to_string()), - Some(¶ms.msg), - ); - let bot = Arc::clone(¶ms.bot); - let botlock = bot.read().await; + botlog::debug( + "This guy works!", + Some("modules > thisguy()".to_string()), + Some(¶ms.msg), + ); + let bot = Arc::clone(¶ms.bot); + let botlock = bot.read().await; - // uses chat.say_in_reply_to() for the bot controls for messages - botlock - .botmgrs - .chat - .say_in_reply_to(¶ms.msg, a, params.clone()) - .await; - sleep(Duration::from_secs_f64(0.5)).await; - }else { - //println!("didn't type the proper command"); - } + // uses chat.say_in_reply_to() for the bot controls for messages + botlock + .botmgrs + .chat + .say_in_reply_to(¶ms.msg, a, params.clone()) + .await; + sleep(Duration::from_secs_f64(0.5)).await; } pub async fn init(mgr: &Arc) { @@ -65,29 +46,14 @@ pub async fn init(mgr: &Arc) { module: BotModule(String::from("thisguy")), command: String::from("thisguy"), alias: vec![String::from("Thisguy")], - exec_body: actions_util::asyncbox(test), - help: String::from("test"), - required_roles: vec![BotAdmin], - } - .add_to_modmgr(Arc::clone(&mgr)) - .await; - - Listener { - module: BotModule(String::from("thisguy")), - name: String::from("This Guy Listener"), exec_body: actions_util::asyncbox(tsg), - help: String::from(""), + help: String::from("test"), + required_roles: vec![ + BotAdmin, + Mod(OF_CMD_CHANNEL), + Broadcaster + ], } .add_to_modmgr(Arc::clone(&mgr)) .await; -} - - -async fn test(params: ExecBodyParams) { - println!("Test triggered!"); // NOTE : This test function intends to print (e.g., to stdout) at fn call - botlog::debug( - "test triggered!", - Some("modules > tesst()".to_string()), - Some(¶ms.msg), - ); -} +} \ No newline at end of file