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