Browse Source

Add with_localizations to CommandTree.fetch_commands

pull/9452/head
Soheab_ 2 years ago
parent
commit
9cc82f2ca3
  1. 14
      discord/app_commands/tree.py
  2. 16
      discord/http.py

14
discord/app_commands/tree.py

@ -180,7 +180,9 @@ class CommandTree(Generic[ClientT]):
return AppCommand(data=command, state=self._state)
async def fetch_commands(self, *, guild: Optional[Snowflake] = None) -> List[AppCommand]:
async def fetch_commands(
self, *, guild: Optional[Snowflake] = None, with_localizations: bool = False
) -> List[AppCommand]:
"""|coro|
Fetches the application's current commands.
@ -197,6 +199,8 @@ class CommandTree(Generic[ClientT]):
guild: Optional[:class:`~discord.abc.Snowflake`]
The guild to fetch the commands from. If not passed then global commands
are fetched instead.
with_localizations: :class:`bool`
Whether to fetch the localizations for the commands. Defaults to ``False``.
Raises
-------
@ -214,9 +218,13 @@ class CommandTree(Generic[ClientT]):
raise MissingApplicationID
if guild is None:
commands = await self._http.get_global_commands(self.client.application_id)
commands = await self._http.get_global_commands(
self.client.application_id, with_localizations=with_localizations
)
else:
commands = await self._http.get_guild_commands(self.client.application_id, guild.id)
commands = await self._http.get_guild_commands(
self.client.application_id, guild.id, with_localizations=with_localizations
)
return [AppCommand(data=data, state=self._state) for data in commands]

16
discord/http.py

@ -2128,8 +2128,13 @@ class HTTPClient:
# Application commands (global)
def get_global_commands(self, application_id: Snowflake) -> Response[List[command.ApplicationCommand]]:
return self.request(Route('GET', '/applications/{application_id}/commands', application_id=application_id))
def get_global_commands(
self, application_id: Snowflake, with_localizations: bool = False
) -> Response[List[command.ApplicationCommand]]:
params = {'with_localizations': with_localizations}
return self.request(
Route('GET', '/applications/{application_id}/commands', application_id=application_id, params=params)
)
def get_global_command(self, application_id: Snowflake, command_id: Snowflake) -> Response[command.ApplicationCommand]:
r = Route(
@ -2184,13 +2189,18 @@ class HTTPClient:
# Application commands (guild)
def get_guild_commands(
self, application_id: Snowflake, guild_id: Snowflake
self,
application_id: Snowflake,
guild_id: Snowflake,
with_localizations: bool = False,
) -> Response[List[command.ApplicationCommand]]:
params = {'with_localizations': with_localizations}
r = Route(
'GET',
'/applications/{application_id}/guilds/{guild_id}/commands',
application_id=application_id,
guild_id=guild_id,
params=params,
)
return self.request(r)

Loading…
Cancel
Save