Cogs#
- clsCog.listener
- defbot_check
- defbot_check_once
- asynccog_after_invoke
- asynccog_before_invoke
- defcog_check
- asynccog_command_error
- defcog_unload
- defget_commands
- defget_listeners
- defhas_error_handler
- defwalk_commands
- class discord.Cog(*args, **kwargs)[source]#
The base class that all cogs must inherit from.
A cog is a collection of commands, listeners, and optional state to help group commands together. More information on them can be found on the Cogs page.
When inheriting from this class, the options shown in
CogMeta
are equally valid here.- get_commands()[source]#
- Returns:
A
list
ofApplicationCommand
s that are defined inside this cog.Note
This does not include subcommands.
- Return type:
List[
ApplicationCommand
]
- property qualified_name#
Returns the cog’s specified name, not the class name.
- property description#
Returns the cog’s description, typically the cleaned docstring.
- for ... in walk_commands()[source]#
An iterator that recursively walks through this cog’s commands and subcommands.
- get_listeners()[source]#
Returns a
list
of (name, function) listener pairs that are defined in this cog.
- classmethod listener(name=..., once=False)[source]#
A decorator that marks a function as a listener.
This is the cog equivalent of
Bot.listen()
.
- has_error_handler()[source]#
Checks whether the cog has an error handler. :rtype:
bool
New in version 1.7.
- cog_unload()[source]#
A special method that is called when the cog gets removed.
This function cannot be a coroutine. It must be a regular function.
Subclasses must replace this if they want special unloading behaviour.
- Return type:
- bot_check_once(ctx)[source]#
A special method that registers as a
Bot.check_once()
check.This function can be a coroutine and must take a sole parameter,
ctx
, to represent theContext
orApplicationContext
.
- bot_check(ctx)[source]#
A special method that registers as a
Bot.check()
check.This function can be a coroutine and must take a sole parameter,
ctx
, to represent theContext
orApplicationContext
.
- cog_check(ctx)[source]#
A special method that registers as a
check()
for every command and subcommand in this cog.This function can be a coroutine and must take a sole parameter,
ctx
, to represent theContext
orApplicationContext
.
- await cog_command_error(ctx, error)[source]#
A special method that is called whenever an error is dispatched inside this cog.
This is similar to
on_command_error()
except only applying to the commands inside this cog.This must be a coroutine.
- Parameters:
ctx (
ApplicationContext
) – The invocation context where the error happened.error (
ApplicationCommandError
) – The error that happened.
- Return type:
- await cog_before_invoke(ctx)[source]#
A special method that acts as a cog local pre-invoke hook.
This is similar to
ApplicationCommand.before_invoke()
.This must be a coroutine.
- Parameters:
ctx (
ApplicationContext
) – The invocation context.- Return type:
- await cog_after_invoke(ctx)[source]#
A special method that acts as a cog local post-invoke hook.
This is similar to
ApplicationCommand.after_invoke()
.This must be a coroutine.
- Parameters:
ctx (
ApplicationContext
) – The invocation context.- Return type:
- class discord.CogMeta(*args, **kwargs)[source]#
A metaclass for defining a cog.
Note that you should probably not use this directly. It is exposed purely for documentation purposes along with making custom metaclasses to intermix with other metaclasses such as the
abc.ABCMeta
metaclass.For example, to create an abstract cog mixin class, the following would be done.
import abc class CogABCMeta(discord.CogMeta, abc.ABCMeta): pass class SomeMixin(metaclass=abc.ABCMeta): pass class SomeCogMixin(SomeMixin, discord.Cog, metaclass=CogABCMeta): pass
Note
When passing an attribute of a metaclass that is documented below, note that you must pass it as a keyword-only argument to the class creation like the following example:
class MyCog(discord.Cog, name='My Cog'): pass
- description#
The cog description. By default, it is the cleaned docstring of the class.
New in version 1.6.
- Type:
- command_attrs#
A list of attributes to apply to every command inside this cog. The dictionary is passed into the
Command
options at__init__
. If you specify attributes inside the command attribute in the class, it will override the one specified inside this attribute. For example:class MyCog(discord.Cog, command_attrs=dict(hidden=True)): @discord.slash_command() async def foo(self, ctx): pass # hidden -> True @discord.slash_command(hidden=False) async def bar(self, ctx): pass # hidden -> False
- Type:
- guild_ids#
A shortcut to
command_attrs
, whatguild_ids
should all application commands have in the cog. You can override this by settingguild_ids
per command.New in version 2.0.
- Type:
Optional[List[
int
]]