aboutsummaryrefslogtreecommitdiff
path: root/src/modules/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/plugins')
-rw-r--r--src/modules/plugins/macros.rs11
-rw-r--r--src/modules/plugins/mod.rs3
-rw-r--r--src/modules/plugins/random_hi.rs18
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!");
+ }
+}