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) 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| """|coro|
Fetches the application's current commands. Fetches the application's current commands.
@ -197,6 +199,8 @@ class CommandTree(Generic[ClientT]):
guild: Optional[:class:`~discord.abc.Snowflake`] guild: Optional[:class:`~discord.abc.Snowflake`]
The guild to fetch the commands from. If not passed then global commands The guild to fetch the commands from. If not passed then global commands
are fetched instead. are fetched instead.
with_localizations: :class:`bool`
Whether to fetch the localizations for the commands. Defaults to ``False``.
Raises Raises
------- -------
@ -214,9 +218,13 @@ class CommandTree(Generic[ClientT]):
raise MissingApplicationID raise MissingApplicationID
if guild is None: 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: 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] return [AppCommand(data=data, state=self._state) for data in commands]

16
discord/http.py

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

Loading…
Cancel
Save