mirror of
				https://github.com/TitanEmbeds/Titan.git
				synced 2025-11-03 23:37:09 +01:00 
			
		
		
		
	Delete inactive channel messages and better print stmts
This commit is contained in:
		@@ -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()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user