From 40ce40f2183dc9e301adb3265bbf08ed76a31357 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Fri, 27 Feb 2026 19:33:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20parse=5Fmode=20=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B3=D0=B4=D0=B0=20=D0=BC=D1=8B=20=D0=B2=D0=BD=D1=83=D1=82?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B0=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Qwen-Coder --- bot/utils/formatters.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bot/utils/formatters.py b/bot/utils/formatters.py index 3483f23..ff7b95a 100644 --- a/bot/utils/formatters.py +++ b/bot/utils/formatters.py @@ -175,7 +175,11 @@ async def send_long_message(update: Update, text: str, parse_mode: str = None, p for i, (part, has_code, code_opened, code_closed) in enumerate(parts): # Определяем parse_mode для этого сообщения - actual_parse_mode = parse_mode if parse_mode and has_code else None + # Используем parse_mode если сообщение имеет код ИЛИ если мы внутри блока кода + # Мы внутри блока кода если: предыдущее не закрыло ИЛИ (текущее открыто и не закрыто) + prev_closed = parts[i-1][3] if i > 0 else True + in_code_block = not prev_closed or (code_opened and not code_closed) + actual_parse_mode = parse_mode if parse_mode and (has_code or in_code_block) else None # Логика работы с блоками кода между сообщениями: # Если предыдущее сообщение не закрыло блок — нужно открыть в этом