User model

This commit is contained in:
thecosmos
2019-05-07 17:22:27 +05:30
parent ac0bc62844
commit 7a5977420a
3 changed files with 46 additions and 0 deletions

View File

@@ -12,3 +12,8 @@ ALL_SCOPES = [
DEFAULT_SCOPES = [ DEFAULT_SCOPES = [
"bot", "identify", "email", "guilds", "guilds.join" "bot", "identify", "email", "guilds", "guilds.join"
] ]
IMAGE_BASE_URL = "https://cdn.discordapp.com/"
USER_AVATAR_BASE_URL = IMAGE_BASE_URL + "avatars/{user_id}/{avatar_hash}.png"

View File

View File

@@ -0,0 +1,41 @@
from .. import configs
class User(object):
def __init__(self, payload):
self._payload = payload
self.id = self._payload["id"]
self.username = self._payload["username"]
self.discriminator = self._payload["discriminator"]
self.avatar_hash = self._payload.get("avatar", self.discriminator)
self.bot = self._payload.get("bot", False)
self.mfa_enabled = self._payload.get("mfa_enabled")
self.locale = self._payload.get("locale")
self.verified = self._payload.get("verified")
self.email = self._payload.get("email")
self.flags = self._payload.get("flags")
self.premium_type = self._payload.get("premium_type")
def __str__(self):
return f"{self.name}#{self.discriminator}"
@property
def name(self):
return self.username
@property
def avatar_url(self):
return configs.USER_AVATAR_BASE_URL.format(user_id=self.id, avatar_hash=self.avatar_hash)
@property
def is_avatar_animated(self):
return self.avatar_hash.startswith("a_")
def to_json(self):
return self._payload
class Bot(User):
pass