further fixes to previously implemented features

This commit is contained in:
Frisk 2024-08-18 15:55:42 +02:00
parent 5e2a0f3028
commit f81942a962
2 changed files with 10 additions and 11 deletions

View file

@ -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(

View file

@ -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