From 2efcfcecdd9469d5d83a00f5c5ac20416c563c0d Mon Sep 17 00:00:00 2001 From: MarkusRost <2701034-MarkusRost@users.noreply.gitlab.com> Date: Fri, 30 Jul 2021 00:01:55 +0000 Subject: [PATCH] Support webhooks with thread_id closes #225 --- src/discord/queue.py | 4 ++-- src/discord/redaction.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/discord/queue.py b/src/discord/queue.py index 9777287..2b30561 100644 --- a/src/discord/queue.py +++ b/src/discord/queue.py @@ -132,7 +132,7 @@ def send_to_discord_webhook(data: Optional[DiscordMessage], metadata: DiscordMes header['Content-Type'] = 'application/json' standard_args = dict(headers=header) if metadata.method == "POST": - req = requests.Request("POST", data.webhook_url+"?wait=" + ("true" if AUTO_SUPPRESSION_ENABLED else "false"), data=repr(data), **standard_args) + req = requests.Request("POST", data.webhook_url + (("&" if "?" in data.webhook_url else "&")+"wait=true" if AUTO_SUPPRESSION_ENABLED else ""), data=repr(data), **standard_args) elif metadata.method == "DELETE": req = requests.Request("DELETE", metadata.webhook_url, **standard_args) elif metadata.method == "PATCH": @@ -184,4 +184,4 @@ def send_to_discord(data: Optional[DiscordMessage], meta: DiscordMessageMetadata time.sleep(5.0) messagequeue.add_message((data, meta)) elif code < 2: - pass \ No newline at end of file + pass diff --git a/src/discord/redaction.py b/src/discord/redaction.py index b7aac13..dcbf5c9 100644 --- a/src/discord/redaction.py +++ b/src/discord/redaction.py @@ -39,7 +39,7 @@ def delete_messages(matching_data: dict): msg_to_remove = [] logger.debug("Deleting messages for data: {}".format(matching_data)) for message in to_delete: - webhook_url = "{main_webhook}/messages/{message_id}".format(main_webhook=settings["webhookURL"], message_id=message[0]) + webhook_url = "{main_webhook}/messages/{message_id}".format(main_webhook=settings["webhookURL"].split("?", 1)[0], message_id=message[0]) msg_to_remove.append(message[0]) logger.debug("Removing following message: {}".format(message[0])) send_to_discord(None, DiscordMessageMetadata("DELETE", webhook_url=webhook_url)) @@ -87,6 +87,6 @@ def redact_messages(ids: list, entry_type: int, to_censor: dict): db_cursor.execute("UPDATE messages SET content = ? WHERE message_id = ?;", (json.dumps(message), row[1],)) db_connection.commit() logger.debug(message) - send_to_discord(DiscordMessageRaw(message, settings["webhookURL"]+"/messages/"+str(row[1])), DiscordMessageMetadata("PATCH")) + send_to_discord(DiscordMessageRaw(message, settings["webhookURL"].split("?", 1)[0]+"/messages/"+str(row[1])), DiscordMessageMetadata("PATCH")) else: logger.debug("Could not find message in the database.")