mirror of
https://github.com/TitanEmbeds/Titan.git
synced 2024-11-14 18:11:23 +01:00
Delete inactive channel messages and better print stmts
This commit is contained in:
parent
1ac5ac3eeb
commit
91f926bfe3
@ -7,6 +7,7 @@ import asyncio
|
||||
import sys
|
||||
import logging
|
||||
import json
|
||||
import gc
|
||||
from asyncio_extras import threadpool
|
||||
logging.basicConfig(filename='titanbot.log',level=logging.INFO,format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
|
||||
logging.getLogger('TitanBot')
|
||||
@ -72,17 +73,25 @@ class Titan(discord.Client):
|
||||
async with threadpool():
|
||||
with self.database.get_session() as session:
|
||||
guilds = session.query(Guilds).all()
|
||||
count = 0
|
||||
for guild in guilds:
|
||||
print("id-{} snowflake-{} name-{}".format(guild.id, guild.guild_id, guild.name))
|
||||
count += 1
|
||||
print("[{}] id-{} snowflake-{} name-{}".format(count, guild.id, guild.guild_id, guild.name))
|
||||
try:
|
||||
channelsjson = json.loads(guild.channels)
|
||||
except:
|
||||
continue
|
||||
active_channels = []
|
||||
for channel in channelsjson:
|
||||
chanid = channel["id"]
|
||||
active_channels.append(chanid)
|
||||
keep_these = session.query(Messages.id).filter(Messages.channel_id == chanid).order_by(Messages.timestamp.desc()).limit(50)
|
||||
session.query(Messages).filter(Messages.channel_id == chanid, ~Messages.id.in_(keep_these)).delete(synchronize_session=False)
|
||||
d = session.query(Messages).filter(Messages.channel_id == chanid, ~Messages.id.in_(keep_these)).delete(synchronize_session=False)
|
||||
session.commit()
|
||||
print(" --{} [{}]".format(channel["name"], d))
|
||||
d = session.query(Messages).filter(~Messages.channel_id.in_(active_channels)).delete(synchronize_session=False)
|
||||
session.commit()
|
||||
print(" INACTIVE {}".format(d))
|
||||
print("done!")
|
||||
await self.logout()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user