diff options
| author | SebbyLaw <[email protected]> | 2020-11-10 03:40:45 -0800 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-11-26 01:57:24 -0500 |
| commit | 4adbe03d7ca03fce3411bea7bcd9e3619513ad94 (patch) | |
| tree | b39eb390415230c166c267ea4eb37c8773db5c71 | |
| parent | Fix preview_asset key name in Sticker (diff) | |
| download | discord.py-4adbe03d7ca03fce3411bea7bcd9e3619513ad94.tar.xz discord.py-4adbe03d7ca03fce3411bea7bcd9e3619513ad94.zip | |
[commands] Allow setting description of cogs
| -rw-r--r-- | discord/ext/commands/cog.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/discord/ext/commands/cog.py b/discord/ext/commands/cog.py index 2a836daa..9ec49ab1 100644 --- a/discord/ext/commands/cog.py +++ b/discord/ext/commands/cog.py @@ -70,6 +70,11 @@ class CogMeta(type): ----------- name: :class:`str` The cog name. By default, it is the name of the class with no modification. + description: :class:`str` + The cog description. By default, it is the cleaned docstring of the class. + + .. versionadded:: 1.6 + command_attrs: :class:`dict` A list of attributes to apply to every command inside this cog. The dictionary is passed into the :class:`Command` options at ``__init__``. @@ -93,6 +98,11 @@ class CogMeta(type): attrs['__cog_name__'] = kwargs.pop('name', name) attrs['__cog_settings__'] = command_attrs = kwargs.pop('command_attrs', {}) + description = kwargs.pop('description', None) + if description is None: + description = inspect.cleandoc(attrs.get('__doc__', '')) + attrs['__cog_description__'] = description + commands = {} listeners = {} no_bot_cog = 'Commands or listeners must not start with cog_ or bot_ (in method {0.__name__}.{1})' @@ -209,11 +219,11 @@ class Cog(metaclass=CogMeta): @property def description(self): """:class:`str`: Returns the cog's description, typically the cleaned docstring.""" - try: - return self.__cog_cleaned_doc__ - except AttributeError: - self.__cog_cleaned_doc__ = cleaned = inspect.getdoc(self) - return cleaned + return self.__cog_description__ + + @description.setter + def description(self, description): + self.__cog_description__ = description def walk_commands(self): """An iterator that recursively walks through this cog's commands and subcommands. |