tanjun.errors#
The errors and warnings raised within and by Tanjun.
MissingDependencyError module-attribute #
MissingDependencyError = MissingDependencyError
Type alias of alluka.MissingDependencyError.
CommandError #
Bases: TanjunError
An error which is sent as a response to the command call.
attachments instance-attribute #
attachments = [attachment] if attachment else attachments
Sequence of the attachments to be sent as a response to the command, if set.
components instance-attribute #
components = [component] if component else components
Sequence of the components to be sent as a response to the command, if set.
delete_after instance-attribute #
delete_after = delete_after
The seconds after which the response message should be deleted, if set.
embeds instance-attribute #
embeds = [embed] if embed else embeds
Sequence of the embeds to be sent as a response to the command, if set.
mentions_everyone instance-attribute #
mentions_everyone = mentions_everyone
Whether or not the response should be allowed to mention @everyone/@here.
role_mentions instance-attribute #
role_mentions = role_mentions
Configuration for the response's allowed role mentions.
If this is a sequence then the response will only be allowed to mention roles in the sequence.
If this is a bool then the response will only be allowed to mention roles if the value is True.
user_mentions instance-attribute #
user_mentions = user_mentions
Configuration for the response's allowed user mentions.
If this is a sequence then the response will only be allowed to mention users in the sequence.
If this is a bool then the response will only be allowed to mention users if the value is True.
__init__ #
__init__(content=hikari.UNDEFINED, *, delete_after=None, attachment=hikari.UNDEFINED, attachments=hikari.UNDEFINED, component=hikari.UNDEFINED, components=hikari.UNDEFINED, embed=hikari.UNDEFINED, embeds=hikari.UNDEFINED, mentions_everyone=hikari.UNDEFINED, user_mentions=hikari.UNDEFINED, role_mentions=hikari.UNDEFINED)
Initialise a command error.
Parameters:
-
content(UndefinedOr[Any], default:UNDEFINED) –If provided, the message content to respond with.
If this is a hikari.Embed and no
embednorembedskwarg is provided, then this will instead be treated as an embed. This allows for simpler syntax when sending an embed alone.Likewise, if this is a hikari.Resource, then the content is instead treated as an attachment if no
attachmentand noattachmentskwargs are provided. -
delete_after(timedelta | float | int | None, default:None) –If provided, the seconds after which the response message should be deleted.
Slash command responses can only be deleted within 15 minutes of the command being received.
-
attachment(UndefinedOr[Resourceish], default:UNDEFINED) –A singular attachment to respond with.
-
attachments(UndefinedOr[Sequence[Resourceish]], default:UNDEFINED) –A sequence of attachments to respond with.
-
component(UndefinedOr[ComponentBuilder], default:UNDEFINED) –If provided, builder object of the component to include in this response.
-
components(UndefinedOr[Sequence[ComponentBuilder]], default:UNDEFINED) –If provided, a sequence of the component builder objects to include in this response.
-
embed(UndefinedOr[Embed], default:UNDEFINED) –An embed to respond with.
-
embeds(UndefinedOr[Sequence[Embed]], default:UNDEFINED) –A sequence of embeds to respond with.
-
mentions_everyone(UndefinedOr[bool], default:UNDEFINED) –If provided, whether the message should parse @everyone/@here mentions.
-
user_mentions(SnowflakeishSequence[PartialUser] | bool | UndefinedType, default:UNDEFINED) –If provided, and True, all mentions will be parsed. If provided, and False, no mentions will be parsed.
Alternatively this may be a collection of hikari.Snowflake, or hikari.PartialUser derivatives to enforce mentioning specific users.
-
role_mentions(SnowflakeishSequence[PartialRole] | bool | UndefinedType, default:UNDEFINED) –If provided, and True, all mentions will be parsed. If provided, and False, no mentions will be parsed.
Alternatively this may be a collection of hikari.Snowflake, or hikari.PartialRole derivatives to enforce mentioning specific roles.
Raises:
-
ValueError–Raised for any of the following reasons:
- When both
attachmentandattachmentsare provided. - When both
componentandcomponentsare passed. - When both
embedandembedsare passed. - If more than 100 entries are passed for
role_mentions. - If more than 100 entries are passed for
user_mentions.
- When both
send async #
send(ctx: tanjun.Context, /, *, ensure_result: typing.Literal[True]) -> hikari.Message
send(ctx: tanjun.Context, /, *, ensure_result: bool = False) -> hikari.Message | None
send(ctx, /, *, ensure_result=False)
Send this error as a command response.
Parameters:
-
ctx(Context) –The command call context to respond to.
-
ensure_result(bool, default:False) –Ensure that this call will always return a message object.
If True then this will always return hikari.Message, otherwise this will return
hikari.Message | None.It's worth noting that, under certain scenarios within the slash command flow, this may lead to an extre request being made.
Raises:
-
ValueError–If
delete_afterwould be more than 15 minutes after the slash command was called. -
BadRequestError–This may be raised in several discrete situations, such as messages being empty with no attachments or embeds; messages with more than 2000 characters in them, embeds that exceed one of the many embed limits; too many attachments; attachments that are too large; invalid image URLs in embeds; too many components.
-
UnauthorizedError–If you are unauthorized to make the request (invalid/missing token).
-
ForbiddenError–If you are missing the
SEND_MESSAGESin the channel or the person you are trying to message has the DM's disabled. -
NotFoundError–If the channel is not found.
-
RateLimitTooLongError–Raised in the event that a rate limit occurs that is longer than
max_rate_limitwhen making a request. -
InternalServerError–If an internal error occurs on Discord while handling the request.
ConversionError #
Bases: ParserError
Error raised by a parser parameter when it failed to converter a value.
errors instance-attribute #
errors = tuple(errors)
Sequence of the errors that were caught during conversion for this parameter.
message instance-attribute #
message = message
String message for this error.
Note
This may be used as a command response message.
__init__ #
__init__(message, parameter, /, *, errors=())
Initialise a conversion error.
Parameters:
-
parameter(str) –The parameter this was raised by.
-
errors(Iterable[ValueError], default:()) –An iterable of the source value errors which were raised during conversion.
FailedCheck #
Bases: TanjunError, RuntimeError
Error raised as an alternative to returning False in a check.
FailedModuleImport #
Bases: FailedModuleLoad
Error raised when a module failed to import.
This is a specialisation of FailedModuleLoad.
FailedModuleLoad #
Bases: TanjunError
Error raised when a module fails to load.
This may be raised by the module failing to import or by one of its loaders erroring.
This source error can be accessed at FailedModuleLoad.__cause__.
FailedModuleUnload #
Bases: TanjunError
Error raised when a module fails to unload.
This may be raised by the module failing to import or by one of its unloaders erroring.
The source error can be accessed at FailedModuleUnload.__cause__.
HaltExecution #
Bases: TanjunError
Error raised while looking for a command in-order to end-execution early.
For the most part, this will be raised during checks in-order to prevent other commands from being tried.
InvalidCheck #
Bases: TanjunError, RuntimeError
Error raised as an assertion that a check will never pass in the current environment.
ModuleMissingLoaders #
Bases: RuntimeError, TanjunError
Error raised when a module is missing loaders.
ModuleMissingUnloaders #
Bases: RuntimeError, TanjunError
Error raised when a module is missing unloaders.
ModuleStateConflict #
Bases: ValueError, TanjunError
Error raised when a module cannot be (un)loaded due to a state conflict.
NotEnoughArgumentsError #
Bases: ParserError
Error raised by the parser when not enough arguments are found for a parameter.
message instance-attribute #
message = message
String message for this error.
Note
This may be used as a command response message.
ParserError #
Bases: TanjunError, ValueError
Base error raised by a parser or parameter during parsing.
Note
Expected errors raised by the parser will subclass this error.
message instance-attribute #
message = message
String message for this error.
Note
This may be used as a command response message.
TooManyArgumentsError #
Bases: ParserError
Error raised by the parser when too many arguments are found for a parameter.
message instance-attribute #
message = message
String message for this error.
Note
This may be used as a command response message.