From f41e012f8e64c193a7117ffbf278303ca3a8fde4 Mon Sep 17 00:00:00 2001 From: doryan Date: Wed, 21 Aug 2024 20:57:43 +0400 Subject: [PATCH] refactor: add append_command macro --- src/main.rs | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4ec7a16..b127301 100644 --- a/src/main.rs +++ b/src/main.rs @@ -46,6 +46,16 @@ fn logs() { ); } +macro_rules! append_command { + ($branch:expr, $($command:expr), *) => { + $($branch + .message + .register($command) + .filter(Command::one(stringify!($command))); + )* + } +} + #[tokio::main] async fn main() { logs(); @@ -70,30 +80,8 @@ async fn main() { let mut admin_commands = Router::new("admin_commands"); let mut default_commands = Router::new("default_commands"); - default_commands - .message - .register(help) - .filter(Command::one("help")); - - default_commands - .message - .register(privacy) - .filter(Command::one("privacy")); - - admin_commands - .message - .register(unmute) - .filter(Command::one("unmute")); - - admin_commands - .message - .register(mute) - .filter(Command::one("mute")); - - admin_commands - .message - .register(ban) - .filter(Command::one("ban")); + append_command!(default_commands, help, privacy); + append_command!(admin_commands, unmute, mute, ban); admin_commands .message