Browse Source

Add Guild.fetch_role

pull/9932/head
Andrin 7 months ago
committed by GitHub
parent
commit
9ab938a9ea
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 31
      discord/guild.py
  2. 3
      discord/http.py

31
discord/guild.py

@ -3408,6 +3408,37 @@ class Guild(Hashable):
data = await self._state.http.get_roles(self.id)
return [Role(guild=self, state=self._state, data=d) for d in data]
async def fetch_role(self, role_id: int, /) -> Role:
"""|coro|
Retrieves a :class:`Role` with the specified ID.
.. versionadded:: 2.5
.. note::
This method is an API call. For general usage, consider :attr:`get_role` instead.
Parameters
----------
role_id: :class:`int`
The role's ID.
Raises
-------
NotFound
The role requested could not be found.
HTTPException
An error occurred fetching the role.
Returns
-------
:class:`Role`
The retrieved role.
"""
data = await self._state.http.get_role(self.id, role_id)
return Role(guild=self, state=self._state, data=data)
@overload
async def create_role(
self,

3
discord/http.py

@ -1858,6 +1858,9 @@ class HTTPClient:
def get_roles(self, guild_id: Snowflake) -> Response[List[role.Role]]:
return self.request(Route('GET', '/guilds/{guild_id}/roles', guild_id=guild_id))
def get_role(self, guild_id: Snowflake, role_id: Snowflake) -> Response[role.Role]:
return self.request(Route('GET', '/guilds/{guild_id}/roles/{role_id}', guild_id=guild_id, role_id=role_id))
def edit_role(
self, guild_id: Snowflake, role_id: Snowflake, *, reason: Optional[str] = None, **fields: Any
) -> Response[role.Role]:

Loading…
Cancel
Save