APIリファレンス¶
この項目ではdiscord.pyのAPIが持つコマンド拡張モジュールについて解説します。
Bot¶
-
class
discord.ext.commands.
Bot
(command_prefix, help_command=<default-help-command>, description=None, **options)¶ Discord Botを表します。
このクラスは
discord.Client
のサブクラスのため、discord.Client
でできることと同じことをこのBotで行うことができます。また、
GroupMixin
も継承しており、コマンド管理の機能も使用可能です。-
command_prefix
¶ コマンドの接頭詞とは、コマンドの判定のためにメッセージの先頭に付けなければならないものです。接頭詞には、そのまま接頭詞として使用する文字列、または
discord.Message
を二つ目の引数として受け取り、接頭詞を返す呼び出し可能な関数を渡すことができます。これは「動的な」接頭詞の実装を容易にするためです。接頭詞に空文字列を渡せば、接頭詞なしでコマンドの呼び出しができます。これはDM上では有用ですが、サーバーでは意図せずコマンドを呼び出してしまうことに繋がるため、避けるべきです。
接頭詞は複数設定することもできます。複数の接頭詞がイテラブルで渡された場合、メッセージと最初に一致するものが接頭詞として使用されます。この接頭詞は
Context.prefix
で取得することができます。また、空のイテラブルオブジェクトは使用できません。注釈
When passing multiple prefixes be careful to not pass a prefix that matches a longer prefix occurring later in the sequence. For example, if the command prefix is
('!', '!?')
the'!?'
prefix will never be matched to any message as the previous one matches messages starting with!?
. This is especially important when passing an empty string, it should always be last as no prefix after it will be matched.
-
case_insensitive
¶ bool
-- 接頭詞で大文字と小文字を区別するかどうか。デフォルトではFalse
です。グループコマンドでも大文字と小文字の区別が必要な場合、すべてのグループで設定が必要になります。
-
self_bot
¶ bool
--True
の場合、Botは自分自身を無視するのではなく、自分自身が呼び出したコマンドのみリッスンします。False
(デフォルト)なら自分自身を無視します。初期化後には変更できません。
-
help_command
¶ Optional[
HelpCommand
] -- The help command implementation to use. This can be dynamically set at runtime. To remove the help command passNone
. For more information on implementing a help command, see ext_commands_help_command.
-
owner_id
¶ Optional[
int
] -- The ID that owns the bot. If this is not set and is then queried viais_owner()
then it is fetched automatically usingapplication_info()
.
-
activity
¶ Optional[Union[
Activity
,Game
,Streaming
]] -- ログイン時のアクティビティ。
-
add_check
(func, *, call_once=False)¶ Adds a global check to the bot.
This is the non-decorator interface to
check()
andcheck_once()
.- パラメータ
func -- The function that was used as a global check.
call_once (
bool
) -- If the function should only be called once perCommand.invoke()
call.
-
add_cog
(cog)¶ botに「コグ」を追加します。
A cog is a class that has its own event listeners and commands.
- パラメータ
cog (
Cog
) -- The cog to register to the bot.- 例外
CommandError
-- An error happened during loading.
-
add_command
(command)¶ Adds a
Command
or its subclasses into the internal list of commands.This is usually not called, instead the
command()
orgroup()
shortcut decorators are used instead.- パラメータ
command -- 追加するコマンド。
- 例外
ClientException
-- If the command is already registered.TypeError
-- If the command passed is not a subclass ofCommand
.
-
add_listener
(func, name=None)¶ The non decorator alternative to
listen()
.- パラメータ
例
async def on_ready(): pass async def my_message(message): pass bot.add_listener(on_ready) bot.add_listener(my_message, 'on_message')
-
after_invoke
(coro)¶ A decorator that registers a coroutine as a post-invoke hook.
A post-invoke hook is called directly after the command is called. This makes it a useful function to clean-up database connections or any type of clean up required.
This post-invoke hook takes a sole parameter, a
Context
.注釈
Similar to
before_invoke()
, this is not called unless checks and argument parsing procedures succeed. This hook is, however, always called regardless of the internal command callback raising an error (i.e.CommandInvokeError
). This makes it ideal for clean-up scenarios.- パラメータ
coro -- The coroutine to register as the post-invoke hook.
- 例外
TypeError
-- The coroutine passed is not actually a coroutine.
-
coroutine
application_info
()¶ This function is a coroutine.
Botのアプリケーション情報を取得します。
- 例外
HTTPException
-- 何らかの要因で情報の取得に失敗した。- 戻り値
アプリケーション情報を表す名前付きタプル。
- 戻り値の型
AppInfo
-
before_invoke
(coro)¶ A decorator that registers a coroutine as a pre-invoke hook.
A pre-invoke hook is called directly before the command is called. This makes it a useful function to set up database connections or any type of set up required.
This pre-invoke hook takes a sole parameter, a
Context
.注釈
The
before_invoke()
andafter_invoke()
hooks are only called if all checks and argument parsing procedures pass without error. If any check or argument parsing procedures fail then the hooks are not called.- パラメータ
coro -- The coroutine to register as the pre-invoke hook.
- 例外
TypeError
-- The coroutine passed is not actually a coroutine.
-
coroutine
change_presence
(*, activity=None, status=None, afk=False)¶ This function is a coroutine.
クライアントのプレゼンスを変更します。
The activity parameter is a
Activity
object (not a string) that represents the activity being done currently. This could also be the slimmed down versions,Game
andStreaming
.例
game = discord.Game("with the API") await client.change_presence(status=discord.Status.idle, activity=game)
- パラメータ
activity (Optional[Union[
Game
,Streaming
,Activity
]]) -- 実行中のアクティビティ。何も実行していない場合はNone
です。status (Optional[
Status
]) -- 変更したいステータスを表します。Noneの場合はStatus.online
が使用されます。afk (
bool
) -- Indicates if you are going AFK. This allows the discord client to know how to handle push notifications better for you in case you are actually idle and not lying.
- 例外
InvalidArgument
--activity
に渡された値が適切な型でない。
-
check
(func)¶ A decorator that adds a global check to the bot.
A global check is similar to a
check()
that is applied on a per command basis except it is run before any command checks have been verified and applies to every command the bot has.注釈
This function can either be a regular function or a coroutine.
Similar to a command
check()
, this takes a single parameter of typeContext
and can only raise exceptions inherited fromCommandError
.例
@bot.check def check_commands(ctx): return ctx.command.qualified_name in allowed_commands
-
check_once
(func)¶ A decorator that adds a "call once" global check to the bot.
Unlike regular global checks, this one is called only once per
Command.invoke()
call.Regular global checks are called whenever a command is called or
Command.can_run()
is called. This type of check bypasses that and ensures that it's called only once, even inside the default help command.注釈
This function can either be a regular function or a coroutine.
Similar to a command
check()
, this takes a single parameter of typeContext
and can only raise exceptions inherited fromCommandError
.例
@bot.check_once def whitelist(ctx): return ctx.message.author.id in my_whitelist
-
clear
()¶ Clears the internal state of the bot.
After this, the bot can be considered "re-opened", i.e.
is_closed()
andis_ready()
both returnFalse
along with the bot's internal cache cleared.
-
command
(*args, **kwargs)¶ A shortcut decorator that invokes
command()
and adds it to the internal command list viaadd_command()
.
-
coroutine
connect
(*, reconnect=True)¶ This function is a coroutine.
Creates a websocket connection and lets the websocket listen to messages from discord. This is a loop that runs the entire event system and miscellaneous aspects of the library. Control is not resumed until the WebSocket connection is terminated.
- パラメータ
reconnect (
bool
) -- If we should attempt reconnecting, either due to internet failure or a specific failure on Discord's part. Certain disconnects that lead to bad state will not be handled (such as invalid sharding payloads or bad tokens).- 例外
GatewayNotFound
-- If the gateway to connect to discord is not found. Usually if this is thrown then there is a discord API outage.ConnectionClosed
-- The websocket connection has been terminated.
-
coroutine
create_guild
(name, region=None, icon=None)¶ This function is a coroutine.
Creates a
Guild
.Bot accounts in more than 10 guilds are not allowed to create guilds.
- パラメータ
name (
str
) -- The name of the guild.region (
VoiceRegion
) -- The region for the voice communication server. Defaults toVoiceRegion.us_west
.icon (
bytes
) -- The bytes-like object representing the icon. Seeedit()
for more details on what is expected.
- 例外
HTTPException
-- Guild creation failed.InvalidArgument
-- Invalid icon image format given. Must be PNG or JPG.
- 戻り値
The guild created. This is not the same guild that is added to cache.
- 戻り値の型
Guild
-
coroutine
delete_invite
(invite)¶ This function is a coroutine.
Revokes an
Invite
, URL, or ID to an invite.You must have the
manage_channels
permission in the associated guild to do this.- パラメータ
invite (Union[
Invite
,str
]) -- The invite to revoke.- 例外
Forbidden
-- You do not have permissions to revoke invites.NotFound
-- The invite is invalid or expired.HTTPException
-- Revoking the invite failed.
-
emojis
¶ List[
Emoji
] -- The emojis that the connected client has.
-
event
(coro)¶ A decorator that registers an event to listen to.
You can find more info about the events on the documentation below.
The events must be a coroutine, if not,
TypeError
is raised.例
@client.event async def on_ready(): print('Ready!')
- 例外
TypeError
-- The coroutine passed is not actually a coroutine.
-
extensions
¶ Mapping[
str
,types.ModuleType
] -- A read-only mapping of extension name to extension.
-
coroutine
fetch_guild
(guild_id)¶ This function is a coroutine.
Retrieves a
Guild
from an ID.注釈
Using this, you will not receive
Guild.channels
,Guild.members
,Member.activity
andMember.voice
perMember
.- パラメータ
guild_id (
int
) -- The guild's ID to fetch from.- 例外
Forbidden
-- You do not have access to the guild.HTTPException
-- Getting the guild failed.
- 戻り値
The guild from the ID.
- 戻り値の型
Guild
-
fetch_guilds
(*, limit=100, before=None, after=None)¶ This function is a coroutine.
Retrieves an
AsyncIterator
that enables receiving your guilds.注釈
Using this, you will only receive
Guild.owner
,Guild.icon
,Guild.id
, andGuild.name
perGuild
.All parameters are optional.
- パラメータ
limit (Optional[
int
]) -- The number of guilds to retrieve. IfNone
, it retrieves every guild you have access to. Note, however, that this would make it a slow operation. Defaults to 100.before (
Snowflake
or datetime) -- Retrieves guilds before this date or object. If a date is provided it must be a timezone-naive datetime representing UTC time.after (
Snowflake
or datetime) -- Retrieve guilds after this date or object. If a date is provided it must be a timezone-naive datetime representing UTC time.
- 例外
HTTPException
-- Getting the guilds failed.- Yields
Guild
-- The guild with the guild data parsed.
Examples
Usage
async for guild in client.fetch_guilds(limit=150): print(guild.name)
Flattening into a list
guilds = await client.fetch_guilds(limit=150).flatten() # guilds is now a list of Guild...
-
coroutine
fetch_invite
(url, *, with_counts=True)¶ This function is a coroutine.
Gets an
Invite
from a discord.gg URL or ID.注釈
If the invite is for a guild you have not joined, the guild and channel attributes of the returned
Invite
will bePartialInviteGuild
andPartialInviteChannel
respectively.- パラメータ
- 例外
NotFound
-- The invite has expired or is invalid.HTTPException
-- Getting the invite failed.
- 戻り値
The invite from the URL/ID.
- 戻り値の型
Invite
-
coroutine
fetch_user
(user_id)¶ This function is a coroutine.
Retrieves a
User
based on their ID. This can only be used by bot accounts. You do not have to share any guilds with the user to get this information, however many operations do require that you do.- パラメータ
user_id (
int
) -- The user's ID to fetch from.- 例外
NotFound
-- A user with this ID does not exist.HTTPException
-- Fetching the user failed.
- 戻り値
The user you requested.
- 戻り値の型
User
-
coroutine
fetch_user_profile
(user_id)¶ This function is a coroutine.
Gets an arbitrary user's profile. This can only be used by non-bot accounts.
- パラメータ
user_id (
int
) -- The ID of the user to fetch their profile for.- 例外
Forbidden
-- Not allowed to fetch profiles.HTTPException
-- Fetching the profile failed.
- 戻り値
The profile of the user.
- 戻り値の型
Profile
-
coroutine
fetch_webhook
(webhook_id)¶ This function is a coroutine.
Retrieves a
Webhook
with the specified ID.- 例外
HTTPException
-- Retrieving the webhook failed.NotFound
-- Invalid webhook ID.Forbidden
-- You do not have permission to fetch this webhook.
- 戻り値
The webhook you requested.
- 戻り値の型
Webhook
-
coroutine
fetch_widget
(guild_id)¶ This function is a coroutine.
Gets a
Widget
from a guild ID.注釈
The guild must have the widget enabled to get this information.
- パラメータ
guild_id (
int
) -- The ID of the guild.- 例外
Forbidden
-- The widget for this guild is disabled.HTTPException
-- Retrieving the widget failed.
- 戻り値
The guild's widget.
- 戻り値の型
Widget
-
get_all_channels
()¶ A generator that retrieves every
abc.GuildChannel
the client can 'access'.This is equivalent to:
for guild in client.guilds: for channel in guild.channels: yield channel
注釈
Just because you receive a
abc.GuildChannel
does not mean that you can communicate in said channel.abc.GuildChannel.permissions_for()
should be used for that.
-
get_all_members
()¶ Returns a generator with every
Member
the client can see.This is equivalent to:
for guild in client.guilds: for member in guild.members: yield member
-
get_channel
(id)¶ Returns a
abc.GuildChannel
orabc.PrivateChannel
with the following ID.If not found, returns None.
-
get_cog
(name)¶ Gets the cog instance requested.
If the cog is not found,
None
is returned instead.- パラメータ
name (
str
) -- The name of the cog you are requesting. This is equivalent to the name passed via keyword argument in class creation or the class name if unspecified.
-
get_command
(name)¶ Get a
Command
or subclasses from the internal list of commands.This could also be used as a way to get aliases.
The name could be fully qualified (e.g.
'foo bar'
) will get the subcommandbar
of the group commandfoo
. If a subcommand is not found thenNone
is returned just as usual.
-
coroutine
get_context
(message, *, cls=<class 'discord.ext.commands.context.Context'>)¶ This function is a coroutine.
Returns the invocation context from the message.
This is a more low-level counter-part for
process_commands()
to allow users more fine grained control over the processing.The returned context is not guaranteed to be a valid invocation context,
Context.valid
must be checked to make sure it is. If the context is not valid then it is not a valid candidate to be invoked underinvoke()
.- パラメータ
message (
discord.Message
) -- The message to get the invocation context from.cls -- The factory class that will be used to create the context. By default, this is
Context
. Should a custom class be provided, it must be similar enough toContext
's interface.
- 戻り値
The invocation context. The type of this can change via the
cls
parameter.- 戻り値の型
-
get_emoji
(id)¶ Returns a
Emoji
with the given ID. If not found, returns None.
-
get_guild
(id)¶ Returns a
Guild
with the given ID. If not found, returns None.
-
coroutine
get_prefix
(message)¶ This function is a coroutine.
Retrieves the prefix the bot is listening to with the message as a context.
- パラメータ
message (
discord.Message
) -- The message context to get the prefix of.- 戻り値
A list of prefixes or a single prefix that the bot is listening for.
- 戻り値の型
-
get_user
(id)¶ Returns a
User
with the given ID. If not found, returns None.
-
group
(*args, **kwargs)¶ A shortcut decorator that invokes
group()
and adds it to the internal command list viaadd_command()
.
-
guilds
¶ List[
Guild
] -- The guilds that the connected client is a member of.
-
coroutine
invoke
(ctx)¶ This function is a coroutine.
Invokes the command given under the invocation context and handles all the internal event dispatch mechanisms.
- パラメータ
ctx (
Context
) -- The invocation context to invoke.
-
coroutine
is_owner
(user)¶ Checks if a
User
orMember
is the owner of this bot.If an
owner_id
is not set, it is fetched automatically through the use ofapplication_info()
.- パラメータ
user (
abc.User
) -- The user to check for.
-
latency
¶ float
-- Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds.This could be referred to as the Discord WebSocket protocol latency.
-
listen
(name=None)¶ A decorator that registers another function as an external event listener. Basically this allows you to listen to multiple events from different places e.g. such as
on_ready()
The functions being listened to must be a coroutine.
例
@bot.listen() async def on_message(message): print('one') # in some other file... @bot.listen('on_message') async def my_message(message): print('two')
Would print one and two in an unspecified order.
- 例外
TypeError
-- The function being listened to is not a coroutine.
-
load_extension
(name)¶ Loads an extension.
An extension is a python module that contains commands, cogs, or listeners.
An extension must have a global function,
setup
defined as the entry point on what to do when the extension is loaded. This entry point must have a single argument, thebot
.- パラメータ
name (
str
) -- The extension name to load. It must be dot separated like regular Python imports if accessing a sub-module. e.g.foo.test
if you want to importfoo/test.py
.- 例外
ExtensionNotFound
-- The extension could not be imported.ExtensionAlreadyLoaded
-- The extension is already loaded.NoEntryPointError
-- The extension does not have a setup function.ExtensionFailed
-- The extension setup function had an execution error.
-
coroutine
login
(token, *, bot=True)¶ This function is a coroutine.
Logs in the client with the specified credentials.
This function can be used in two different ways.
警告
Logging on with a user token is against the Discord Terms of Service and doing so might potentially get your account banned. Use this at your own risk.
- パラメータ
- 例外
LoginFailure
-- The wrong credentials are passed.HTTPException
-- An unknown HTTP related error occurred, usually when it isn't 200 or the known incorrect credentials passing status code.
-
coroutine
on_command_error
(context, exception)¶ This function is a coroutine.
The default command error handler provided by the bot.
By default this prints to
sys.stderr
however it could be overridden to have a different implementation.This only fires if you do not specify any listeners for command error.
-
coroutine
on_error
(event_method, *args, **kwargs)¶ This function is a coroutine.
The default error handler provided by the client.
By default this prints to
sys.stderr
however it could be overridden to have a different implementation. Checkdiscord.on_error()
for more details.
-
private_channels
¶ List[
abc.PrivateChannel
] -- The private channels that the connected client is participating on.注釈
This returns only up to 128 most recent private channels due to an internal working on how Discord deals with private channels.
-
coroutine
process_commands
(message)¶ This function is a coroutine.
This function processes the commands that have been registered to the bot and other groups. Without this coroutine, none of the commands will be triggered.
By default, this coroutine is called inside the
on_message()
event. If you choose to override theon_message()
event, then you should invoke this coroutine as well.This is built using other low level tools, and is equivalent to a call to
get_context()
followed by a call toinvoke()
.This also checks if the message's author is a bot and doesn't call
get_context()
orinvoke()
if so.- パラメータ
message (
discord.Message
) -- The message to process commands for.
-
reload_extension
(name)¶ Atomically reloads an extension.
This replaces the extension with the same extension, only refreshed. This is equivalent to a
unload_extension()
followed by aload_extension()
except done in an atomic way. That is, if an operation fails mid-reload then the bot will roll-back to the prior working state.- パラメータ
name (
str
) -- The extension name to reload. It must be dot separated like regular Python imports if accessing a sub-module. e.g.foo.test
if you want to importfoo/test.py
.- 例外
ExtensionNotLoaded
-- The extension was not loaded.ExtensionNotFound
-- The extension could not be imported.NoEntryPointError
-- The extension does not have a setup function.ExtensionFailed
-- The extension setup function had an execution error.
-
remove_check
(func, *, call_once=False)¶ Removes a global check from the bot.
This function is idempotent and will not raise an exception if the function is not in the global checks.
- パラメータ
func -- The function to remove from the global checks.
call_once (
bool
) -- If the function was added withcall_once=True
in theBot.add_check()
call or usingcheck_once()
.
-
remove_cog
(name)¶ Removes a cog from the bot.
All registered commands and event listeners that the cog has registered will be removed as well.
If no cog is found then this method has no effect.
- パラメータ
name (
str
) -- The name of the cog to remove.
-
remove_command
(name)¶ Remove a
Command
or subclasses from the internal list of commands.This could also be used as a way to remove aliases.
-
remove_listener
(func, name=None)¶ Removes a listener from the pool of listeners.
- パラメータ
func -- The function that was used as a listener to remove.
name (
str
) -- The name of the event we want to remove. Defaults tofunc.__name__
.
-
coroutine
request_offline_members
(*guilds)¶ This function is a coroutine.
Requests previously offline members from the guild to be filled up into the
Guild.members
cache. This function is usually not called. It should only be used if you have thefetch_offline_members
parameter set toFalse
.When the client logs on and connects to the websocket, Discord does not provide the library with offline members if the number of members in the guild is larger than 250. You can check if a guild is large if
Guild.large
isTrue
.- パラメータ
*guilds (
Guild
) -- An argument list of guilds to request offline members for.- 例外
InvalidArgument
-- If any guild is unavailable or not large in the collection.
-
run
(*args, **kwargs)¶ A blocking call that abstracts away the event loop initialisation from you.
If you want more control over the event loop then this function should not be used. Use
start()
coroutine orconnect()
+login()
.Roughly Equivalent to:
try: loop.run_until_complete(start(*args, **kwargs)) except KeyboardInterrupt: loop.run_until_complete(logout()) # cancel all tasks lingering finally: loop.close()
警告
This function must be the last function to call due to the fact that it is blocking. That means that registration of events or anything being called after this function call will not execute until it returns.
-
unload_extension
(name)¶ Unloads an extension.
When the extension is unloaded, all commands, listeners, and cogs are removed from the bot and the module is un-imported.
The extension can provide an optional global function,
teardown
, to do miscellaneous clean-up if necessary. This function takes a single parameter, thebot
, similar tosetup
fromload_extension()
.- パラメータ
name (
str
) -- The extension name to unload. It must be dot separated like regular Python imports if accessing a sub-module. e.g.foo.test
if you want to importfoo/test.py
.- 例外
ExtensionNotLoaded
-- The extension was not loaded.
-
user
¶ Optional[
ClientUser
] -- Represents the connected client. None if not logged in.
-
voice_clients
¶ List[
VoiceClient
] -- Represents a list of voice connections.
-
wait_for
(event, *, check=None, timeout=None)¶ This function is a coroutine.
Waits for a WebSocket event to be dispatched.
This could be used to wait for a user to reply to a message, or to react to a message, or to edit a message in a self-contained way.
The
timeout
parameter is passed ontoasyncio.wait_for()
. By default, it does not timeout. Note that this does propagate theasyncio.TimeoutError
for you in case of timeout and is provided for ease of use.In case the event returns multiple arguments, a
tuple
containing those arguments is returned instead. Please check the documentation for a list of events and their parameters.This function returns the first event that meets the requirements.
Examples
Waiting for a user reply:
@client.event async def on_message(message): if message.content.startswith('$greet'): channel = message.channel await channel.send('Say hello!') def check(m): return m.content == 'hello' and m.channel == channel msg = await client.wait_for('message', check=check) await channel.send('Hello {.author}!'.format(msg))
Waiting for a thumbs up reaction from the message author:
@client.event async def on_message(message): if message.content.startswith('$thumb'): channel = message.channel await channel.send('Send me that 👍 reaction, mate') def check(reaction, user): return user == message.author and str(reaction.emoji) == '👍' try: reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check) except asyncio.TimeoutError: await channel.send('👎') else: await channel.send('👍')
- パラメータ
event (
str
) -- The event name, similar to the event reference, but without theon_
prefix, to wait for.check (Optional[predicate]) -- A predicate to check what to wait for. The arguments must meet the parameters of the event being waited for.
timeout (Optional[
float
]) -- The number of seconds to wait before timing out and raisingasyncio.TimeoutError
.
- 例外
asyncio.TimeoutError
-- If a timeout is provided and it was reached.- 戻り値
Returns no arguments, a single argument, or a
tuple
of multiple arguments that mirrors the parameters passed in the event reference.- 戻り値の型
Any
-
coroutine
wait_until_ready
()¶ This function is a coroutine.
Waits until the client's internal cache is all ready.
-
walk_commands
()¶ An iterator that recursively walks through all commands and subcommands.
-
-
class
discord.ext.commands.
AutoShardedBot
(command_prefix, help_command=<default-help-command>, description=None, **options)¶ This is similar to
Bot
except that it is inherited fromdiscord.AutoShardedClient
instead.
-
discord.ext.commands.
when_mentioned
(bot, msg)¶ A callable that implements a command prefix equivalent to being mentioned.
These are meant to be passed into the
Bot.command_prefix
attribute.
-
discord.ext.commands.
when_mentioned_or
(*prefixes)¶ A callable that implements when mentioned or other prefixes provided.
These are meant to be passed into the
Bot.command_prefix
attribute.例
bot = commands.Bot(command_prefix=commands.when_mentioned_or('!'))
注釈
This callable returns another callable, so if this is done inside a custom callable, you must call the returned callable, for example:
async def get_prefix(bot, message): extras = await prefixes_for(message.guild) # returns a list return commands.when_mentioned_or(*extras)(bot, message)
Event Reference¶
These events function similar to the regular events, except they are custom to the command extension module.
-
discord.
on_command_error
(ctx, error)¶ An error handler that is called when an error is raised inside a command either through user input error, check failure, or an error in your own code.
A default one is provided (
Bot.on_command_error()
).- パラメータ
ctx (
Context
) -- The invocation context.error (
CommandError
derived) -- The error that was raised.
-
discord.
on_command
(ctx)¶ An event that is called when a command is found and is about to be invoked.
This event is called regardless of whether the command itself succeeds via error or completes.
- パラメータ
ctx (
Context
) -- The invocation context.
-
discord.
on_command_completion
(ctx)¶ An event that is called when a command has completed its invocation.
This event is called only if the command succeeded, i.e. all checks have passed and the user input it correctly.
- パラメータ
ctx (
Context
) -- The invocation context.
Command¶
-
discord.ext.commands.
command
(name=None, cls=None, **attrs)¶ A decorator that transforms a function into a
Command
or if called withgroup()
,Group
.By default the
help
attribute is received automatically from the docstring of the function and is cleaned up with the use ofinspect.cleandoc
. If the docstring isbytes
, then it is decoded intostr
using utf-8 encoding.All checks added using the
check()
& co. decorators are added into the function. There is no way to supply your own checks through this decorator.- パラメータ
- 例外
TypeError
-- If the function is not a coroutine or is already a command.
-
discord.ext.commands.
group
(name=None, **attrs)¶ A decorator that transforms a function into a
Group
.This is similar to the
command()
decorator but creates aGroup
instead of aCommand
.
-
class
discord.ext.commands.
Command
(func, **kwargs)¶ A class that implements the protocol for a bot text command.
These are not created manually, instead they are created via the decorator or functional interface.
-
brief
¶ str
-- The short help text for the command. If this is not specified then the first line of the long help text is used instead.
-
enabled
¶ bool
-- A boolean that indicates if the command is currently enabled. If the command is invoked while it is disabled, thenDisabledCommand
is raised to theon_command_error()
event. Defaults toTrue
.
-
parent
¶ Optional[command] -- The parent command that this command belongs to.
None
if there isn't one.
-
checks
¶ A list of predicates that verifies if the command could be executed with the given
Context
as the sole parameter. If an exception is necessary to be thrown to signal failure, then one inherited fromCommandError
should be used. Note that if the checks fail thenCheckFailure
exception is raised to theon_command_error()
event.
bool
-- IfTrue
, the default help command does not show this in the help output.
-
rest_is_raw
¶ bool
-- IfFalse
and a keyword-only argument is provided then the keyword only argument is stripped and handled as if it was a regular argument that handlesMissingRequiredArgument
and default values in a regular matter rather than passing the rest completely raw. IfTrue
then the keyword-only argument will pass in the rest of the arguments in a completely raw matter. Defaults toFalse
.
-
ignore_extra
¶ bool
-- IfTrue
, ignores extraneous strings passed to a command if all its requirements are met (e.g.?foo a b c
when only expectinga
andb
). Otherwiseon_command_error()
and local error handlers are called withTooManyArguments
. Defaults toTrue
.
-
cooldown_after_parsing
¶ bool
-- IfTrue
, cooldown processing is done after argument parsing, which calls converters. IfFalse
then cooldown processing is done first and then the converters are called second. Defaults toFalse
.
-
update
(**kwargs)¶ Updates
Command
instance with updated attribute.This works similarly to the
command()
decorator in terms of parameters in that they are passed to theCommand
or subclass constructors, sans the name and callback.
-
clean_params
¶ Retrieves the parameter OrderedDict without the context or self parameters.
Useful for inspecting signature.
-
full_parent_name
¶ Retrieves the fully qualified parent command name.
This the base command name required to execute it. For example, in
?one two three
the parent name would beone two
.
-
root_parent
¶ Retrieves the root parent of this command.
If the command has no parents then it returns
None
.For example in commands
?a b c test
, the root parent isa
.
-
qualified_name
¶ Retrieves the fully qualified command name.
This is the full parent name with the command name as well. For example, in
?one two three
the qualified name would beone two three
.
-
is_on_cooldown
(ctx)¶ Checks whether the command is currently on cooldown.
- パラメータ
ctx (
Context.
) -- The invocation context to use when checking the commands cooldown status.- 戻り値
A boolean indicating if the command is on cooldown.
- 戻り値の型
-
reset_cooldown
(ctx)¶ Resets the cooldown on this command.
- パラメータ
ctx (
Context
) -- The invocation context to reset the cooldown under.
-
error
(coro)¶ A decorator that registers a coroutine as a local error handler.
A local error handler is an
on_command_error()
event limited to a single command. However, theon_command_error()
is still invoked afterwards as the catch-all.
-
before_invoke
(coro)¶ A decorator that registers a coroutine as a pre-invoke hook.
A pre-invoke hook is called directly before the command is called. This makes it a useful function to set up database connections or any type of set up required.
This pre-invoke hook takes a sole parameter, a
Context
.See
Bot.before_invoke()
for more info.
-
after_invoke
(coro)¶ A decorator that registers a coroutine as a post-invoke hook.
A post-invoke hook is called directly after the command is called. This makes it a useful function to clean-up database connections or any type of clean up required.
This post-invoke hook takes a sole parameter, a
Context
.See
Bot.after_invoke()
for more info.
-
cog_name
¶ The name of the cog this command belongs to. None otherwise.
-
short_doc
¶ Gets the "short" documentation of a command.
By default, this is the
brief
attribute. If that lookup leads to an empty string then the first line of thehelp
attribute is used instead.
-
signature
¶ Returns a POSIX-like signature useful for help command output.
-
coroutine
can_run
(ctx)¶ This function is a coroutine.
Checks if the command can be executed by checking all the predicates inside the
checks
attribute.- パラメータ
ctx (
Context
) -- The ctx of the command currently being invoked.- 例外
CommandError
-- Any command error that was raised during a check call will be propagated by this function.- 戻り値
A boolean indicating if the command can be invoked.
- 戻り値の型
-
-
class
discord.ext.commands.
Group
(*args, **attrs)¶ A class that implements a grouping protocol for commands to be executed as subcommands.
This class is a subclass of
Command
and thus all options valid inCommand
are valid in here as well.-
invoke_without_command
¶ bool
-- Indicates if the group callback should begin parsing and invocation only if no subcommand was found. Useful for making it an error handling function to tell the user that no subcommand was found or to have different functionality in case no subcommand was found. If this isFalse
, then the group callback will always be invoked first. This means that the checks and the parsing dictated by its parameters will be executed. Defaults toFalse
.
-
case_insensitive
¶ bool
-- Indicates if the group's commands should be case insensitive. Defaults toFalse
.
-
add_command
(command)¶ Adds a
Command
or its subclasses into the internal list of commands.This is usually not called, instead the
command()
orgroup()
shortcut decorators are used instead.- パラメータ
command -- 追加するコマンド。
- 例外
ClientException
-- If the command is already registered.TypeError
-- If the command passed is not a subclass ofCommand
.
-
after_invoke
(coro)¶ A decorator that registers a coroutine as a post-invoke hook.
A post-invoke hook is called directly after the command is called. This makes it a useful function to clean-up database connections or any type of clean up required.
This post-invoke hook takes a sole parameter, a
Context
.See
Bot.after_invoke()
for more info.
-
before_invoke
(coro)¶ A decorator that registers a coroutine as a pre-invoke hook.
A pre-invoke hook is called directly before the command is called. This makes it a useful function to set up database connections or any type of set up required.
This pre-invoke hook takes a sole parameter, a
Context
.See
Bot.before_invoke()
for more info.
-
coroutine
can_run
(ctx)¶ This function is a coroutine.
Checks if the command can be executed by checking all the predicates inside the
checks
attribute.- パラメータ
ctx (
Context
) -- The ctx of the command currently being invoked.- 例外
CommandError
-- Any command error that was raised during a check call will be propagated by this function.- 戻り値
A boolean indicating if the command can be invoked.
- 戻り値の型
-
clean_params
¶ Retrieves the parameter OrderedDict without the context or self parameters.
Useful for inspecting signature.
-
cog_name
¶ The name of the cog this command belongs to. None otherwise.
-
command
(*args, **kwargs)¶ A shortcut decorator that invokes
command()
and adds it to the internal command list viaadd_command()
.
-
error
(coro)¶ A decorator that registers a coroutine as a local error handler.
A local error handler is an
on_command_error()
event limited to a single command. However, theon_command_error()
is still invoked afterwards as the catch-all.
-
full_parent_name
¶ Retrieves the fully qualified parent command name.
This the base command name required to execute it. For example, in
?one two three
the parent name would beone two
.
-
get_command
(name)¶ Get a
Command
or subclasses from the internal list of commands.This could also be used as a way to get aliases.
The name could be fully qualified (e.g.
'foo bar'
) will get the subcommandbar
of the group commandfoo
. If a subcommand is not found thenNone
is returned just as usual.
-
group
(*args, **kwargs)¶ A shortcut decorator that invokes
group()
and adds it to the internal command list viaadd_command()
.
-
is_on_cooldown
(ctx)¶ Checks whether the command is currently on cooldown.
- パラメータ
ctx (
Context.
) -- The invocation context to use when checking the commands cooldown status.- 戻り値
A boolean indicating if the command is on cooldown.
- 戻り値の型
-
qualified_name
¶ Retrieves the fully qualified command name.
This is the full parent name with the command name as well. For example, in
?one two three
the qualified name would beone two three
.
-
remove_command
(name)¶ Remove a
Command
or subclasses from the internal list of commands.This could also be used as a way to remove aliases.
-
reset_cooldown
(ctx)¶ Resets the cooldown on this command.
- パラメータ
ctx (
Context
) -- The invocation context to reset the cooldown under.
-
root_parent
¶ Retrieves the root parent of this command.
If the command has no parents then it returns
None
.For example in commands
?a b c test
, the root parent isa
.
-
short_doc
¶ Gets the "short" documentation of a command.
By default, this is the
brief
attribute. If that lookup leads to an empty string then the first line of thehelp
attribute is used instead.
-
signature
¶ Returns a POSIX-like signature useful for help command output.
-
update
(**kwargs)¶ Updates
Command
instance with updated attribute.This works similarly to the
command()
decorator in terms of parameters in that they are passed to theCommand
or subclass constructors, sans the name and callback.
-
walk_commands
()¶ An iterator that recursively walks through all commands and subcommands.
-
-
class
discord.ext.commands.
GroupMixin
(*args, **kwargs)¶ A mixin that implements common functionality for classes that behave similar to
Group
and are allowed to register commands.-
add_command
(command)¶ Adds a
Command
or its subclasses into the internal list of commands.This is usually not called, instead the
command()
orgroup()
shortcut decorators are used instead.- パラメータ
command -- 追加するコマンド。
- 例外
ClientException
-- If the command is already registered.TypeError
-- If the command passed is not a subclass ofCommand
.
-
remove_command
(name)¶ Remove a
Command
or subclasses from the internal list of commands.This could also be used as a way to remove aliases.
-
walk_commands
()¶ An iterator that recursively walks through all commands and subcommands.
-
get_command
(name)¶ Get a
Command
or subclasses from the internal list of commands.This could also be used as a way to get aliases.
The name could be fully qualified (e.g.
'foo bar'
) will get the subcommandbar
of the group commandfoo
. If a subcommand is not found thenNone
is returned just as usual.
-
command
(*args, **kwargs)¶ A shortcut decorator that invokes
command()
and adds it to the internal command list viaadd_command()
.
-
group
(*args, **kwargs)¶ A shortcut decorator that invokes
group()
and adds it to the internal command list viaadd_command()
.
-
Cogs¶
-
class
discord.ext.commands.
Cog
¶ 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 コグ page.
When inheriting from this class, the options shown in
CogMeta
are equally valid here.-
get_commands
()¶ Returns a
list
ofCommand
s that are defined inside this cog.注釈
This does not include subcommands.
-
walk_commands
()¶ An iterator that recursively walks through this cog's commands and subcommands.
-
classmethod
listener
(name=None)¶ A decorator that marks a function as a listener.
This is the cog equivalent of
Bot.listen()
.
-
cog_unload
()¶ 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.
-
bot_check_once
(ctx)¶ 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
.
-
bot_check
(ctx)¶ 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
.
-
cog_check
(ctx)¶ A special method that registers as a
commands.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
.
-
cog_command_error
(ctx, error)¶ 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 function can be a coroutine.
- パラメータ
ctx (
Context
) -- The invocation context where the error happened.error (
CommandError
) -- The error that happened.
-
coroutine
cog_after_invoke
(ctx)¶ A special method that acts as a cog local post-invoke hook.
This is similar to
Command.after_invoke()
.This must be a coroutine.
- パラメータ
ctx (
Context
) -- The invocation context.
-
coroutine
cog_before_invoke
(ctx)¶ A special method that acts as a cog local pre-invoke hook.
This is similar to
Command.before_invoke()
.This must be a coroutine.
- パラメータ
ctx (
Context
) -- The invocation context.
-
-
class
discord.ext.commands.
CogMeta
(*args, **kwargs)¶ 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(commands.CogMeta, abc.ABCMeta): pass class SomeMixin(metaclass=abc.ABCMeta): pass class SomeCogMixin(SomeMixin, commands.Cog, metaclass=CogABCMeta): pass
注釈
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(commands.Cog, name='My Cog'): pass
-
command_attrs
¶ dict
-- A list of attributes to apply to every command inside this cog. The dictionary is passed into theCommand
(or its subclass) 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(commands.Cog, command_attrs=dict(hidden=True)): @commands.command() async def foo(self, ctx): pass # hidden -> True @commands.command(hidden=False) async def bar(self, ctx): pass # hidden -> False
-
Help Commands¶
-
class
discord.ext.commands.
HelpCommand
(**options)¶ The base implementation for help command formatting.
-
context
¶ Optional[
Context
] -- The context that invoked this help formatter. This is generally set after the help command assigned,command_callback()
, has been called.
bool
-- Specifies if hidden commands should be shown in the output. Defaults toFalse
.
-
verify_checks
¶ bool
-- Specifies if commands should have theirCommand.checks
called and verified. Defaults toTrue
.
-
command_attrs
¶ dict
-- A dictionary of options to pass in for the construction of the help command. This allows you to change the command behaviour without actually changing the implementation of the command. The attributes will be the same as the ones passed in theCommand
constructor.
-
get_bot_mapping
()¶ Retrieves the bot mapping passed to
send_bot_help()
.
-
clean_prefix
¶ 「クリーンアップ」されたプレフィックスを返します。たとえば、メンションは
<@id>
のかわりに@name
となります。
-
invoked_with
¶ Similar to
Context.invoked_with
except properly handles the case whereContext.send_help()
is used.If the help command was used regularly then this returns the
Context.invoked_with
attribute. Otherwise, if it the help command was called usingContext.send_help()
then it returns the internal command name of the help command.- 戻り値
The command name that triggered this invocation.
- 戻り値の型
-
get_command_signature
(command)¶ ヘルプページに表示される、コマンドの使用方法を示す文字列を返します。
-
remove_mentions
(string)¶ Removes mentions from the string to prevent abuse.
This includes
@everyone
,@here
, member mentions and role mentions.
-
command_not_found
(string)¶ This function could be a coroutine.
A method called when a command is not found in the help command. This is useful to override for i18n.
Defaults to
No command called {0} found.
-
subcommand_not_found
(command, string)¶ This function could be a coroutine.
A method called when a command did not have a subcommand requested in the help command. This is useful to override for i18n.
Defaults to either:
'Command "{command.qualified_name}" has no subcommands.'
If there is no subcommand in the
command
parameter.
'Command "{command.qualified_name}" has no subcommand named {string}'
If the
command
parameter has subcommands but not one namedstring
.
-
get_max_size
(commands)¶ Returns the largest name length of the specified command list.
-
get_destination
()¶ Returns the
abc.Messageable
where the help command will be output.You can override this method to customise the behaviour.
By default this returns the context's channel.
-
cog
¶ A property for retrieving or setting the cog for the help command.
When a cog is set for the help command, it is as-if the help command belongs to that cog. All cog special methods will apply to the help command and it will be automatically unset on unload.
To unbind the cog from the help command, you can set it to
None
.- 戻り値
The cog that is currently set for the help command.
- 戻り値の型
Optional[
Cog
]
-
coroutine
command_callback
(ctx, *, command=None)¶ This function is a coroutine.
The actual implementation of the help command.
It is not recommended to override this method and instead change the behaviour through the methods that actually get dispatched.
-
coroutine
filter_commands
(commands, *, sort=False, key=None)¶ This function is a coroutine.
Returns a filtered list of commands and optionally sorts them.
This takes into account the
verify_checks
andshow_hidden
attributes.- パラメータ
commands (Iterable[
Command
]) -- An iterable of commands that are getting filtered.sort (
bool
) -- Whether to sort the result.key (Optional[Callable[
Command
, Any]]) -- An optional key function to pass tosorted()
that takes aCommand
as its sole parameter. Ifsort
is passed asTrue
then this will default as the command name.
- 戻り値
A list of commands that passed the filter.
- 戻り値の型
List[
Command
]
-
coroutine
on_help_command_error
(ctx, error)¶ This function is a coroutine.
The help command's error handler, as specified by エラーハンドリング.
Useful to override if you need some specific behaviour when the error handler is called.
By default this method does nothing and just propagates to the default error handlers.
- パラメータ
ctx (
Context
) -- The invocation context.error (
CommandError
) -- The error that was raised.
-
coroutine
prepare_help_command
(ctx, command=None)¶ This function is a coroutine.
A low level method that can be used to prepare the help command before it does anything. For example, if you need to prepare some state in your subclass before the command does its processing then this would be the place to do it.
The default implementation sets
context
.警告
If you override this method, be sure to call
super()
so the help command can be set up.注釈
This is called inside the help command callback body. So all the usual rules that happen inside apply here as well.
-
coroutine
send_bot_help
(mapping)¶ This function is a coroutine.
Handles the implementation of the bot command page in the help command. This function is called when the help command is called with no arguments.
It should be noted that this method does not return anything -- rather the actual message sending should be done inside this method. Well behaved subclasses should use
get_destination()
to know where to send, as this is a customisation point for other users.You can override this method to customise the behaviour.
注釈
You can access the invocation context with
HelpCommand.context
.Also, the commands in the mapping are not filtered. To do the filtering you will have to call
filter_commands()
yourself.
-
coroutine
send_cog_help
(cog)¶ This function is a coroutine.
Handles the implementation of the cog page in the help command. This function is called when the help command is called with a cog as the argument.
It should be noted that this method does not return anything -- rather the actual message sending should be done inside this method. Well behaved subclasses should use
get_destination()
to know where to send, as this is a customisation point for other users.You can override this method to customise the behaviour.
注釈
You can access the invocation context with
HelpCommand.context
.To get the commands that belong to this cog see
Cog.get_commands()
. The commands returned not filtered. To do the filtering you will have to callfilter_commands()
yourself.- パラメータ
cog (
Cog
) -- The cog that was requested for help.
-
coroutine
send_command_help
(command)¶ This function is a coroutine.
Handles the implementation of the single command page in the help command.
It should be noted that this method does not return anything -- rather the actual message sending should be done inside this method. Well behaved subclasses should use
get_destination()
to know where to send, as this is a customisation point for other users.You can override this method to customise the behaviour.
注釈
You can access the invocation context with
HelpCommand.context
.Showing Help
There are certain attributes and methods that are helpful for a help command to show such as the following:
There are more than just these attributes but feel free to play around with these to help you get started to get the output that you want.
- パラメータ
command (
Command
) -- The command that was requested for help.
-
coroutine
send_error_message
(error)¶ This function is a coroutine.
Handles the implementation when an error happens in the help command. For example, the result of
command_not_found()
orcommand_has_no_subcommand_found()
will be passed here.You can override this method to customise the behaviour.
By default, this sends the error message to the destination specified by
get_destination()
.注釈
You can access the invocation context with
HelpCommand.context
.- パラメータ
error (
str
) -- The error message to display to the user. Note that this has had mentions removed to prevent abuse.
-
coroutine
send_group_help
(group)¶ This function is a coroutine.
Handles the implementation of the group page in the help command. This function is called when the help command is called with a group as the argument.
It should be noted that this method does not return anything -- rather the actual message sending should be done inside this method. Well behaved subclasses should use
get_destination()
to know where to send, as this is a customisation point for other users.You can override this method to customise the behaviour.
注釈
You can access the invocation context with
HelpCommand.context
.To get the commands that belong to this group without aliases see
Group.commands
. The commands returned not filtered. To do the filtering you will have to callfilter_commands()
yourself.- パラメータ
group (
Group
) -- The group that was requested for help.
-
-
class
discord.ext.commands.
DefaultHelpCommand
(**options)¶ The implementation of the default help command.
This inherits from
HelpCommand
.It extends it with the following attributes.
-
dm_help
¶ Optional[
bool
] -- A tribool that indicates if the help command should DM the user instead of sending it to the channel it received it from. If the boolean is set toTrue
, then all help output is DM'd. IfFalse
, none of the help output is DM'd. IfNone
, then the bot will only DM when the help message becomes too long (dictated by more thandm_help_threshold
characters). Defaults toFalse
.
-
dm_help_threshold
¶ Optional[
int
] -- The number of characters the paginator must accumulate before getting DM'd to the user ifdm_help
is set toNone
. Defaults to 1000.
-
commands_heading
¶ str
-- help コマンドがカテゴリ名を伴って起動された際に、コマンドの表題として表示される文字列を示します。Botを翻訳する際に使うことができます。デフォルトでは"Commands:"
です。
-
no_category
¶ str
-- help コマンドが起動された際に、いずれのカテゴリ(cog)にも属さないコマンドの表題として表示される文字列を示します。Botを翻訳する際に使うことができます。デフォルトでは"No Category"
です。
-
get_ending_note
()¶ Helpコマンドの末尾の文字列を返します。主に翻訳する際にオーバーライドしてください。
-
add_indented_commands
(commands, *, heading, max_size=None)¶ Indents a list of commands after the specified heading.
The formatting is added to the
paginator
.The default implementation is the command name indented by
indent
spaces, padded tomax_size
followed by the command'sCommand.short_doc
and then shortened to fit into thewidth
.- パラメータ
commands (Sequence[
Command
]) -- A list of commands to indent for output.heading (
str
) -- The heading to add to the output. This is only added if the list of commands is greater than 0.max_size (Optional[
int
]) -- The max size to use for the gap between indents. If unspecified, callsget_max_size()
on the commands parameter.
-
add_command_formatting
(command)¶ A utility function to format the non-indented block of commands and groups.
- パラメータ
command (
Command
) -- The command to format.
-
get_destination
()¶ Returns the
abc.Messageable
where the help command will be output.You can override this method to customise the behaviour.
By default this returns the context's channel.
-
-
class
discord.ext.commands.
MinimalHelpCommand
(**options)¶ An implementation of a help command with minimal output.
This inherits from
HelpCommand
.-
commands_heading
¶ str
-- The command list's heading string used when the help command is invoked with a category name. Useful for i18n. Defaults to"Commands"
-
aliases_heading
¶ str
-- The alias list's heading string used to list the aliases of the command. Useful for i18n. Defaults to"Aliases:"
.
-
dm_help
¶ Optional[
bool
] -- A tribool that indicates if the help command should DM the user instead of sending it to the channel it received it from. If the boolean is set toTrue
, then all help output is DM'd. IfFalse
, none of the help output is DM'd. IfNone
, then the bot will only DM when the help message becomes too long (dictated by more thandm_help_threshold
characters). Defaults toFalse
.
-
dm_help_threshold
¶ Optional[
int
] -- The number of characters the paginator must accumulate before getting DM'd to the user ifdm_help
is set toNone
. Defaults to 1000.
-
no_category
¶ str
-- help コマンドが起動された際に、いずれのカテゴリ(cog)にも属さないコマンドの表題として表示される文字列を示します。Botを翻訳する際に使うことができます。デフォルトでは"No Category"
です。
-
get_opening_note
()¶ Returns help command's opening note. This is mainly useful to override for i18n purposes.
The default implementation returns
Use `{prefix}{command_name} [command]` for more info on a command. You can also use `{prefix}{command_name} [category]` for more info on a category.
-
get_command_signature
(command)¶ ヘルプページに表示される、コマンドの使用方法を示す文字列を返します。
-
get_ending_note
()¶ Return the help command's ending note. This is mainly useful to override for i18n purposes.
The default implementation does nothing.
-
add_bot_commands_formatting
(commands, heading)¶ Adds the minified bot heading with commands to the output.
The formatting should be added to the
paginator
.The default implementation is a bold underline heading followed by commands separated by an EN SPACE (U+2002) in the next line.
-
add_subcommand_formatting
(command)¶ Adds formatting information on a subcommand.
The formatting should be added to the
paginator
.The default implementation is the prefix and the
Command.qualified_name
optionally followed by an En dash and the command'sCommand.short_doc
.- パラメータ
command (
Command
) -- The command to show information of.
-
add_aliases_formatting
(aliases)¶ Adds the formatting information on a command's aliases.
The formatting should be added to the
paginator
.The default implementation is the
aliases_heading
bolded followed by a comma separated list of aliases.This is not called if there are no aliases to format.
- パラメータ
aliases (Sequence[
str
]) -- A list of aliases to format.
-
add_command_formatting
(command)¶ A utility function to format commands and groups.
- パラメータ
command (
Command
) -- The command to format.
-
get_destination
()¶ Returns the
abc.Messageable
where the help command will be output.You can override this method to customise the behaviour.
By default this returns the context's channel.
-
-
class
discord.ext.commands.
Paginator
(prefix='```', suffix='```', max_size=2000)¶ A class that aids in paginating code blocks for Discord messages.
-
len(x)
Returns the total number of characters in the paginator.
-
clear
()¶ Clears the paginator to have no pages.
-
add_line
(line='', *, empty=False)¶ Adds a line to the current page.
If the line exceeds the
max_size
then an exception is raised.- パラメータ
- 例外
RuntimeError
-- The line was too big for the currentmax_size
.
-
close_page
()¶ Prematurely terminate a page.
-
pages
¶ Returns the rendered list of pages.
-
Checks¶
-
discord.ext.commands.
check
(predicate)¶ A decorator that adds a check to the
Command
or its subclasses. These checks could be accessed viaCommand.checks
.These checks should be predicates that take in a single parameter taking a
Context
. If the check returns aFalse
-like value then during invocation aCheckFailure
exception is raised and sent to theon_command_error()
event.If an exception should be thrown in the predicate then it should be a subclass of
CommandError
. Any exception not subclassed from it will be propagated while those subclassed will be sent toon_command_error()
.注釈
These functions can either be regular functions or coroutines.
Examples
Creating a basic check to see if the command invoker is you.
def check_if_it_is_me(ctx): return ctx.message.author.id == 85309593344815104 @bot.command() @commands.check(check_if_it_is_me) async def only_for_me(ctx): await ctx.send('I know you!')
Transforming common checks into its own decorator:
def is_me(): def predicate(ctx): return ctx.message.author.id == 85309593344815104 return commands.check(predicate) @bot.command() @is_me() async def only_me(ctx): await ctx.send('Only you!')
-
discord.ext.commands.
has_role
(item)¶ A
check()
that is added that checks if the member invoking the command has the role specified via the name or ID specified.If a string is specified, you must give the exact name of the role, including caps and spelling.
If an integer is specified, you must give the exact snowflake ID of the role.
If the message is invoked in a private message context then the check will return
False
.
-
discord.ext.commands.
has_permissions
(**perms)¶ A
check()
that is added that checks if the member has all of the permissions necessary.The permissions passed in must be exactly like the properties shown under
discord.Permissions
.This check raises a special exception,
MissingPermissions
that is inherited fromCheckFailure
.- パラメータ
perms -- An argument list of permissions to check for.
例
@bot.command() @commands.has_permissions(manage_messages=True) async def test(ctx): await ctx.send('You can manage messages.')
-
discord.ext.commands.
has_any_role
(*items)¶ A
check()
that is added that checks if the member invoking the command has any of the roles specified. This means that if they have one out of the three roles specified, then this check will return True.Similar to
has_role()
, the names or IDs passed in must be exact.- パラメータ
items (List[Union[
str
,int
]]) -- An argument list of names or IDs to check that the member has roles wise.
例
@bot.command() @commands.has_any_role('Library Devs', 'Moderators', 492212595072434186) async def cool(ctx): await ctx.send('You are cool indeed')
-
discord.ext.commands.
bot_has_role
(item)¶ Similar to
has_role()
except checks if the bot itself has the role.
-
discord.ext.commands.
bot_has_permissions
(**perms)¶ Similar to
has_permissions()
except checks if the bot itself has the permissions listed.This check raises a special exception,
BotMissingPermissions
that is inherited fromCheckFailure
.
-
discord.ext.commands.
bot_has_any_role
(*items)¶ Similar to
has_any_role()
except checks if the bot itself has any of the roles listed.
-
discord.ext.commands.
cooldown
(rate, per, type=<BucketType.default: 0>)¶ A decorator that adds a cooldown to a
Command
or its subclasses.A cooldown allows a command to only be used a specific amount of times in a specific time frame. These cooldowns can be based either on a per-guild, per-channel, per-user, or global basis. Denoted by the third argument of
type
which must be of enum typeBucketType
which could be either:BucketType.default
for a global basis.BucketType.user
for a per-user basis.BucketType.guild
for a per-guild basis.BucketType.channel
for a per-channel basis.BucketType.member
for a per-member basis.BucketType.category
for a per-category basis.
If a cooldown is triggered, then
CommandOnCooldown
is triggered inon_command_error()
and the local error handler.A command can only have a single cooldown.
-
discord.ext.commands.
guild_only
()¶ A
check()
that indicates this command must only be used in a guild context only. Basically, no private messages are allowed when using the command.This check raises a special exception,
NoPrivateMessage
that is inherited fromCheckFailure
.
-
discord.ext.commands.
is_owner
()¶ A
check()
that checks if the person invoking this command is the owner of the bot.This is powered by
Bot.is_owner()
.This check raises a special exception,
NotOwner
that is derived fromCheckFailure
.
Context¶
-
class
discord.ext.commands.
Context
(**attrs)¶ Represents the context in which a command is being invoked under.
This class contains a lot of meta data to help you understand more about the invocation context. This class is not created manually and is instead passed around to commands as the first parameter.
This class implements the
abc.Messageable
ABC.-
args
¶ list
-- The list of transformed arguments that were passed into the command. If this is accessed during theon_command_error()
event then this list could be incomplete.
-
kwargs
¶ dict
-- A dictionary of transformed arguments that were passed into the command. Similar toargs
, if this is accessed in theon_command_error()
event then this dict could be incomplete.
-
invoked_with
¶ str
-- The command name that triggered this invocation. Useful for finding out which alias called the command.
-
invoked_subcommand
¶ The subcommand (i.e.
Command
or its subclasses) that was invoked. If no valid subcommand was invoked then this is equal to None.
-
subcommand_passed
¶ Optional[
str
] -- The string that was attempted to call a subcommand. This does not have to point to a valid registered subcommand and could just point to a nonsense string. If nothing was passed to attempt a call to a subcommand then this is set to None.
-
command_failed
¶ bool
-- A boolean that indicates if the command failed to be parsed, checked, or invoked.
-
async-for
history
(*, limit=100, before=None, after=None, around=None, oldest_first=None)¶ Return an
AsyncIterator
that enables receiving the destination's message history.You must have
read_message_history
permissions to use this.Examples
Usage
counter = 0 async for message in channel.history(limit=200): if message.author == client.user: counter += 1
Flattening into a list:
messages = await channel.history(limit=123).flatten() # messages is now a list of Message...
All parameters are optional.
- パラメータ
limit (Optional[
int
]) -- The number of messages to retrieve. IfNone
, retrieves every message in the channel. Note, however, that this would make it a slow operation.before (
Message
ordatetime.datetime
) -- Retrieve messages before this date or message. If a date is provided it must be a timezone-naive datetime representing UTC time.after (
Message
ordatetime.datetime
) -- Retrieve messages after this date or message. If a date is provided it must be a timezone-naive datetime representing UTC time.around (
Message
ordatetime.datetime
) -- Retrieve messages around this date or message. If a date is provided it must be a timezone-naive datetime representing UTC time. When using this argument, the maximum limit is 101. Note that if the limit is an even number then this will return at most limit + 1 messages.oldest_first (Optional[
bool
]) -- If set to true, return messages in oldest->newest order. Defaults to True ifafter
is specified, otherwise False.
- 例外
Forbidden
-- You do not have permissions to get channel message history.HTTPException
-- The request to get message history failed.
- Yields
Message
-- The message with the message data parsed.
-
async-with
typing
()¶ Returns a context manager that allows you to type for an indefinite period of time.
This is useful for denoting long computations in your bot.
注釈
This is both a regular context manager and an async context manager. This means that both
with
andasync with
work with this.Example Usage:
async with channel.typing(): # do expensive stuff here await channel.send('done!')
-
valid
¶ Checks if the invocation context is valid to be invoked with.
-
cog
¶ Returns the cog associated with this context's command. None if it does not exist.
-
guild
¶ Returns the guild associated with this context's command. None if not available.
-
channel
¶ Returns the channel associated with this context's command. Shorthand for
Message.channel
.
Returns the author associated with this context's command. Shorthand for
Message.author
-
coroutine
fetch_message
(id)¶ This function is a coroutine.
Retrieves a single
Message
from the destination.This can only be used by bot accounts.
- パラメータ
id (
int
) -- The message ID to look for.- 例外
NotFound
-- The specified message was not found.Forbidden
-- You do not have the permissions required to get a message.HTTPException
-- Retrieving the message failed.
- 戻り値
The message asked for.
- 戻り値の型
-
coroutine
invoke
(*args, **kwargs)¶ This function is a coroutine.
Calls a command with the arguments given.
This is useful if you want to just call the callback that a
Command
holds internally.注釈
You do not pass in the context as it is done for you.
警告
The first parameter passed must be the command being invoked.
- パラメータ
command (
Command
) -- A command or subclass of a command that is going to be called.*args -- The arguments to to use.
**kwargs -- The keyword arguments to use.
-
coroutine
pins
()¶ This function is a coroutine.
Returns a
list
ofMessage
that are currently pinned.- 例外
HTTPException
-- Retrieving the pinned messages failed.
-
coroutine
reinvoke
(*, call_hooks=False, restart=True)¶ This function is a coroutine.
Calls the command again.
This is similar to
invoke()
except that it bypasses checks, cooldowns, and error handlers.注釈
If you want to bypass
UserInputError
derived exceptions, it is recommended to use the regularinvoke()
as it will work more naturally. After all, this will end up using the old arguments the user has used and will thus just fail again.
-
coroutine
send
(content=None, *, tts=False, embed=None, file=None, files=None, delete_after=None, nonce=None)¶ This function is a coroutine.
Sends a message to the destination with the content given.
The content must be a type that can convert to a string through
str(content)
. If the content is set toNone
(the default), then theembed
parameter must be provided.To upload a single file, the
file
parameter should be used with a singleFile
object. To upload multiple files, thefiles
parameter should be used with alist
ofFile
objects. Specifying both parameters will lead to an exception.If the
embed
parameter is provided, it must be of typeEmbed
and it must be a rich embed type.- パラメータ
content -- The content of the message to send.
tts (
bool
) -- Indicates if the message should be sent using text-to-speech.embed (
Embed
) -- The rich embed for the content.file (
File
) -- The file to upload.files (List[
File
]) -- A list of files to upload. Must be a maximum of 10.nonce (
int
) -- The nonce to use for sending this message. If the message was successfully sent, then the message will have a nonce with this value.delete_after (
float
) -- If provided, the number of seconds to wait in the background before deleting the message we just sent. If the deletion fails, then it is silently ignored.
- 例外
HTTPException
-- Sending the message failed.Forbidden
-- You do not have the proper permissions to send the message.InvalidArgument
-- Thefiles
list is not of the appropriate size or you specified bothfile
andfiles
.
- 戻り値
The message that was sent.
- 戻り値の型
-
coroutine
send_help
(entity=<bot>)¶ This function is a coroutine.
Shows the help command for the specified entity if given. The entity can be a command or a cog.
If no entity is given, then it'll show help for the entire bot.
If the entity is a string, then it looks up whether it's a
Cog
or aCommand
.注釈
Due to the way this function works, instead of returning something similar to
command_not_found()
this returnsNone
on bad input or no help command.
-
coroutine
trigger_typing
()¶ This function is a coroutine.
Triggers a typing indicator to the destination.
Typing indicator will go away after 10 seconds, or after a message is sent.
-
me
¶ Similar to
Guild.me
except it may return theClientUser
in private message contexts.
-
voice_client
¶ Optional[
VoiceClient
] -- A shortcut toGuild.voice_client
, if applicable.
-
Converters¶
-
class
discord.ext.commands.
Converter
¶ The base class of custom converters that require the
Context
to be passed to be useful.This allows you to implement converters that function similar to the special cased
discord
classes.Classes that derive from this should override the
convert()
method to do its conversion logic. This method must be a coroutine.-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
coroutine
-
class
discord.ext.commands.
MemberConverter
¶ Converts to a
Member
.All lookups are via the local guild. If in a DM context, then the lookup is done by the global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name#discrim
Lookup by name
Lookup by nickname
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
UserConverter
¶ Converts to a
User
.All lookups are via the global user cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name#discrim
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
TextChannelConverter
¶ Converts to a
TextChannel
.All lookups are via the local guild. If in a DM context, then the lookup is done by the global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
VoiceChannelConverter
¶ Converts to a
VoiceChannel
.All lookups are via the local guild. If in a DM context, then the lookup is done by the global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
CategoryChannelConverter
¶ Converts to a
CategoryChannel
.All lookups are via the local guild. If in a DM context, then the lookup is done by the global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
InviteConverter
¶ Converts to a
Invite
.This is done via an HTTP request using
Bot.fetch_invite()
.-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
coroutine
-
class
discord.ext.commands.
RoleConverter
¶ Converts to a
Role
.All lookups are via the local guild. If in a DM context, then the lookup is done by the global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by mention.
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
GameConverter
¶ Converts to
Game
.-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
coroutine
-
class
discord.ext.commands.
ColourConverter
¶ Converts to a
Colour
.The following formats are accepted:
0x<hex>
#<hex>
0x#<hex>
Any of the
classmethod
inColour
The
_
in the name can be optionally replaced with spaces.
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
EmojiConverter
¶ Converts to a
Emoji
.All lookups are done for the local guild first, if available. If that lookup fails, then it checks the client's global cache.
The lookup strategy is as follows (in order):
Lookup by ID.
Lookup by extracting ID from the emoji.
Lookup by name
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
class
discord.ext.commands.
PartialEmojiConverter
¶ Converts to a
PartialEmoji
.This is done by extracting the animated flag, name and ID from the emoji.
-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
coroutine
-
class
discord.ext.commands.
clean_content
(*, fix_channel_mentions=False, use_nicknames=True, escape_markdown=False)¶ Converts the argument to mention scrubbed version of said content.
This behaves similarly to
Message.clean_content
.-
coroutine
convert
(ctx, argument)¶ This function is a coroutine.
The method to override to do conversion logic.
If an error is found while converting, it is recommended to raise a
CommandError
derived exception as it will properly propagate to the error handlers.
-
coroutine
-
ext.commands.
Greedy
¶ A special converter that greedily consumes arguments until it can't. As a consequence of this behaviour, most input errors are silently discarded, since it is used as an indicator of when to stop parsing.
When a parser error is met the greedy converter stops converting, undoes the internal string parsing routine, and continues parsing regularly.
For example, in the following code:
@commands.command() async def test(ctx, numbers: Greedy[int], reason: str): await ctx.send("numbers: {}, reason: {}".format(numbers, reason))
An invocation of
[p]test 1 2 3 4 5 6 hello
would passnumbers
with[1, 2, 3, 4, 5, 6]
andreason
withhello
.For more information, check 特殊なコンバーター.
Exceptions¶
-
exception
discord.ext.commands.
CommandError
(message=None, *args)¶ コマンドに関連するエラーすべての基礎となる例外。
これは
discord.DiscordException
を継承しています。This exception and exceptions inherited from it are handled in a special way as they are caught and passed into a special event from
Bot
,on_command_error()
.
-
exception
discord.ext.commands.
ConversionError
(converter, original)¶ Converter クラスで、CommandErrorではない例外が発生した際に、発生する例外。
This inherits from
CommandError
.-
converter
¶ discord.ext.commands.Converter
-- 例外が発生したConverter.
-
original
¶ Converter内で発生した元の例外。
__cause__
からも取得できます。
-
-
exception
discord.ext.commands.
MissingRequiredArgument
(param)¶ コマンドのパラメータ解析の際、要求されたパラメータに値が渡されていない場合に発生します。
-
param
¶ inspect.Parameter
-- 値が渡されなかった引数。
-
-
exception
discord.ext.commands.
ArgumentParsingError
(message=None, *args)¶ An exception raised when the parser fails to parse a user's input.
This inherits from
UserInputError
. There are child classes that implement more granular parsing errors for i18n purposes.
-
exception
discord.ext.commands.
UnexpectedQuoteError
(quote)¶ An exception raised when the parser encounters a quote mark inside a non-quoted string.
This inherits from
ArgumentParsingError
.
-
exception
discord.ext.commands.
InvalidEndOfQuotedStringError
(char)¶ An exception raised when a space is expected after the closing quote in a string but a different character is found.
This inherits from
ArgumentParsingError
.
-
exception
discord.ext.commands.
ExpectedClosingQuoteError
(close_quote)¶ An exception raised when a quote character is expected but not found.
This inherits from
ArgumentParsingError
.
-
exception
discord.ext.commands.
BadArgument
(message=None, *args)¶ コマンドの引数に渡された値の解析、または変換に失敗した場合に発生する例外。
-
exception
discord.ext.commands.
BadUnionArgument
(param, converters, errors)¶ Exception raised when a
typing.Union
converter fails for all its associated types.-
param
¶ inspect.Parameter
-- The parameter that failed being converted.
-
converters
¶ Tuple[Type, ...] -- A tuple of converters attempted in conversion, in order of failure.
-
errors
¶ List[
CommandError
] -- A list of errors that were caught from failing the conversion.
-
-
exception
discord.ext.commands.
NoPrivateMessage
(message=None, *args)¶ プライベートメッセージコンテキストで、要求された処理が実行できない場合に発生する例外。
-
exception
discord.ext.commands.
CheckFailure
(message=None, *args)¶ Exception raised when the predicates in
Command.checks
have failed.
-
exception
discord.ext.commands.
CommandNotFound
(message=None, *args)¶ コマンドを呼び出す際に、指定された名前を持つコマンドが存在していなかった場合に発生する例外。
This is not raised for invalid subcommands, rather just the initial main command that is attempted to be invoked.
-
exception
discord.ext.commands.
DisabledCommand
(message=None, *args)¶ 呼び出そうとしたコマンドが無効化されていた際に発生する例外。
-
exception
discord.ext.commands.
CommandInvokeError
(e)¶ Exception raised when the command being invoked raised an exception.
-
original
¶ Converter内で発生した元の例外。
__cause__
からも取得できます。
-
-
exception
discord.ext.commands.
TooManyArguments
(message=None, *args)¶ Exception raised when the command was passed too many arguments and its
Command.ignore_extra
attribute was not set toTrue
.
-
exception
discord.ext.commands.
UserInputError
(message=None, *args)¶ The base exception type for errors that involve errors regarding user input.
This inherits from
CommandError
.
-
exception
discord.ext.commands.
CommandOnCooldown
(cooldown, retry_after)¶ Exception raised when the command being invoked is on cooldown.
-
cooldown
¶ Cooldown -- A class with attributes
rate
,per
, andtype
similar to thecooldown()
decorator.
-
-
exception
discord.ext.commands.
NotOwner
(message=None, *args)¶ Exception raised when the message author is not the owner of the bot.
-
exception
discord.ext.commands.
MissingPermissions
(missing_perms, *args)¶ Exception raised when the command invoker lacks permissions to run command.
-
exception
discord.ext.commands.
BotMissingPermissions
(missing_perms, *args)¶ Exception raised when the bot lacks permissions to run command.
-
exception
discord.ext.commands.
ExtensionError
(message=None, *args, name)¶ Base exception for extension related errors.
This inherits from
DiscordException
.- name:
str
The extension that had an error.
- name:
-
exception
discord.ext.commands.
ExtensionAlreadyLoaded
(name)¶ An exception raised when an extension has already been loaded.
This inherits from
ExtensionError
-
exception
discord.ext.commands.
ExtensionNotLoaded
(name)¶ An exception raised when an extension was not loaded.
This inherits from
ExtensionError
-
exception
discord.ext.commands.
NoEntryPointError
(name)¶ An exception raised when an extension does not have a
setup
entry point function.This inherits from
ExtensionError
-
exception
discord.ext.commands.
ExtensionFailed
(name, original)¶ An exception raised when an extension failed to load during execution of the
setup
entry point.This inherits from
ExtensionError
-
exception
discord.ext.commands.
ExtensionNotFound
(name, original)¶ An exception raised when an extension failed to be imported.
This inherits from
ExtensionError
-
original
¶ ImportError
-- The original exception that was raised. You can also get this via the__cause__
attribute.
-