From bfc5e80553e2facdc125c3a8cd6a5a38bb4087fa Mon Sep 17 00:00:00 2001 From: MarkusRost <2701034-MarkusRost@users.noreply.gitlab.com> Date: Tue, 18 Apr 2023 22:37:36 +0000 Subject: [PATCH] update Discord markdown sanitation --- src/api/util.py | 2 +- src/misc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/util.py b/src/api/util.py index 883ed44..1184367 100644 --- a/src/api/util.py +++ b/src/api/util.py @@ -42,7 +42,7 @@ def clean_link(link: str) -> str: def sanitize_to_markdown(text: str) -> str: """Sanitizes given text to escape markdown formatting. It is used in values that will be visible on Discord in messages""" - return re.sub(r"([`_*~:<>{}@|\\])", "\\\\\\1", text).replace('//', "/\\/").replace('](', "]\\(") + return re.sub(r"([`_*~:<>{}@|#\-\.\\])", "\\\\\\1", text).replace('//', "/\\/").replace('](', "]\\(") def sanitize_to_url(text: str) -> str: # TODO ) replaces needed? diff --git a/src/misc.py b/src/misc.py index ec52e9b..ffd7c25 100644 --- a/src/misc.py +++ b/src/misc.py @@ -173,7 +173,7 @@ class ContentParser(HTMLParser): def handle_data(self, data): def escape_formatting(data: str) -> str: """Escape Discord formatting""" - return re.sub(r"([`_*~<>{}@/|\\])", "\\\\\\1", data) + return re.sub(r"([`_*~:<>{}@/|#\-\.\\\[\]\(\)])", "\\\\\\1", data) data = escape_formatting(data) if self.current_tag == "ins" and self.ins_length <= 1000: self.ins_length += len("**" + data + "**")