From 7e04699b67c4191b7b4ca8107057f3b6c6b109ce Mon Sep 17 00:00:00 2001
From: haruyuumei <luzivotto.erick@gmail.com>
Date: Wed, 3 Apr 2024 10:25:24 -0300
Subject: [PATCH] making changes

---
 src/custom/thisguy.rs | 104 ++++++++++++++----------------------------
 1 file changed, 35 insertions(+), 69 deletions(-)

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(&params.msg),
-        );
-        let bot = Arc::clone(&params.bot);
-        let botlock = bot.read().await;
+    botlog::debug(
+        "This guy works!",
+        Some("modules > thisguy()".to_string()),
+        Some(&params.msg),
+    );
+    let bot = Arc::clone(&params.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(&params.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(&params.msg, a, params.clone())
+        .await;
+    sleep(Duration::from_secs_f64(0.5)).await;
 }
 
 pub async fn init(mgr: &Arc<ModulesManager>) {
@@ -65,29 +46,14 @@ pub async fn init(mgr: &Arc<ModulesManager>) {
         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(&params.msg),
-    );
-}
+}
\ No newline at end of file