diff --git a/melisa/models/guild/guild.py b/melisa/models/guild/guild.py index 8291010..e9d3fdf 100644 --- a/melisa/models/guild/guild.py +++ b/melisa/models/guild/guild.py @@ -621,37 +621,6 @@ class Guild(APIModelBase): """ await self._client.rest.remove_guild_ban(self.id, user_id, reason=reason) - - async def add_role( - self, - *, - user_id: Union[Snowflake, str, int], - role_id: Union[Snowflake, str, int], - reason: Optional[str] = None - ): - #TODO: Add description - - await self._http.put( - f"/guilds/{self.id}/members/{user_id}/roles/{role_id}", - headers = { - "X-Audit-Log-Reason": reason - }) - - async def delete_role( - self, - *, - user_id: Union[Snowflake, str, int], - role_id: Union[Snowflake, str, int], - reason: Optional[str] = None - ): - #TODO: add description :D - - await self._http.delete( - f"/guilds/{self.id}/members/{user_id}/roles/{role_id}", - headers = { - "X-Audit-Log-Reason": reason - }) - @dataclass(repr=False) class UnavailableGuild(APIModelBase): diff --git a/melisa/models/guild/role.py b/melisa/models/guild/role.py index 5865fe2..81a8b86 100644 --- a/melisa/models/guild/role.py +++ b/melisa/models/guild/role.py @@ -86,3 +86,13 @@ class Role(APIModelBase): return None else: return self._client.cache.get_guild(self.guild_id) + + def icon_url(self, *, size: int = 1024, image_format: str = None): + # ToDo: Add Docstrings + """Icon Url (from the Discord CDN server)""" + if self.icon is None: + return None + else: + return self._client.rest.cdn.role_icon_url( + self.id, self.icon, size=size, image_format=image_format + ) diff --git a/melisa/rest.py b/melisa/rest.py index 3999965..d7aa08f 100644 --- a/melisa/rest.py +++ b/melisa/rest.py @@ -720,3 +720,19 @@ class CDNBuilder: image_format if image_format is not None else self.dif, size, ) + + def role_icon_url( + self, + role_id: str, + _hash: str, + *, + size: int = 1024, + image_format: str = None, + ): + return "{}/role-icons/{}/{}.{}?size={}".format( + self.BASE_URL, + role_id, + _hash, + image_format if image_format is not None else self.dif, + size, + )