diff options
Diffstat (limited to 'src/modules/plugins')
| -rw-r--r-- | src/modules/plugins/macros.rs | 11 | ||||
| -rw-r--r-- | src/modules/plugins/mod.rs | 3 | ||||
| -rw-r--r-- | src/modules/plugins/random_hi.rs | 18 |
3 files changed, 32 insertions, 0 deletions
diff --git a/src/modules/plugins/macros.rs b/src/modules/plugins/macros.rs new file mode 100644 index 0000000..f28cf7c --- /dev/null +++ b/src/modules/plugins/macros.rs @@ -0,0 +1,11 @@ +#![macro_use] + +#[macro_export] +macro_rules! exec_on_message { + ([$ctx:expr, $message:expr], $($plugin:ident), *) => {{ + // use utils::config::get_pool; + // let pool = get_pool(&$ctx); + + $($plugin::on_message($ctx, /* &pool, */ $message);)* + }} +} diff --git a/src/modules/plugins/mod.rs b/src/modules/plugins/mod.rs new file mode 100644 index 0000000..10e3e24 --- /dev/null +++ b/src/modules/plugins/mod.rs @@ -0,0 +1,3 @@ +// #[macro_use] pub mod macros; + +pub mod random_hi; diff --git a/src/modules/plugins/random_hi.rs b/src/modules/plugins/random_hi.rs new file mode 100644 index 0000000..ff2b7e5 --- /dev/null +++ b/src/modules/plugins/random_hi.rs @@ -0,0 +1,18 @@ +use serenity::model::channel::Message; +use serenity::prelude::Context; +use rand::{thread_rng, Rng}; + +pub fn on_message(_ctx: &Context, message: &Message) { + let greatings = vec!["hi", "hey", "hello", "hei", "yo"]; + let message_content: &str = &message.content.to_lowercase(); + if !greatings.contains(&message_content) || message.author.bot { + return (); + } + + let mut rng = thread_rng(); + let n: u32 = rng.gen_range(0, 16); + + if n == 1 { + let _ = message.channel_id.say("Hi!"); + } +} |