diff options
| author | Mishio595 <[email protected]> | 2018-11-14 07:09:13 -0700 |
|---|---|---|
| committer | Mishio595 <[email protected]> | 2018-11-14 07:09:13 -0700 |
| commit | 2bd3a4c1c584364125cbc93cbf3daff1078d523f (patch) | |
| tree | 4a47f5fe63da911749acbd205bc1dabda8d1055c /src | |
| parent | Merge branch 'upstream' (diff) | |
| parent | StandardFramework::cmd and CreateGroup::cmd now register aliases (diff) | |
| download | serenity-2bd3a4c1c584364125cbc93cbf3daff1078d523f.tar.xz serenity-2bd3a4c1c584364125cbc93cbf3daff1078d523f.zip | |
Merge branch 'aliases-fix'
Diffstat (limited to 'src')
| -rw-r--r-- | src/framework/standard/create_group.rs | 18 | ||||
| -rw-r--r-- | src/framework/standard/mod.rs | 7 |
2 files changed, 25 insertions, 0 deletions
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<C: Command + 'static>(mut self, name: &str, c: C) -> Self { let cmd: Arc<Command> = 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<Command> = 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))); |