Add support for cog aliases

This commit is contained in:
isaa_ctaylor 2021-09-02 08:39:59 +01:00 committed by GitHub
parent a62c0ff0d1
commit cd5026dae4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -86,6 +86,10 @@ class CogMeta(type):
The cog description. By default, it is the cleaned docstring of the class.
.. versionadded:: 1.6
aliases: Union[List[:class:`str`], Tuple[:class:`str`]]
A list of cog aliases. By default this is an empty list
..versionadded:: 2.0
command_attrs: :class:`dict`
A list of attributes to apply to every command inside this cog. The dictionary
@ -113,6 +117,8 @@ class CogMeta(type):
name, bases, attrs = args
attrs['__cog_name__'] = kwargs.pop('name', name)
attrs['__cog_settings__'] = kwargs.pop('command_attrs', {})
attrs["__cog_aliases__"] = kwargs.pop("aliases", ())
description = kwargs.pop('description', None)
if description is None:
@ -245,6 +251,15 @@ class Cog(metaclass=CogMeta):
@description.setter
def description(self, description: str) -> None:
self.__cog_description__ = description
@property
def aliases(self) -> List[str]:
"""Union[List[:class:`str`], Tuple[:class:`str`]]: Returns the cog aliases."""
return self.__cog_aliases__
@aliases.setter
def aliases(self, aliases: List[str]) -> None:
self.__cog_aliases__ = aliases
def walk_commands(self) -> Generator[Command, None, None]:
"""An iterator that recursively walks through this cog's commands and subcommands.