aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2020-10-18 19:22:46 +0100
committerGravatar Joe Banks <[email protected]>2020-10-18 19:22:46 +0100
commit68b429c76041a1e9c5190abb074907d39844fc73 (patch)
tree4366fdfcff3e8f5a4a897e7d5eb240df597d9f02
parentUse correct method for intents (diff)
Track deleted messages being deleted
-rw-r--r--alembic/versions/d052a6b677e6_add_is_deleted_to_message.py28
-rw-r--r--metricity/bot.py4
-rw-r--r--metricity/models.py1
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)