diff options
| author | Khazhismel Kumykov <[email protected]> | 2016-03-31 14:35:12 -0400 |
|---|---|---|
| committer | Khazhismel Kumykov <[email protected]> | 2016-03-31 14:38:03 -0400 |
| commit | 5f776f369d350c005d419925e89e9ef9e5ff94ee (patch) | |
| tree | 426c0d99d56a6a7cf56efc68053059fd282318f2 | |
| parent | [commands] Fix infinite recursion on subgroups without a command. (diff) | |
| download | discord.py-5f776f369d350c005d419925e89e9ef9e5ff94ee.tar.xz discord.py-5f776f369d350c005d419925e89e9ef9e5ff94ee.zip | |
Add default avatar property to User.
| -rw-r--r-- | discord/enums.py | 17 | ||||
| -rw-r--r-- | discord/user.py | 11 |
2 files changed, 28 insertions, 0 deletions
diff --git a/discord/enums.py b/discord/enums.py index c82aec18..4666c52f 100644 --- a/discord/enums.py +++ b/discord/enums.py @@ -54,3 +54,20 @@ class Status(Enum): def __str__(self): return self.value + +class DefaultAvatar(Enum): + blurple = "6debd47ed13483642cf09e832ed0bc1b" + grey = "322c936a8c8be1b803cd94861bdfa868" + green = "dd4dbc0016779df1378e7812eabaa04d" + orange = "0e291f67c9274a1abdddeb3fd919cbaa" + red = "1cbd08c76f8af6dddce02c5138971129" + + def __new__(cls, url): + value = len(cls.__members__) + obj = object.__new__(cls) + obj._value_ = value + obj.url = url + return obj + + def __str__(self): + return self.name diff --git a/discord/user.py b/discord/user.py index 0d08d0a9..87bd0397 100644 --- a/discord/user.py +++ b/discord/user.py @@ -25,6 +25,7 @@ DEALINGS IN THE SOFTWARE. """ from .utils import snowflake_time +from .enums import DefaultAvatar class User: """Represents a Discord user. @@ -84,6 +85,16 @@ class User: return 'https://discordapp.com/api/users/{0.id}/avatars/{0.avatar}.jpg'.format(self) @property + def default_avatar(self): + """Returns the default avatar for a given user. This is calculated by the user's descriminator""" + return DefaultAvatar(int(self.discriminator) % len(DefaultAvatar)) + + @property + def default_avatar_url(self): + """Returns a URL for a user's default avatar.""" + return 'https://discordapp.com/assets/{0.url}.png'.format(self.default_avatar) + + @property def mention(self): """Returns a string that allows you to mention the given user.""" return '<@{0.id}>'.format(self) |