From 12ca0d9b167cc55299e276f756a4f9ed8c9e921f Mon Sep 17 00:00:00 2001 From: khazhyk Date: Sat, 22 Jul 2017 17:30:09 -0700 Subject: avatar_url_as improvements static_format will only apply to static (not animated) avatars. Makes it easier to grab gif-or-'format' of an avatar. Defaults to 'webp' This is for a similar usecase to avatar_url_as(format=None), except one can specify the non-animated format, instead of always using webp. add User.avatar_is_animated property. add validation for avatar_url_as, since invalid arguments result in a url which will return 415, which can be confusing for a user. (They just see a blank page) Discord accepts size=16-2048, but images cap at 1024px, so accept 16-1024 Discord accepts "jpg", "jpeg", "png", "gif", and "webp", *unless* the avatar is not animated, in which case "gif" is not supported. :\ --- discord/utils.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'discord/utils.py') diff --git a/discord/utils.py b/discord/utils.py index 06aa5a35..d7b04503 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -281,3 +281,7 @@ def sane_wait_for(futures, *, timeout, loop): if len(pending) != 0: raise asyncio.TimeoutError() + +def valid_icon_size(size): + """Icons must be power of 2 within [16, 1024].""" + return ((size != 0) and not (size & (size - 1))) and size in range(16, 1025) -- cgit v1.2.3