В начало

Ошибка при разрыве сообщений

 

            Сообщения перестали выводится в Телеграмм. Сообщения форматированы разметкой Markdown.

 

Листинг. Сообщение об ошибке при отправке HTTP-запроса в Телеграм

{"ok":false,"error_code":400,"description":"Bad Request: can't parse entities: Can't find end of the entity starting at byte offset 4337"}

 

Анализ показал, что при отправке многостраничных сообщений текст разрывался посередине специальных символов разметки Markdown, т.е. если в тексте присутствуют парные символы разметки типа «* *» или «_ _» они должны находится в одной строке, а в данном случае они были разорваны. В результате сообщение вообще не отправилось в Телеграм, а выдало ошибку с кодом 400.

            Как решение нужно перед отправкой сообщений в Телеграм проверять последнюю строчку, чтобы в ней не было незакрытых символов разметки. Переход на HTML-разметку, т.е. «parse_mode=HTML» ситуацию особо не меняло, т.к. и HTML-теги тоже рвать нельзя.