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: elif code == 429:
logger.error("We are sending too many requests to the Discord, slowing down...") logger.error("We are sending too many requests to the Discord, slowing down...")
if "x-ratelimit-global" in result.headers.keys(): 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=float(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=False)
elif 499 < code < 600: elif 499 < code < 600:
logger.error( logger.error(
"Discord have trouble processing the event, and because the HTTP code returned is {} it means we blame them.".format( "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.params = params
self.message_history_obj = message_history 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 db.pool().acquire() as connection:
async with connection.transaction(): async with connection.transaction():
query_template, query_parameters = [], [] query_template, query_parameters = [], []
@ -225,14 +225,13 @@ class Wiki:
async def delete_messages(self, params: dict): async def delete_messages(self, params: dict):
"""Delete certain messages from message_history which DiscordMessageMetadata matches all properties in params""" """Delete certain messages from message_history which DiscordMessageMetadata matches all properties in params"""
# Delete all messages with given IDs # Delete all messages with given IDs
async for stacked_message in self.message_history.fetch_stacked_from_db(params): async for stacked_message, webhook 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(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 all messages were removed, send a DELETE to Discord if len(stacked_message.message_list) == 0:
if len(stacked_message.message_list) == 0: messagequeue.add_message(QueueEntry(stacked_message, [webhook], self, method="DELETE"))
messagequeue.add_message(QueueEntry(stacked_message, [stacked_message.webhook], self, method="DELETE")) else:
else: messagequeue.add_message(QueueEntry(stacked_message, [webhook], self, method="PATCH"))
messagequeue.add_message(QueueEntry(stacked_message, [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): 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 # ids can refer to multiple events, and search does not support additive mode, so we have to loop it for all ids