Browse Source

Implement command scope migration endpoint

pull/10109/head
dolfies 2 years ago
parent
commit
825782c765
  1. 22
      discord/guild.py
  2. 5
      discord/http.py
  3. 4
      discord/types/guild.py

22
discord/guild.py

@ -4961,3 +4961,25 @@ class Guild(Hashable):
""" """
data = await self._state.http.join_admin_server(self.id) data = await self._state.http.join_admin_server(self.id)
return Guild(state=self._state, data=data) return Guild(state=self._state, data=data)
async def migrate_command_scope(self) -> List[int]:
"""|coro|
Migrates the guild's bot integrations to the applications.commands scope.
.. versionadded:: 2.1
Raises
-------
Forbidden
You do not have permissions to migrate the guild's bots.
HTTPException
Migrating failed.
Returns
--------
List[:class:`int`]
The integration IDs that have newly-added application commands.
"""
data = await self._state.http.migrate_command_scope(self.id)
return list(map(int, data['integration_ids_with_app_commands']))

5
discord/http.py

@ -2663,12 +2663,17 @@ class HTTPClient:
reason=reason, reason=reason,
) )
# Misc. guild management
def get_admin_server_eligibility(self, guild_id: Snowflake) -> Response[guild.AdminServerEligibility]: def get_admin_server_eligibility(self, guild_id: Snowflake) -> Response[guild.AdminServerEligibility]:
return self.request(Route('GET', '/guilds/{guild_id}/admin-server-eligibility', guild_id=guild_id)) return self.request(Route('GET', '/guilds/{guild_id}/admin-server-eligibility', guild_id=guild_id))
def join_admin_server(self, guild_id: Snowflake) -> Response[guild.Guild]: def join_admin_server(self, guild_id: Snowflake) -> Response[guild.Guild]:
return self.request(Route('POST', '/guilds/{guild_id}/join-admin-server', guild_id=guild_id)) return self.request(Route('POST', '/guilds/{guild_id}/join-admin-server', guild_id=guild_id))
def migrate_command_scope(self, guild_id: Snowflake) -> Response[guild.CommandScopeMigration]:
return self.request(Route('POST', '/guilds/{guild_id}/migrate-command-scope', guild_id=guild_id))
# Relationships # Relationships
def get_relationships(self) -> Response[List[user.Relationship]]: def get_relationships(self) -> Response[List[user.Relationship]]:

4
discord/types/guild.py

@ -169,6 +169,10 @@ class AdminServerEligibility(TypedDict):
eligible_for_admin_server: bool eligible_for_admin_server: bool
class CommandScopeMigration(TypedDict):
integration_ids_with_app_commands: List[Snowflake]
class SupplementalGuild(UnavailableGuild): class SupplementalGuild(UnavailableGuild):
embedded_activities: list embedded_activities: list
voice_states: List[GuildVoiceState] voice_states: List[GuildVoiceState]

Loading…
Cancel
Save