mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-07 18:02:31 -05:00
Add redbot.core.app_commands namespace (#6006)
This commit is contained in:
61
redbot/core/app_commands/__init__.py
Normal file
61
redbot/core/app_commands/__init__.py
Normal file
@@ -0,0 +1,61 @@
|
||||
########## SENSITIVE SECTION WARNING ###########
|
||||
################################################
|
||||
# Any edits of any of the exported names #
|
||||
# may result in a breaking change. #
|
||||
# Ensure no names are removed without warning. #
|
||||
################################################
|
||||
|
||||
### DEP-WARN: Check this *every* discord.py update
|
||||
from discord.app_commands import (
|
||||
AllChannels as AllChannels,
|
||||
AppCommand as AppCommand,
|
||||
AppCommandChannel as AppCommandChannel,
|
||||
AppCommandError as AppCommandError,
|
||||
AppCommandGroup as AppCommandGroup,
|
||||
AppCommandPermissions as AppCommandPermissions,
|
||||
AppCommandThread as AppCommandThread,
|
||||
Argument as Argument,
|
||||
BotMissingPermissions as BotMissingPermissions,
|
||||
Command as Command,
|
||||
CommandAlreadyRegistered as CommandAlreadyRegistered,
|
||||
CommandInvokeError as CommandInvokeError,
|
||||
CommandLimitReached as CommandLimitReached,
|
||||
CommandNotFound as CommandNotFound,
|
||||
CommandOnCooldown as CommandOnCooldown,
|
||||
CommandSignatureMismatch as CommandSignatureMismatch,
|
||||
CommandSyncFailure as CommandSyncFailure,
|
||||
CommandTree as CommandTree,
|
||||
ContextMenu as ContextMenu,
|
||||
Cooldown as Cooldown,
|
||||
Group as Group,
|
||||
GuildAppCommandPermissions as GuildAppCommandPermissions,
|
||||
MissingAnyRole as MissingAnyRole,
|
||||
MissingApplicationID as MissingApplicationID,
|
||||
MissingPermissions as MissingPermissions,
|
||||
MissingRole as MissingRole,
|
||||
Namespace as Namespace,
|
||||
NoPrivateMessage as NoPrivateMessage,
|
||||
Parameter as Parameter,
|
||||
Range as Range,
|
||||
Transform as Transform,
|
||||
Transformer as Transformer,
|
||||
TransformerError as TransformerError,
|
||||
TranslationContext as TranslationContext,
|
||||
TranslationContextLocation as TranslationContextLocation,
|
||||
TranslationContextTypes as TranslationContextTypes,
|
||||
TranslationError as TranslationError,
|
||||
Translator as Translator,
|
||||
autocomplete as autocomplete,
|
||||
check as check,
|
||||
CheckFailure as CheckFailure,
|
||||
Choice as Choice,
|
||||
choices as choices,
|
||||
command as command,
|
||||
context_menu as context_menu,
|
||||
default_permissions as default_permissions,
|
||||
describe as describe,
|
||||
guild_only as guild_only,
|
||||
guilds as guilds,
|
||||
locale_str as locale_str,
|
||||
rename as rename,
|
||||
)
|
||||
@@ -59,7 +59,8 @@ from .utils._internal_utils import send_to_owners_with_prefix_replaced
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from discord.ext.commands.hybrid import CommandCallback, ContextT, P
|
||||
from discord import app_commands
|
||||
|
||||
from redbot.core import app_commands
|
||||
|
||||
|
||||
_T = TypeVar("_T")
|
||||
@@ -1728,7 +1729,7 @@ class Red(
|
||||
raise TypeError("command type must be one of chat_input, message, user")
|
||||
async with cfg as curr_commands:
|
||||
if len(curr_commands) >= limit:
|
||||
raise discord.app_commands.CommandLimitReached(None, limit, type=command_type)
|
||||
raise app_commands.CommandLimitReached(None, limit, type=command_type)
|
||||
if command_name not in curr_commands:
|
||||
curr_commands[command_name] = None
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ from discord.ext.commands import (
|
||||
|
||||
from .errors import ConversionFailure
|
||||
from .requires import PermState, PrivilegeLevel, Requires, PermStateAllowedStates
|
||||
from .. import app_commands
|
||||
from ..i18n import Translator
|
||||
|
||||
_T = TypeVar("_T")
|
||||
@@ -1093,7 +1094,7 @@ class HybridGroup(Group, DPYHybridGroup[_CogT, _P, _T]):
|
||||
|
||||
|
||||
def hybrid_command(
|
||||
name: Union[str, discord.app_commands.locale_str] = discord.utils.MISSING,
|
||||
name: Union[str, app_commands.locale_str] = discord.utils.MISSING,
|
||||
*,
|
||||
with_app_command: bool = True,
|
||||
**attrs: Any,
|
||||
@@ -1113,7 +1114,7 @@ def hybrid_command(
|
||||
|
||||
|
||||
def hybrid_group(
|
||||
name: Union[str, discord.app_commands.locale_str] = discord.utils.MISSING,
|
||||
name: Union[str, app_commands.locale_str] = discord.utils.MISSING,
|
||||
*,
|
||||
with_app_command: bool = True,
|
||||
**attrs: Any,
|
||||
|
||||
@@ -18,7 +18,7 @@ import pip
|
||||
import traceback
|
||||
from pathlib import Path
|
||||
from collections import defaultdict
|
||||
from redbot.core import data_manager
|
||||
from redbot.core import app_commands, data_manager
|
||||
from redbot.core.utils.menus import menu
|
||||
from redbot.core.utils.views import SetApiView
|
||||
from redbot.core.commands import GuildConverter, RawUserIdConverter
|
||||
@@ -2005,7 +2005,7 @@ class Core(commands.commands._RuleDropper, commands.Cog, CoreLogic):
|
||||
|
||||
try:
|
||||
await self.bot.enable_app_command(command_name, raw_type)
|
||||
except discord.app_commands.CommandLimitReached:
|
||||
except app_commands.CommandLimitReached:
|
||||
await ctx.send(_("The command limit has been reached. Disable a command first."))
|
||||
return
|
||||
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
import discord
|
||||
from discord.abc import Snowflake
|
||||
from discord.utils import MISSING
|
||||
from discord.app_commands import (
|
||||
Command,
|
||||
Group,
|
||||
ContextMenu,
|
||||
|
||||
from .app_commands import (
|
||||
AppCommand,
|
||||
AppCommandError,
|
||||
BotMissingPermissions,
|
||||
CheckFailure,
|
||||
Command,
|
||||
CommandAlreadyRegistered,
|
||||
CommandInvokeError,
|
||||
CommandNotFound,
|
||||
CommandOnCooldown,
|
||||
CommandTree,
|
||||
ContextMenu,
|
||||
Group,
|
||||
NoPrivateMessage,
|
||||
TransformerError,
|
||||
)
|
||||
|
||||
from .i18n import Translator
|
||||
from .utils.chat_formatting import humanize_list, inline
|
||||
|
||||
@@ -31,7 +32,7 @@ log = logging.getLogger("red")
|
||||
_ = Translator(__name__, __file__)
|
||||
|
||||
|
||||
class RedTree(discord.app_commands.CommandTree):
|
||||
class RedTree(CommandTree):
|
||||
"""A container that holds application command information.
|
||||
|
||||
Internally does not actually add commands to the tree unless they are
|
||||
|
||||
Reference in New Issue
Block a user