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]]: