From 0239a2840dd29eedf39071fb1f57606aba2cdb3a Mon Sep 17 00:00:00 2001 From: paring Date: Sat, 4 Nov 2023 22:24:47 +0900 Subject: [PATCH 1/3] fix: avatar null check --- src/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app.py b/src/app.py index 4dcc6d4..ca99faf 100644 --- a/src/app.py +++ b/src/app.py @@ -290,7 +290,7 @@ def get_avatar(package_id, user_id): if not user: return make_response('', 500) - avatar_extension = 'avatar' in user and user['avatar'].startswith('a_') and 'gif' or 'webp' + avatar_extension = 'avatar' in user and user['avatar'] is not None and user['avatar'].startswith('a_') and 'gif' or 'webp' avatar_url = 'avatar' in user and f'https://cdn.discordapp.com/avatars/{user_id}/{user["avatar"]}.{avatar_extension}' or None return jsonify({ From 1f551e051e9bc5a451480a4f2429233b3f7d2ebd Mon Sep 17 00:00:00 2001 From: paring Date: Sat, 4 Nov 2023 22:33:09 +0900 Subject: [PATCH 2/3] fix: default avatar url --- src/app.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app.py b/src/app.py index ca99faf..e363c15 100644 --- a/src/app.py +++ b/src/app.py @@ -291,7 +291,15 @@ def get_avatar(package_id, user_id): return make_response('', 500) avatar_extension = 'avatar' in user and user['avatar'] is not None and user['avatar'].startswith('a_') and 'gif' or 'webp' - avatar_url = 'avatar' in user and f'https://cdn.discordapp.com/avatars/{user_id}/{user["avatar"]}.{avatar_extension}' or None + + if 'discriminator' in user and user['discriminator'] != '0': + discriminator = int(user['discriminator']) + default_avatar = f'https://cdn.discordapp.com/embed/avatars/{discriminator % 4}.png' + else: + user_id = int(user['id']) + default_avatar = f'https://cdn.discordapp.com/embed/avatars/{(user_id >> 22) % 6}.png' + + avatar_url = 'avatar' in user and f'https://cdn.discordapp.com/avatars/{user_id}/{user["avatar"]}.{avatar_extension}' or default_avatar return jsonify({ 'user_id': user_id, From 3bf4f0d8ef59395308f8ac3bceed3ceb60ccecbd Mon Sep 17 00:00:00 2001 From: paring Date: Sat, 4 Nov 2023 22:35:30 +0900 Subject: [PATCH 3/3] fix: default avatar not working --- src/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app.py b/src/app.py index e363c15..029ce04 100644 --- a/src/app.py +++ b/src/app.py @@ -299,7 +299,7 @@ def get_avatar(package_id, user_id): user_id = int(user['id']) default_avatar = f'https://cdn.discordapp.com/embed/avatars/{(user_id >> 22) % 6}.png' - avatar_url = 'avatar' in user and f'https://cdn.discordapp.com/avatars/{user_id}/{user["avatar"]}.{avatar_extension}' or default_avatar + avatar_url = 'avatar' in user and user['avatar'] is not None and f'https://cdn.discordapp.com/avatars/{user_id}/{user["avatar"]}.{avatar_extension}' or default_avatar return jsonify({ 'user_id': user_id,