mirror of
				https://github.com/TitanEmbeds/Titan.git
				synced 2025-11-04 15:57:02 +01:00 
			
		
		
		
	Resolve messages duplicates in database and order messages by timestamp
This commit is contained in:
		@@ -31,11 +31,15 @@ class Messages(db.Model):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
def get_channel_messages(channel_id, after_snowflake=None):
 | 
					def get_channel_messages(channel_id, after_snowflake=None):
 | 
				
			||||||
    if not after_snowflake:
 | 
					    if not after_snowflake:
 | 
				
			||||||
        q = db.session.query(Messages).filter(Messages.channel_id == channel_id).order_by(Messages.id.desc()).limit(50)
 | 
					        q = db.session.query(Messages).filter(Messages.channel_id == channel_id).order_by(Messages.timestamp.desc()).limit(50)
 | 
				
			||||||
    else:
 | 
					    else:
 | 
				
			||||||
        q = db.session.query(Messages).filter(cast(Messages.channel_id, db.Integer) == int(channel_id)).filter(Messages.message_id > after_snowflake).order_by(Messages.id.desc()).limit(50)
 | 
					        q = db.session.query(Messages).filter(cast(Messages.channel_id, db.Integer) == int(channel_id)).filter(Messages.message_id > after_snowflake).order_by(Messages.timestamp.desc()).limit(50)
 | 
				
			||||||
    msgs = []
 | 
					    msgs = []
 | 
				
			||||||
 | 
					    snowflakes = []
 | 
				
			||||||
    for x in q:
 | 
					    for x in q:
 | 
				
			||||||
 | 
					        if x.message_id in snowflakes:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        snowflakes.append(x.message_id)
 | 
				
			||||||
        msgs.append({
 | 
					        msgs.append({
 | 
				
			||||||
            "attachments": json.loads(x.attachments),
 | 
					            "attachments": json.loads(x.attachments),
 | 
				
			||||||
            "timestamp": x.timestamp,
 | 
					            "timestamp": x.timestamp,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user