From a706c47f3460bd3ccd8b02fb6fa1a6db466fba03 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Sun, 10 Jan 2016 20:08:13 -0500 Subject: [PATCH] [commands] Remove all aliases if the main command is being deleted. --- discord/ext/commands/core.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index c00e08f02..8503dcaf9 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