Delete the messages before fetching new messages

This commit is contained in:
Jeremy Zhang 2017-09-22 01:39:43 +00:00
parent 495a08ea12
commit f46d33c943
2 changed files with 8 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import aiohttp
import asyncio
import sys
import logging
import gc
logging.basicConfig(filename='titanbot.log',level=logging.INFO,format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
logging.getLogger('TitanBot')
logging.getLogger('sqlalchemy')
@ -72,6 +73,7 @@ class Titan(discord.Client):
try:
if str(channel.type) == "text":
print("Processing channel: ID-{} Name-'{}' ServerID-{} Server-'{}'".format(channel.id, channel.name, channel.server.id, channel.server.name))
await self.database.delete_all_messages_from_channel(channel.id)
async for message in self.logs_from(channel, limit=50, reverse=True):
await self.database.push_message(message)
except:

View File

@ -287,3 +287,9 @@ class DatabaseInterface(object):
dbuser.revoked = True
session.commit()
return "Successfully kicked **{}#{}**!".format(dbuser.username, dbuser.discriminator)
async def delete_all_messages_from_channel(self, channel_id):
async with threadpool():
with self.get_session() as session:
session.query(Messages).filter(Messages.channel_id == channel_id).delete()
session.commit()