diff options
author | 2020-10-18 19:22:46 +0100 | |
---|---|---|
committer | 2020-10-18 19:22:46 +0100 | |
commit | 68b429c76041a1e9c5190abb074907d39844fc73 (patch) | |
tree | 4366fdfcff3e8f5a4a897e7d5eb240df597d9f02 | |
parent | Use correct method for intents (diff) |
Track deleted messages being deleted
-rw-r--r-- | alembic/versions/d052a6b677e6_add_is_deleted_to_message.py | 28 | ||||
-rw-r--r-- | metricity/bot.py | 4 | ||||
-rw-r--r-- | metricity/models.py | 1 |
3 files changed, 33 insertions, 0 deletions
diff --git a/alembic/versions/d052a6b677e6_add_is_deleted_to_message.py b/alembic/versions/d052a6b677e6_add_is_deleted_to_message.py new file mode 100644 index 0000000..8354a3e --- /dev/null +++ b/alembic/versions/d052a6b677e6_add_is_deleted_to_message.py @@ -0,0 +1,28 @@ +"""add is_deleted to Message + +Revision ID: d052a6b677e6 +Revises: aa3517f1b1bd +Create Date: 2020-10-18 19:20:20.862476 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'd052a6b677e6' +down_revision = 'aa3517f1b1bd' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('messages', sa.Column('is_deleted', sa.Boolean(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('messages', 'is_deleted') + # ### end Alembic commands ### diff --git a/metricity/bot.py b/metricity/bot.py index 018c2dc..a2f0241 100644 --- a/metricity/bot.py +++ b/metricity/bot.py @@ -326,6 +326,10 @@ async def on_message(message: DiscordMessage) -> None: created_at=message.created_at ) +async def on_raw_message_delete(message): + if message := await Message.get(str(message.message_id)): + await message.update(is_deleted=True).apply() @bot.command() async def opt_in(ctx: Context) -> None: diff --git a/metricity/models.py b/metricity/models.py index 79c3cfd..ab17231 100644 --- a/metricity/models.py +++ b/metricity/models.py @@ -84,3 +84,4 @@ class Message(db.Model): ) author_id = db.Column(db.String, db.ForeignKey("users.id", ondelete="CASCADE")) created_at = db.Column(db.DateTime, default=datetime.utcnow) + is_deleted = db.Column(db.Boolean, default=False) |