diff --git a/app/utils/validators.py b/app/utils/validators.py index a4294a7d..fe65c273 100644 --- a/app/utils/validators.py +++ b/app/utils/validators.py @@ -4,14 +4,17 @@ from datetime import datetime import html ALLOWED_HTML_TAGS = { - 'b', 'strong', - 'i', 'em', - 'u', 'ins', - 's', 'strike', 'del', - 'code', - 'pre', - 'a', - 'blockquote' + 'b', 'strong', # жирный + 'i', 'em', # курсив + 'u', 'ins', # подчёркнутый + 's', 'strike', 'del', # зачёркнутый + 'code', # моноширинный + 'pre', # блок кода + 'a', # ссылка + 'blockquote', # цитата + 'tg-spoiler', # спойлер + 'tg-emoji', # кастомный эмодзи + 'span', # для class="tg-spoiler" } SELF_CLOSING_TAGS = { @@ -276,14 +279,16 @@ def fix_html_tags(text: str) -> str: def get_html_help_text() -> str: return """Поддерживаемые HTML теги: -• <b>жирный</b> или <strong>жирный</strong> -• <i>курсив</i> или <em>курсив</em> -• <u>подчеркнутый</u> -• <s>зачеркнутый</s> +• <b>жирный</b> или <strong></strong> +• <i>курсив</i> или <em></em> +• <u>подчёркнутый</u> +• <s>зачёркнутый</s><code>моноширинный</code><pre>блок кода</pre><a href="url">ссылка</a><blockquote>цитата</blockquote> +• <tg-spoiler>спойлер</tg-spoiler> +• <tg-emoji emoji-id="123">😀</tg-emoji> ⚠️ Важные правила: • Каждый открывающий тег должен быть закрыт @@ -292,11 +297,9 @@ def get_html_help_text() -> str: ❌ Неправильно: <b>жирный <i>курсив</b></i> -<a href=google.com>ссылка</a> ✅ Правильно: -<b>жирный <i>курсив</i></b> -<a href="https://google.com">ссылка</a>""" +<b>жирный <i>курсив</i></b>""" def validate_rules_content(text: str) -> Tuple[bool, str, Optional[str]]: