From 69ab5441383fe9b9930a402ed3033af843cea397 Mon Sep 17 00:00:00 2001 From: Mishio595 Date: Wed, 14 Nov 2018 07:05:55 -0700 Subject: StandardFramework::cmd and CreateGroup::cmd now register aliases --- src/framework/standard/create_group.rs | 18 ++++++++++++++++++ src/framework/standard/mod.rs | 7 +++++++ 2 files changed, 25 insertions(+) (limited to 'src/framework') diff --git a/src/framework/standard/create_group.rs b/src/framework/standard/create_group.rs index 0049cf3..fb196b1 100644 --- a/src/framework/standard/create_group.rs +++ b/src/framework/standard/create_group.rs @@ -97,6 +97,24 @@ impl CreateGroup { pub fn cmd(mut self, name: &str, c: C) -> Self { let cmd: Arc = Arc::new(c); + for n in &cmd.options().aliases { + + if let Some(ref prefixes) = self.0.prefixes { + + for prefix in prefixes { + self.0.commands.insert( + format!("{} {}", prefix, n.to_string()), + CommandOrAlias::Alias(format!("{} {}", prefix, name.to_string())), + ); + } + } else { + self.0.commands.insert( + n.to_string(), + CommandOrAlias::Alias(name.to_string()), + ); + } + } + self.0 .commands .insert(name.to_string(), CommandOrAlias::Command(Arc::clone(&cmd))); diff --git a/src/framework/standard/mod.rs b/src/framework/standard/mod.rs index 162871d..5279f3e 100644 --- a/src/framework/standard/mod.rs +++ b/src/framework/standard/mod.rs @@ -696,6 +696,13 @@ impl StandardFramework { if let Some(ref mut group) = Arc::get_mut(ungrouped) { let cmd: Arc = Arc::new(c); + for n in &cmd.options().aliases { + group.commands.insert( + n.to_string(), + CommandOrAlias::Alias(name.to_string()), + ); + } + group .commands .insert(name.to_string(), CommandOrAlias::Command(Arc::clone(&cmd))); -- cgit v1.2.3