From 50dcec82fc9213d4511ea61482ee76422a7f1253 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Wed, 25 Feb 2026 00:24:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B2=D0=BE=D1=81=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B8=D1=82=D1=8C=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D1=83=20Markdown=20=D0=B2=20send=5Flong=5Fmessage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - has_markdown переименован в has_code (более точно) - Теперь Markdown применяется ко всем сообщениям если передан parse_mode - Блоки кода без разрывов тоже работают с Markdown Version: 0.5.5 Co-authored-by: Qwen-Coder --- bot/utils/formatters.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bot/utils/formatters.py b/bot/utils/formatters.py index bfc1fac..8c7c487 100644 --- a/bot/utils/formatters.py +++ b/bot/utils/formatters.py @@ -138,7 +138,7 @@ async def send_long_message(update: Update, text: str, parse_mode: str = None): parts = split_message(text) total = len(parts) - for i, (part, has_markdown) in enumerate(parts): + for i, (part, has_code) in enumerate(parts): # Добавляем номер части если их несколько if total > 1: header = f"({i+1}/{total}) " @@ -146,11 +146,16 @@ async def send_long_message(update: Update, text: str, parse_mode: str = None): part = header + part # Определяем parse_mode для этого сообщения - # Если у сообщения есть блоки кода — используем Markdown - # Если нет — отправляем без разметки (безопаснее) - if has_markdown and parse_mode: + # Если передан parse_mode и нет проблем с блоками кода — используем его + # Если блок кода разорван — отправляем без Markdown для этой части + if parse_mode and has_code: + # Сообщение содержит полный блок кода — используем Markdown + actual_parse_mode = parse_mode + elif parse_mode and not has_code: + # Сообщение без блоков кода — всё равно используем Markdown для другого форматирования actual_parse_mode = parse_mode else: + # Нет parse_mode или проблемы с кодом actual_parse_mode = None try: