feat(CDNBuilder): add guild_member_avatar_url() method

This commit is contained in:
grey-cat-1908 2022-05-31 20:13:51 +03:00
parent 4b1aff2dba
commit 0c1be11e95
4 changed files with 34 additions and 6 deletions

View file

@ -491,7 +491,9 @@ class Guild(APIModelBase):
if self.icon is None: if self.icon is None:
return None return None
else: else:
return self._client.rest.cdn.avatar_url(self.id, self.icon, size=size, image_format=image_format) return self._client.rest.cdn.avatar_url(
self.id, self.icon, size=size, image_format=image_format
)
@overload @overload
async def create_channel( async def create_channel(

View file

@ -216,7 +216,9 @@ class User(APIModelBase):
if self.avatar is None: if self.avatar is None:
return self.default_avatar_url() return self.default_avatar_url()
return self._client.rest.cdn.avatar_url(self.id, self.avatar, size=size, image_format=image_format) return self._client.rest.cdn.avatar_url(
self.id, self.avatar, size=size, image_format=image_format
)
def default_avatar_url(self): def default_avatar_url(self):
"""Default avatar url (from the Discord CDN server)""" """Default avatar url (from the Discord CDN server)"""

View file

@ -700,10 +700,23 @@ class CDNBuilder:
size, size,
) )
def default_avatar_url( def default_avatar_url(self, discriminator: str):
self, discriminator: str return "{}/embed/avatars/{}.png".format(self.BASE_URL, int(discriminator) % 5)
def guild_member_avatar_url(
self,
guild_id: str,
user_id: str,
_hash: str,
*,
size: int = 1024,
image_format: str = None,
): ):
return "{}/embed/avatars/{}.png".format( return "{}/guilds/{}/users/{}/avatars/{}.{}?size={}".format(
self.BASE_URL, self.BASE_URL,
int(discriminator) % 5 guild_id,
user_id,
_hash,
image_format if image_format is not None else self.dif,
size,
) )

View file

@ -25,3 +25,14 @@ class TestCDN:
) )
== "https://cdn.discordapp.com/icons/951867868188934216/5ef33b1f6c4b35f19b605c51c5a64469.webp?size=1024" == "https://cdn.discordapp.com/icons/951867868188934216/5ef33b1f6c4b35f19b605c51c5a64469.webp?size=1024"
) )
def test_guild_member_avatar_url(self):
assert (
cdn.guild_member_avatar_url(
"846496831533088768",
"258096047413264384",
"4c0a529ab1d524783585169fe0512240",
size=240,
)
== "https://cdn.discordapp.com/guilds/846496831533088768/users/258096047413264384/avatars/4c0a529ab1d524783585169fe0512240.png?size=240"
)