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":
|
||||
# Source
|
||||
- redbot/core/app_commands/*
|
||||
# Docs
|
||||
- docs/framework_app_commands.rst
|
||||
# Tests
|
||||
- tests/core/test_app_commands.py
|
||||
"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.UserFeedbackCheckFailure
|
||||
:members:
|
||||
|
||||
.. automodule:: redbot.core.commands.requires
|
||||
:members: PrivilegeLevel, PermState, Requires
|
||||
|
||||
|
||||
@ -71,6 +71,7 @@ Welcome to Red - Discord Bot's documentation!
|
||||
framework_bot
|
||||
framework_checks
|
||||
framework_commands
|
||||
framework_app_commands
|
||||
framework_config
|
||||
framework_datamanager
|
||||
framework_events
|
||||
|
||||
@ -69,6 +69,9 @@ from discord.app_commands import (
|
||||
)
|
||||
|
||||
from . import checks as checks
|
||||
from .errors import (
|
||||
UserFeedbackCheckFailure as UserFeedbackCheckFailure,
|
||||
)
|
||||
|
||||
__all__ = (
|
||||
"AllChannels",
|
||||
@ -131,4 +134,5 @@ __all__ = (
|
||||
"rename",
|
||||
"user_install",
|
||||
"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,
|
||||
NoPrivateMessage,
|
||||
TransformerError,
|
||||
UserFeedbackCheckFailure,
|
||||
)
|
||||
from .i18n import Translator
|
||||
from .utils.chat_formatting import humanize_list, inline
|
||||
@ -327,6 +328,9 @@ class RedTree(CommandTree):
|
||||
relative_time=relative_time
|
||||
)
|
||||
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):
|
||||
await self._send_from_interaction(
|
||||
interaction, _("You are not permitted to use this command.")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user