feat(CDNBuilder): add [default_avatar_url(), guild_icon_url()] methods

This commit is contained in:
grey-cat-1908 2022-05-31 18:45:32 +03:00
parent 06ec5d8ca4
commit e9fc02cf91
3 changed files with 36 additions and 2 deletions

View file

@ -485,6 +485,14 @@ class Guild(APIModelBase):
return self
def icon_url(self, *, size: int = 1024, image_format: str = None) -> 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.avatar_url(self.id, self.icon, size=size, image_format=image_format)
@overload
async def create_channel(
self,

View file

@ -210,11 +210,18 @@ class User(APIModelBase):
""":class:`str`: The user's mention string. (<@id>)"""
return "<@{}>".format(self.id)
def avatar_url(self, *, size: int = 1024, image_format: str = None) -> str:
def avatar_url(self, *, size: int = 1024, image_format: str = None) -> str | None:
# ToDo: Add Docstrings
"""Avatar url (from the Discord CDN server)"""
if self.avatar is None:
return self.default_avatar_url()
return self._client.rest.cdn.avatar_url(self.id, self.avatar, size=size, image_format=image_format)
def default_avatar_url(self):
"""Default avatar url (from the Discord CDN server)"""
return self._client.rest.cdn.default_avatar_url(self.discriminator)
async def create_dm_channel(self):
# ToDo: Add docstrings
# ToDo: Add checking this channel in cache

View file

@ -681,10 +681,29 @@ class CDNBuilder:
def avatar_url(
self, user_id: str, _hash: str, *, size: int = 1024, image_format: str = None
):
return "{}/avatars/{}/{}.{}?size={}".format(
return "/{}/avatars/{}/{}.{}?size={}".format(
self.BASE_URL,
user_id,
_hash,
image_format if image_format is not None else self.dif,
size,
)
def guild_icon_url(
self, guild_id: str, _hash: str, *, size: int = 1024, image_format: str = None
):
return "/icons/{}/{}.{}?size={}".format(
self.BASE_URL,
guild_id,
_hash,
image_format if image_format is not None else self.dif,
size,
)
def default_avatar_url(
self, discriminator: str
):
return "/embed/avatars/{}.png".format(
self.BASE_URL,
discriminator
)