aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--discord/ext/commands/core.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py
index c00e08f0..8503dcaf 100644
--- a/discord/ext/commands/core.py
+++ b/discord/ext/commands/core.py
@@ -375,7 +375,15 @@ class GroupMixin:
The command that was removed. If the name is not valid then
`None` is returned instead.
"""
- return self.commands.pop(name, None)
+ command = self.commands.pop(name, None)
+ if name in command.aliases:
+ # we're removing an alias so we don't want to remove the rest
+ return command
+
+ # we're not removing the alias so let's delete the rest of them.
+ for alias in command.aliases:
+ self.commands.pop(alias, None)
+ return command
def get_command(self, name):
"""Get a :class:`Command` or subclasses from the internal list