Разметка сообщений от Телеграм-ботов
Оформление текста может пригодиться, чтобы выделить важную информацию или сослаться на URL или на пользователей. В Телеграме много возможностей форматирования, так что постарайтесь не переборщить :) Чем проще, тем лучше.
Текст в Телеграм-сообщениях может быть:
- жирным,
- курсивным,
- подчёркнутым,
зачёркнутым,моноширинным,
а также вы можете встроить в текст:
- ссылку,
- спойлер — спрятанный текст,
- упоминание пользователя по ID,
- блок-цитату (может быть сворачиваемой),
- кастомные эмодзи (доступны только для ботов с платным юзернеймом).
Всего в сообщение можно добавить не более 100 таких элементов разметки. Если вы попробуете отправить сообщение с бо́льшим числом элементов, Телеграм проигнорирует лишние. Помимо этих элементов, сообщение может содержать сколько угодно упоминаний пользователей по юзернейму. (Но не все из них пришлют пользователю уведомление: об этом ниже.)
В Bot API можно задавать разметку в формате HTML или Markdown. В Telegram API это не встроено, но похожий синтаксис поддерживают библиотеки вроде Telethon и Pyrogram.
Моноширинный текст
Моноширинным можно сделать кусочек текста (как HTML-тегом <code>) и блок кода на полную ширину (как <pre>).
У блока кода можно указать язык кода, и тогда приложения Телеграм будут подсвечивать синтаксис в этом блоке.
Спойлер
Спойлер — это текст, спрятанный за анимированной плашкой.
Обернуть в спойлер можно не только текст, но и картинки; хотя это делается не средствами разметки.

Упоминание пользователя
Упоминание пользователя — текст, похожий на ссылку, клик по которому открывает профиль пользователя. Чтобы вставить в сообщение упоминание пользователя, в Bot API достаточно встроить ссылку на tg://user?ID=123456789. Юзернейм пользователя автоматически превращается в упоминание.
Если упомянуть участника в группе, он получит уведомление. Но если в сообщении больше пяти упоминаний, уведомления придут только некоторым пяти пользователям.
Бот может упоминать по ID в чате только тех пользователей, которые состоят в чате или разрешили показывать ссылки на себя при пересылке сообщений. Кроме того, бот не сможет сделать это, если он ещё не «видел» пользователя.
Упоминания по юзернейму и по ID работают по-разному:
- Упоминание по юзернейму — это обычный текст вроде
@username. При нажатии приложение Телеграма находит текущего владельца этого юзернейма. - Упоминание по ID встраивает в сообщение настоящий ID пользователя. Получателям вместе с сообщением приходит и профиль пользователя, поэтому такая ссылка остаётся кликабельной даже после смены юзернейма.
