mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
[RedTree] add UserFeedbackCheckFailure for app_commands (#6397)
Co-authored-by: Jakub Kuczys <me@jacken.men>
This commit is contained in:
parent
2e40ec4a1a
commit
bf8c0d03b5
2
.github/labeler.yml
vendored
2
.github/labeler.yml
vendored
@ -141,6 +141,8 @@
|
|||||||
"Category: Core - API - App Commands Package":
|
"Category: Core - API - App Commands Package":
|
||||||
# Source
|
# Source
|
||||||
- redbot/core/app_commands/*
|
- redbot/core/app_commands/*
|
||||||
|
# Docs
|
||||||
|
- docs/framework_app_commands.rst
|
||||||
# Tests
|
# Tests
|
||||||
- tests/core/test_app_commands.py
|
- tests/core/test_app_commands.py
|
||||||
"Category: Core - API - Commands Package":
|
"Category: Core - API - Commands Package":
|
||||||
|
|||||||
13
docs/framework_app_commands.rst
Normal file
13
docs/framework_app_commands.rst
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
.. red app_commands module documentation
|
||||||
|
|
||||||
|
====================
|
||||||
|
App Commands Package
|
||||||
|
====================
|
||||||
|
|
||||||
|
This package acts almost identically to :doc:`discord.ext.app_commands <dpy:interactions/api>`; i.e.
|
||||||
|
all of the attributes from discord.py's are also in ours.
|
||||||
|
Some of these attributes, however, have been slightly modified, while others have been added to
|
||||||
|
extend functionalities used throughout the bot, as outlined below.
|
||||||
|
|
||||||
|
.. autoclass:: redbot.core.app_commands.UserFeedbackCheckFailure
|
||||||
|
:members:
|
||||||
@ -47,6 +47,9 @@ extend functionalities used throughout the bot, as outlined below.
|
|||||||
|
|
||||||
.. autoclass:: redbot.core.commands.DMContext
|
.. autoclass:: redbot.core.commands.DMContext
|
||||||
|
|
||||||
|
.. autoclass:: redbot.core.commands.UserFeedbackCheckFailure
|
||||||
|
:members:
|
||||||
|
|
||||||
.. automodule:: redbot.core.commands.requires
|
.. automodule:: redbot.core.commands.requires
|
||||||
:members: PrivilegeLevel, PermState, Requires
|
:members: PrivilegeLevel, PermState, Requires
|
||||||
|
|
||||||
|
|||||||
@ -71,6 +71,7 @@ Welcome to Red - Discord Bot's documentation!
|
|||||||
framework_bot
|
framework_bot
|
||||||
framework_checks
|
framework_checks
|
||||||
framework_commands
|
framework_commands
|
||||||
|
framework_app_commands
|
||||||
framework_config
|
framework_config
|
||||||
framework_datamanager
|
framework_datamanager
|
||||||
framework_events
|
framework_events
|
||||||
|
|||||||
@ -69,6 +69,9 @@ from discord.app_commands import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from . import checks as checks
|
from . import checks as checks
|
||||||
|
from .errors import (
|
||||||
|
UserFeedbackCheckFailure as UserFeedbackCheckFailure,
|
||||||
|
)
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
"AllChannels",
|
"AllChannels",
|
||||||
@ -131,4 +134,5 @@ __all__ = (
|
|||||||
"rename",
|
"rename",
|
||||||
"user_install",
|
"user_install",
|
||||||
"checks",
|
"checks",
|
||||||
|
"UserFeedbackCheckFailure",
|
||||||
)
|
)
|
||||||
|
|||||||
10
redbot/core/app_commands/errors.py
Normal file
10
redbot/core/app_commands/errors.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
"""Errors module for the app_commands package."""
|
||||||
|
from discord import app_commands
|
||||||
|
|
||||||
|
|
||||||
|
class UserFeedbackCheckFailure(app_commands.CheckFailure):
|
||||||
|
"""A version of CheckFailure responding with a custom error message."""
|
||||||
|
|
||||||
|
def __init__(self, message=None, *args):
|
||||||
|
self.message = message
|
||||||
|
super().__init__(message, *args)
|
||||||
@ -17,6 +17,7 @@ from .app_commands import (
|
|||||||
Group,
|
Group,
|
||||||
NoPrivateMessage,
|
NoPrivateMessage,
|
||||||
TransformerError,
|
TransformerError,
|
||||||
|
UserFeedbackCheckFailure,
|
||||||
)
|
)
|
||||||
from .i18n import Translator
|
from .i18n import Translator
|
||||||
from .utils.chat_formatting import humanize_list, inline
|
from .utils.chat_formatting import humanize_list, inline
|
||||||
@ -327,6 +328,9 @@ class RedTree(CommandTree):
|
|||||||
relative_time=relative_time
|
relative_time=relative_time
|
||||||
)
|
)
|
||||||
await self._send_from_interaction(interaction, msg, delete_after=error.retry_after)
|
await self._send_from_interaction(interaction, msg, delete_after=error.retry_after)
|
||||||
|
elif isinstance(error, UserFeedbackCheckFailure):
|
||||||
|
if error.message:
|
||||||
|
await self._send_from_interaction(interaction, error.message)
|
||||||
elif isinstance(error, CheckFailure):
|
elif isinstance(error, CheckFailure):
|
||||||
await self._send_from_interaction(
|
await self._send_from_interaction(
|
||||||
interaction, _("You are not permitted to use this command.")
|
interaction, _("You are not permitted to use this command.")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user