Сутності повідомлення — це структурований, невидимий спосіб Telegram розмічати текст. Замість вбудовування символів форматування в сам текст Bot API описує кожен стилізований фрагмент — жирний, курсив, посилання, згадку тощо — окремим записом, що називає тип форматування та зсув і довжину ділянки тексту, яку він охоплює. Це альтернатива інлайн-розмітці на кшталт MarkdownV2: коли ви надсилаєте текст із синтаксисом MarkdownV2, Telegram розбирає цей синтаксис і перетворює його на сутності ще до збереження й доставки повідомлення, тож звичайний текст і його форматування зрештою представлені окремо, а не переплетено.
Інлайн-мова розмітки на кшталт MarkdownV2 тримає форматування й вміст в одному рядку — жирне слово обгортається зірочками прямо там, де воно стоїть. Сутність повідомлення натомість описує форматування як координати в базовому звичайному тексті: який тип форматування застосовано, де він починається і яку довжину має — у кодових одиницях UTF-16, а не в символах, що важливо для будь-чого з емодзі, оскільки вони рахуються як дві одиниці, а не одна. Текст, який показує клієнт, узагалі не містить символів розмітки — форматування повністю живе в супровідному списку фрагментів.
Відокремлення структури від вмісту усуває цілий клас проблем з екрануванням: фрагмент звичайного тексту може містити будь-який символ, зокрема й такий, що в інлайн-синтаксисі довелося б екранувати, — адже в самому тексті нічого не тлумачиться як інструкція форматування. Це також полегшує видалення чи ігнорування форматування: клієнт без підтримки розширеного тексту може просто прочитати звичайний текст і пропустити список сутностей, тоді як видалення інлайн-розмітки спершу вимагало б її розбору.
MarkdownV2 — це один із форматів вводу, які Telegram приймає й перетворює, а не конкурентне представлення. Надішліть повідомлення з форматуванням MarkdownV2 — і Telegram розбере зірочки, підкреслення та дужки в тексті, а тоді збереже результат як звичайний текст плюс сутності. Дописи Autogram виходять саме так: згенерований контент екранується й форматується як MarkdownV2 на виході, а перетворення на сутності виконує вже сам Telegram. Зчитування повідомлення назад показує лише форму сутностей — вихідний синтаксис MarkdownV2, який набрав відправник, ніде не зберігається.
Автоматизуйте публікацію в Telegram за допомогою ШІ-контенту, оцінки якості та розумного планування.