From 11278d55e80fb7b1e928ce95b2eff32a1b4e0596 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Tue, 9 Aug 2022 23:11:40 -0400 Subject: [PATCH] Add command information to Parameter class --- discord/app_commands/commands.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/discord/app_commands/commands.py b/discord/app_commands/commands.py index 42db8e3ea..3f3279c9b 100644 --- a/discord/app_commands/commands.py +++ b/discord/app_commands/commands.py @@ -492,10 +492,17 @@ class Parameter: default: Any The default value of the parameter, if given. If not given then this is :data:`~discord.utils.MISSING`. + command: :class:`Command` + The command this parameter is attached to. """ - def __init__(self, parent: CommandParameter) -> None: + def __init__(self, parent: CommandParameter, command: Command[Any, ..., Any]) -> None: self.__parent: CommandParameter = parent + self.__command: Command[Any, ..., Any] = command + + @property + def command(self) -> Command[Any, ... , Any]: + return self.__command @property def name(self) -> str: @@ -756,7 +763,7 @@ class Command(Generic[GroupT, P, T]): base['name_localizations'] = name_localizations base['description_localizations'] = description_localizations base['options'] = [ - await param.get_translated_payload(translator, Parameter(param)) for param in self._params.values() + await param.get_translated_payload(translator, Parameter(param, self)) for param in self._params.values() ] return base @@ -930,7 +937,7 @@ class Command(Generic[GroupT, P, T]): parent = self._params.get(name) if parent is not None: - return Parameter(parent) + return Parameter(parent, self) return None @property