diff options
Diffstat (limited to 'api/models.py')
-rw-r--r-- | api/models.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/api/models.py b/api/models.py index 9990e266..3ba0ac5c 100644 --- a/api/models.py +++ b/api/models.py @@ -210,6 +210,37 @@ class Member(ModelReprMixin, models.Model): return f"{self.name}#{self.discriminator}" +class Message(ModelReprMixin, models.Model): + id = models.BigIntegerField( + primary_key=True, + help_text="The message ID as taken from Discord.", + validators=( + MinValueValidator( + limit_value=0, + message="Message IDs cannot be negative." + ), + ) + ) + author = models.ForeignKey( + Member, + on_delete=models.CASCADE, + help_text="The author of this message." + ) + content = models.CharField( + max_length=2_000, + help_text="The content of this message, taken from Discord." + ) + embeds = pgfields.ArrayField( + pgfields.JSONField( + validators=(validate_tag_embed,) + ), + help_text="Embeds attached to this message." + ) + + class Meta: + abstract = True + + class Tag(ModelReprMixin, models.Model): """A tag providing (hopefully) useful information.""" |