diff --git a/src/custom.rs b/src/custom.rs index 6107797..56c6257 100644 --- a/src/custom.rs +++ b/src/custom.rs @@ -13,6 +13,7 @@ pub use crate::core::botmodules::ModulesManager; // mod experiments; mod experimental; +mod thisguy; // [ ] init() function that accepts bot instance - this is passed to init() on submodules @@ -21,5 +22,6 @@ pub async fn init(mgr: Arc) { // this is achieved by calling submodules that also have fn init() defined // experiments::init(mgr).await - experimental::init(mgr).await; + experimental::init(mgr.clone()).await; + thisguy::init(&mgr).await; } diff --git a/src/custom/experimental/experiment001.rs b/src/custom/experimental/experiment001.rs index 18d7aaa..18ef6f6 100644 --- a/src/custom/experimental/experiment001.rs +++ b/src/custom/experimental/experiment001.rs @@ -163,6 +163,7 @@ async fn good_girl(params : ExecBodyParams) { if params.msg.sender.name.to_lowercase() == "ModulatingForce".to_lowercase() || params.msg.sender.name.to_lowercase() == "mzNToRi".to_lowercase() + || params.msg.sender.name.to_lowercase() == "haruyuumei".to_lowercase() { botlog::debug( "Good Girl Detected > Pausechamp", @@ -180,8 +181,6 @@ async fn good_girl(params : ExecBodyParams) { ); let bot = Arc::clone(¶ms.bot); - - let botlock = bot.read().await; // uses chat.say_in_reply_to() for the bot controls for messages @@ -194,8 +193,6 @@ async fn good_girl(params : ExecBodyParams) { String::from("GoodGirl xdd "), params.clone() ).await; - - } } } diff --git a/src/custom/thisguy.rs b/src/custom/thisguy.rs new file mode 100644 index 0000000..cc53129 --- /dev/null +++ b/src/custom/thisguy.rs @@ -0,0 +1,62 @@ +use crate::core::bot_actions::*; +use crate::core::botinstance::Channel; +use crate::core::botlog; +use crate::core::botmodules::{BotActionTrait, BotCommand, BotModule, ModulesManager}; +use crate::core::identity::UserRole::*; +use rand::Rng; +use twitch_irc::message::ReplyToMessage; +use std::sync::Arc; +use tokio::time::{sleep, Duration}; +const OF_CMD_CHANNEL:Channel = Channel(String::new()); + +async fn tsg(params: ExecBodyParams) { + + 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(); + + 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( + Channel(params.clone().msg.channel_login().to_string()), + a, + params.clone() + ) + .await; + sleep(Duration::from_secs_f64(0.5)).await; +} + +pub async fn init(mgr: &Arc) { + BotCommand { + module: BotModule(String::from("thisguy")), + command: String::from("thisguy"), + alias: vec![String::from("Thisguy")], + exec_body: actions_util::asyncbox(tsg), + help: String::from("test"), + required_roles: vec![ + BotAdmin, + Mod(OF_CMD_CHANNEL), + Broadcaster + ], + } + .add_to_modmgr(Arc::clone(mgr)) + .await; +} \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index c5ba775..667ce02 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,2 +1,2 @@ pub mod core; -pub mod custom; +pub mod custom; \ No newline at end of file