diff --git a/apps/authentication/models.py b/apps/authentication/models.py index 7a889e1..1f43089 100644 --- a/apps/authentication/models.py +++ b/apps/authentication/models.py @@ -121,6 +121,11 @@ class DiscordUser(PermissionsMixin): @property def avatar_url(self): + # Default avatar + if len(self.avatar) <= 1: + return f"https://cdn.discordapp.com/embed/avatars/{self.avatar}.png" + + # Custom avatar return f"https://cdn.discordapp.com/avatars/{self.id}/{self.avatar}.webp?size=128" @property diff --git a/apps/authentication/views.py b/apps/authentication/views.py index 0820821..2a8d7bc 100644 --- a/apps/authentication/views.py +++ b/apps/authentication/views.py @@ -101,10 +101,14 @@ class DiscordLoginRedirect(View): url=f"{settings.DISCORD_API_URL}/users/@me", headers={"Authorization": f"Bearer {access_token}"} ) - log.debug(response) - return response.json() + data = response.json() + + if not data.get("avatar"): + data["avatar"] = int(data["id"]) % 5 + + return data class Login(TemplateView):