From 3ca642734629b108ece241ea9644f5ed1ee339cb Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 30 Oct 2020 12:58:50 -0700 Subject: feat (desc) feat: - add `Procfile` and `app.json` to "prep" for heroku (probably not going to go to heroku though). - implement a plugin system and enable `random_hi` plugin. - move webserver to seperate location --- src/modules/plugins/macros.rs | 11 +++++++++++ src/modules/plugins/mod.rs | 3 +++ src/modules/plugins/random_hi.rs | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 src/modules/plugins/macros.rs create mode 100644 src/modules/plugins/mod.rs create mode 100644 src/modules/plugins/random_hi.rs (limited to 'src/modules/plugins') 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!"); + } +} -- cgit v1.2.3