fix: восстановить работу Markdown в send_long_message

- has_markdown переименован в has_code (более точно)
- Теперь Markdown применяется ко всем сообщениям если передан parse_mode
- Блоки кода без разрывов тоже работают с Markdown

Version: 0.5.5

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-02-25 00:24:31 +08:00
parent 33263e6630
commit 50dcec82fc
1 changed files with 9 additions and 4 deletions

View File

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