From f81942a962374df636f9eb7faa21df366e4343a8 Mon Sep 17 00:00:00 2001 From: Frisk Date: Sun, 18 Aug 2024 15:55:42 +0200 Subject: [PATCH] further fixes to previously implemented features --- src/discord/queue.py | 4 ++-- src/wiki.py | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/discord/queue.py b/src/discord/queue.py index 34cc4d9..a20bb3a 100644 --- a/src/discord/queue.py +++ b/src/discord/queue.py @@ -252,8 +252,8 @@ async def handle_discord_http(code: int, formatted_embed: str, result: ClientRes elif code == 429: logger.error("We are sending too many requests to the Discord, slowing down...") if "x-ratelimit-global" in result.headers.keys(): - raise ExhaustedDiscordBucket(remaining=result.headers.get("x-ratelimit-reset-after", 1), is_global=True) - raise ExhaustedDiscordBucket(remaining=result.headers.get("x-ratelimit-reset-after"), is_global=False) + raise ExhaustedDiscordBucket(remaining=float(result.headers.get("x-ratelimit-reset-after", 1)), is_global=True) + raise ExhaustedDiscordBucket(remaining=float(result.headers.get("x-ratelimit-reset-after", 1)), is_global=False) elif 499 < code < 600: logger.error( "Discord have trouble processing the event, and because the HTTP code returned is {} it means we blame them.".format( diff --git a/src/wiki.py b/src/wiki.py index 1070906..9b3a77f 100644 --- a/src/wiki.py +++ b/src/wiki.py @@ -48,7 +48,7 @@ class MessageHistoryRetriever: self.params = params self.message_history_obj = message_history - async def __aiter__(self): + async def __aiter__(self) -> tuple[StackedDiscordMessage, str]: async with db.pool().acquire() as connection: async with connection.transaction(): query_template, query_parameters = [], [] @@ -225,14 +225,13 @@ class Wiki: async def delete_messages(self, params: dict): """Delete certain messages from message_history which DiscordMessageMetadata matches all properties in params""" # Delete all messages with given IDs - async for stacked_message in self.message_history.fetch_stacked_from_db(params): - for message_ids in self.search_message_history(stacked_message, params): - stacked_message.delete_message_by_id(message_ids) - # If all messages were removed, send a DELETE to Discord - if len(stacked_message.message_list) == 0: - messagequeue.add_message(QueueEntry(stacked_message, [stacked_message.webhook], self, method="DELETE")) - else: - messagequeue.add_message(QueueEntry(stacked_message, [stacked_message.webhook], self, method="PATCH")) + async for stacked_message, webhook in self.message_history.fetch_stacked_from_db(params): + stacked_message.delete_message_by_id(self.search_message_history(stacked_message, params)) + # If all messages were removed, send a DELETE to Discord + if len(stacked_message.message_list) == 0: + messagequeue.add_message(QueueEntry(stacked_message, [webhook], self, method="DELETE")) + else: + messagequeue.add_message(QueueEntry(stacked_message, [webhook], self, method="PATCH")) async def redact_messages(self, context: Context, ids: list[int] | set[int], mode: str, censored_properties: dict, page_id=None): # ids can refer to multiple events, and search does not support additive mode, so we have to loop it for all ids