Skip to content

Commit

Permalink
Use lossless quality by default when calling media items from the CDN
Browse files Browse the repository at this point in the history
  • Loading branch information
elderlabs committed Sep 10, 2024
1 parent 7146ffc commit 68cd3f5
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
16 changes: 8 additions & 8 deletions disco/types/guild.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ def name(self):
"""
return self.nick or self.user.username

def get_avatar_url(self, fmt=None, size=1024):
def get_avatar_url(self, fmt=None, size=1024, quality='lossless'):
if not self.avatar:
return self.user.get_avatar_url(fmt, size)

Expand All @@ -305,7 +305,7 @@ def get_avatar_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.avatar.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/guilds/{}/users/{}/avatars/{}.{}?size={}'.format(self.guild_id, self.id, self.avatar, fmt, size)
return 'https://cdn.discordapp.com/guilds/{}/users/{}/avatars/{}.{}?size={}&quality={}'.format(self.guild_id, self.id, self.avatar, fmt, size, quality)

def get_voice_state(self):
"""
Expand Down Expand Up @@ -847,7 +847,7 @@ def get_preview(self):
def get_voice_regions(self):
return self.client.api.guilds_voice_regions_list(self.id)

def get_icon_url(self, fmt=None, size=1024):
def get_icon_url(self, fmt=None, size=1024, quality='lossless'):
if not self.icon:
return ''

Expand All @@ -856,15 +856,15 @@ def get_icon_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.icon.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/icons/{}/{}.{}?size={}'.format(self.id, self.icon, fmt, size)
return 'https://cdn.discordapp.com/icons/{}/{}.{}?size={}&quality={}'.format(self.id, self.icon, fmt, size, quality)

def get_vanity_url(self):
if not self.vanity_url_code:
return ''

return 'https://discord.gg/' + self.vanity_url_code

def get_splash_url(self, fmt=None, size=1024):
def get_splash_url(self, fmt=None, size=1024, quality='lossless'):
if not self.splash:
return ''

Expand All @@ -873,9 +873,9 @@ def get_splash_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.splash.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/splashes/{}/{}.{}?size={}'.format(self.id, self.splash, fmt, size)
return 'https://cdn.discordapp.com/splashes/{}/{}.{}?size={}&quality={}'.format(self.id, self.splash, fmt, size, quality)

def get_banner_url(self, fmt=None, size=1024):
def get_banner_url(self, fmt=None, size=1024, quality='lossless'):
if not self.banner:
return ''

Expand All @@ -884,7 +884,7 @@ def get_banner_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.banner.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/banners/{}/{}.{}?size={}'.format(self.id, self.banner, fmt, size)
return 'https://cdn.discordapp.com/banners/{}/{}.{}?size={}&quality={}'.format(self.id, self.banner, fmt, size, quality)

@property
def icon_url(self):
Expand Down
8 changes: 4 additions & 4 deletions disco/types/oauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def user_is_owner(self, user):

return any(user_id == member.user.id for member in self.team.members)

def get_icon_url(self, fmt=None, size=1024):
def get_icon_url(self, fmt=None, size=1024, quality='lossless'):
if not self.icon:
return ''

Expand All @@ -101,9 +101,9 @@ def get_icon_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.icon.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/icons/{}/{}.{}?size={}'.format(self.id, self.icon, fmt, size)
return 'https://cdn.discordapp.com/icons/{}/{}.{}?size={}&quality={}'.format(self.id, self.icon, fmt, size, quality)

def get_cover_image_url(self, fmt=None, size=1024):
def get_cover_image_url(self, fmt=None, size=1024, quality='lossless'):
if not self.cover_image:
return ''

Expand All @@ -112,7 +112,7 @@ def get_cover_image_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.cover_image.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/app-icons/{}/{}.{}?size={}'.format(self.id, self.cover_image, fmt, size)
return 'https://cdn.discordapp.com/app-icons/{}/{}.{}?size={}&quality={}'.format(self.id, self.cover_image, fmt, size, quality)

@property
def icon_url(self):
Expand Down
8 changes: 4 additions & 4 deletions disco/types/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def __int__(self):
def __repr__(self):
return '<User id={} user={}>'.format(self.id, self)

def get_avatar_url(self, fmt=None, size=1024):
def get_avatar_url(self, fmt=None, size=1024, quality='lossless'):
if not self.avatar:
return 'https://cdn.discordapp.com/embed/avatars/{}.png'.format((self.discriminator if self.discriminator else (self.id >> 22)) % len(DefaultAvatars.ALL))

Expand All @@ -122,9 +122,9 @@ def get_avatar_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.avatar.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/avatars/{}/{}.{}?size={}'.format(self.id, self.avatar, fmt, size)
return 'https://cdn.discordapp.com/avatars/{}/{}.{}?size={}&quality={}'.format(self.id, self.avatar, fmt, size, quality)

def get_banner_url(self, fmt=None, size=1024):
def get_banner_url(self, fmt=None, size=1024, quality='lossless'):
if not self.banner:
return ''

Expand All @@ -133,7 +133,7 @@ def get_banner_url(self, fmt=None, size=1024):
elif fmt == 'gif' and not self.banner.startswith('a_'):
fmt = 'webp'

return 'https://cdn.discordapp.com/banners/{}/{}.{}?size={}'.format(self.id, self.avatar, fmt, size)
return 'https://cdn.discordapp.com/banners/{}/{}.{}?size={}&quality={}'.format(self.id, self.avatar, fmt, size, quality)

@property
def default_avatar(self):
Expand Down

0 comments on commit 68cd3f5

Please sign in to comment.