From 9d923a104bb69376d6718226f312a37e709a1ad0 Mon Sep 17 00:00:00 2001 From: Noah <117038300+NoahCxrest@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:30:49 -0700 Subject: [PATCH] Update erm.py --- erm.py | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/erm.py b/erm.py index 86b428df..57461021 100644 --- a/erm.py +++ b/erm.py @@ -883,14 +883,35 @@ async def check_whitelisted_car(): @tasks.loop(seconds=120, reconnect=True) async def iterate_prc_logs(): try: - server_count = await bot.settings.db.count_documents({ - 'ERLC': {'$exists': True}, - '$or': [ - {'ERLC.rdm_channel': {'$type': 'long', '$ne': 0}}, - {'ERLC.kill_logs': {'$type': 'long', '$ne': 0}}, - {'ERLC.player_logs': {'$type': 'long', '$ne': 0}} - ] - }) + server_count = await bot.settings.db.aggregate([ + { + '$match': { + 'ERLC': {'$exists': True}, + '$or': [ + {'ERLC.rdm_channel': {'$type': 'long', '$ne': 0}}, + {'ERLC.kill_logs': {'$type': 'long', '$ne': 0}}, + {'ERLC.player_logs': {'$type': 'long', '$ne': 0}} + ] + } + }, + { + '$lookup': { + 'from': 'server_keys', + 'localField': '_id', + 'foreignField': '_id', + 'as': 'server_key' + } + }, + { + '$match': { + 'server_key': {'$ne': []} + } + }, + { + '$count': 'total' + } + ]).to_list(1) + server_count = server_count[0]['total'] if server_count else 0 logging.warning(f"[ITERATE] Starting iteration for {server_count} servers") processed = 0