diff options
Diffstat (limited to 'api/models.py')
-rw-r--r-- | api/models.py | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/api/models.py b/api/models.py index 6d7af764..d3986ba5 100644 --- a/api/models.py +++ b/api/models.py @@ -36,11 +36,11 @@ class Role(models.Model): message="Role IDs cannot be negative." ), ), - help_text="The role's ID, taken from Discord." + help_text="The role ID, taken from Discord." ) name = models.CharField( max_length=100, - help_text="The role's name, taken from Discord." + help_text="The role name, taken from Discord." ) colour = models.IntegerField( validators=( @@ -64,3 +64,43 @@ class Role(models.Model): ), help_text="The integer value of the permission bitset of this role from Discord." ) + + +class Member(models.Model): + """A member of our Discord server.""" + + id = models.BigIntegerField( + primary_key=True, + validators=( + MinValueValidator( + limit_value=0, + message="User IDs cannot be negative." + ), + ), + help_text="The ID of this user, taken from Discord." + ) + name = models.CharField( + max_length=32, + help_text="The username, taken from Discord." + ) + discriminator = models.PositiveSmallIntegerField( + validators=( + MaxValueValidator( + limit_value=9999, + message="Discriminators may not exceed `9999`." + ), + ), + help_text="The discriminator of this user, taken from Discord." + ) + avatar_hash = models.CharField( + max_length=100, + help_text=( + "The user's avatar hash, taken from Discord. " + "Null if the user does not have any custom avatar." + ), + null=True + ) + roles = models.ManyToManyField( + Role, + help_text="Any roles this user has on our server." + ) |