diff --git a/discord/ext/commands/bot.py b/discord/ext/commands/bot.py index 3f5292771..64dd80621 100644 --- a/discord/ext/commands/bot.py +++ b/discord/ext/commands/bot.py @@ -484,6 +484,31 @@ class BotBase(GroupMixin): """ return self.cogs.get(name) + def get_cog_commands(self, name): + """Gets a unique set of the cog's registered commands + without aliases. + + If the cog is not found, an empty set is returned. + + Parameters + ------------ + name: str + The name of the cog whose commands you are requesting. + + Returns + --------- + Set[:class:`Command`] + A unique set of commands without aliases that belong + to the cog. + """ + + try: + cog = self.cogs[name] + except KeyError: + return set() + + return {c for c in self.all_commands.values() if c.instance is cog} + def remove_cog(self, name): """Removes a cog from the bot.