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