Support threads in redaction

This commit is contained in:
MarkusRost 2022-09-19 05:21:48 +00:00
parent e457757d6b
commit 2976555805

View file

@ -41,7 +41,8 @@ def delete_messages(matching_data: dict):
msg_to_remove = [] msg_to_remove = []
logger.debug("Deleting messages for data: {}".format(matching_data)) logger.debug("Deleting messages for data: {}".format(matching_data))
for message in to_delete: for message in to_delete:
webhook_url = "{main_webhook}/messages/{message_id}".format(main_webhook=settings["webhookURL"].split("?", 1)[0], message_id=message[0]) main_webhook = settings["webhookURL"].split("?", 1)
webhook_url = "{main_webhook}/messages/{message_id}{thread_id}".format(main_webhook=main_webhook[0], message_id=message[0], thread_id=("?"+main_webhook[1] if len(main_webhook) > 1 else ""))
msg_to_remove.append(message[0]) msg_to_remove.append(message[0])
logger.debug("Removing following message: {}".format(message[0])) logger.debug("Removing following message: {}".format(message[0]))
send_to_discord(None, DiscordMessageMetadata("DELETE", webhook_url=webhook_url)) send_to_discord(None, DiscordMessageMetadata("DELETE", webhook_url=webhook_url))
@ -89,7 +90,9 @@ def redact_messages(ids: Union[List[Union[str, int]], set[Union[int, str]]], ent
db_cursor.execute("UPDATE messages SET content = ? WHERE message_id = ?;", (json.dumps(message), row[1],)) db_cursor.execute("UPDATE messages SET content = ? WHERE message_id = ?;", (json.dumps(message), row[1],))
db_connection.commit() db_connection.commit()
logger.debug(message) logger.debug(message)
send_to_discord(DiscordMessageRaw(message, settings["webhookURL"].split("?", 1)[0]+"/messages/"+str(row[1])), DiscordMessageMetadata("PATCH")) main_webhook = settings["webhookURL"].split("?", 1)
webhook_url = "{main_webhook}/messages/{message_id}{thread_id}".format(main_webhook=main_webhook[0], message_id=str(row[1]), thread_id=("?"+main_webhook[1] if len(main_webhook) > 1 else ""))
send_to_discord(DiscordMessageRaw(message, webhook_url), DiscordMessageMetadata("PATCH"))
else: else:
logger.debug("Could not find message in the database.") logger.debug("Could not find message in the database.")