РАЗБОР · 2026

Кнопки внутри сообщения Telegram:
что изменилось для каналов

Раньше кнопки в Telegram жили одним блоком под сообщением. С 25 августа 2026 года их можно ставить прямо внутри текста — между абзацами, рядами по восемь штук, в четырёх стилях. Разбираем, кто может добавить такие кнопки в канал, какие типы там реально работают и что происходит с кнопками, когда пост уезжает в Макс.

Чтение 6 минут · Обновлено 04.09.2026
Иллюстрация — сложенный бумажный лист с врезанными в него латунными кнопками, одна вдавлена
§1

Что именно изменилось 25 августа

В анонсе к 13-летию Telegram кнопки описаны одной фразой: разработчики теперь могут размещать несколько кнопок прямо внутри сообщения. Разница с привычной inline-клавиатурой не косметическая: кнопка перестала быть подвалом поста и стала таким же блоком текста, как абзац или картинка — её можно поставить в середину, между двумя мыслями.

Второе, что важно для каналов: в том же анонсе сказано, что такие сообщения можно публиковать где угодно, включая группы и каналы, «где с ними может взаимодействовать любое число пользователей». Пример Telegram приводит буквальный: шахматы, где каждый читатель играет свою отдельную партию в одном и том же посте. Дальше по списку — опросы, игры, гороскопы, просмотр и заказ товаров.

И третье, о чём стоит знать до того, как искать кнопку в приложении. Telegram честно предупреждает: «вам понадобится немного кода». Пункта «вставить кнопку» в редакторе поста нет — сообщение с кнопками отправляет бот через Bot API. Тем эта фича и отличается от соседней новинки того же дня — приветственного сообщения, которое настраивается мышкой прямо в профиле канала.

§2

Из чего состоит кнопка

Техническая часть приехала в Bot API 10.3 от 24 августа 2026: добавились классы RichMessageButton, RichTextButton и RichBlockButtons. Первый описывает саму кнопку, второй — кнопку внутри строки текста, третий — целый ряд кнопок.

  • Ряд — до 8 кнопок. Блок buttons (в HTML-разметке это тег <tg-button-row>) при отправке принимает от 1 до 8 кнопок и умеет выравнивание: left, center или right.
  • Одна кнопка — одно действие. В документации Bot API это сформулировано жёстко: кроме text и style должно быть заполнено ровно одно поле. Варианты: url, callback_data (1–64 байта), web_app, login_url и три разновидности switch_inline_query.
  • Четыре стиля. danger, success, primary и link — последний рисует кнопку обычной ссылкой без рамки и разрешён только для callback-кнопок.
  • Подпись форматировать нельзя. Текст кнопки, по документации, может содержать только простой текст, кастомные эмодзи и сущность «дата и время». Жирный и курсив в подпись не положить, а вот живую дату, которая у каждого читателя отображается в его часовом поясе, — да.

Кнопки считаются в общий бюджет сообщения-статьи: до 32 768 символов и до 500 блоков, причём каждый ряд кнопок — это блок. На практике в этот потолок упереться сложнее, чем в здравый смысл читателя.

§3

Что из этого доступно каналу

Полный список типов кнопок писался не под каналы, и часть его в канале бесполезна. Самый наглядный пример — кнопка мини-приложения: в примере разметки на странице Bot API она подписана прямым текстом «Mini App (private chats only)». Для поста в канале остаются три рабочих варианта.

  • Кнопка-ссылка (url). Самый простой случай: ведёт на сайт, на товар, на другой чат. Работает без какой-либо серверной логики — бот один раз отправил пост и больше не нужен.
  • Callback-кнопка. Нажатие прилетает боту событием, и он решает, что показать в ответ. Это и есть та механика, из-за которой в анонсе возникли шахматы: состояние каждого читателя бот держит у себя, поэтому один пост обслуживает сколько угодно параллельных сценариев.
  • switch_inline_query. Подставляет читателю заготовленный запрос к боту — удобно, когда нужно увести человека из канала в диалог с уже введённой командой.

Практический вывод: без собственного бота-администратора кнопок в канале не будет вообще, а с ботом, но без серверной части, доступны только ссылки. Если вы уже присматривались к ботам как к инструменту автора — у нас есть разбор того, что боты умеют в Максе, логика там очень похожая.

§4

Что происходит с кнопкой при переносе в Макс

Это как раз тот случай, где мы можем говорить не по документации, а по собственному коду. Кнопки внутри поста-статьи Репостбот разбирает так:

  • Кнопка со ссылкой превращается в кликабельную ссылку в тексте поста: подпись остаётся подписью, адрес — адресом. Смысл сохраняется, теряется только рамка.
  • Callback-кнопка приезжает обычным текстом. Нажимать в Максе нечего: на той стороне нет бота, который бы обработал это нажатие. Бот отмечает такой случай у себя в журнале, но отдельным сообщением владельца не дёргает — пост при этом доезжает целиком.
  • Ряд из нескольких кнопок разворачивается в столбик: каждая подпись с новой строки. Восемь кнопок в ряд — это восемь строк в Максе, так что ряды-«гирлянды» в посте, который вы переносите, лучше не делать.
  • Обычная клавиатура под сообщением не переносится вовсе — наш пайплайн её не читает. И в обратную сторону тоже: при переносе из Макса в Telegram клавиатура отбрасывается ещё на входе.
Иллюстрация — ряд латунных кнопок на бумажном листе, от каждой тянется нить, которая за небольшим мостом превращается в простую бумажную бирку

Первый пост-статья на связке бот не переносит молча: он спрашивает владельца, как поступать с таким форматом, и запоминает ответ в настройке «📄 Посты-статьи». Так же устроен разбор документов внутри поста — текст едет первым, вложения следом.

§5

А в самом Максе кнопки есть?

Есть, и устроены они иначе. В Telegram клавиатура — отдельное поле сообщения; в Максе, судя по справочнику Bot API, это просто ещё одно вложение: элемент массива attachments с типом inline_keyboard, лежащий там же, где картинки и файлы.

Типов кнопок у Макса даже больше: callback, link, open_app, message, clipboard (копирует текст в буфер обмена), request_contact и request_geo_location. Лимит тоже щедрее телеграмовского ряда — до 210 кнопок на сообщение: 30 рядов по 7, и до 3 в ряду, если это ссылки, мини-приложения, запрос геопозиции или контакта.

Своей кнопкой в Максе мы пользуемся каждый день: «💬 Комментарии» под постом в Макс-канале — это тот самый inline_keyboard, который бот подвешивает к опубликованному посту (как это работает). Так что технически перенести кнопку-ссылку один в один можно. С callback-кнопкой сложнее: она живёт только в паре со своим ботом, и копия такой кнопки в чужом канале была бы кнопкой, которая ничего не делает. Поэтому сегодня Репостбот сохраняет смысл, а не форму: адрес остаётся ссылкой, подпись — подписью.

FAQ

Частые вопросы

Можно ли добавить кнопку в пост канала руками, без программиста?

Нет. Telegram описывает кнопки внутри сообщений как возможность для разработчиков и прямо предупреждает, что понадобится немного кода. Пункта «вставить кнопку» в редакторе поста нет — такое сообщение публикует бот через Bot API.

Сколько кнопок помещается в один ряд?

От 1 до 8. Ряд — это блок buttons, он же тег <tg-button-row>, и у него можно задать выравнивание влево, по центру или вправо. Рядов в сообщении может быть несколько.

Почему кнопка мини-приложения не годится для канала?

В примере разметки на странице Bot API кнопка типа web_app подписана «Mini App (private chats only)» — она рассчитана на личные чаты. Для канала остаются кнопки-ссылки, callback-кнопки и switch_inline_query.

Репостбот перенесёт мои кнопки в Макс?

Не как кнопки. Кнопка со ссылкой внутри поста-статьи приезжает кликабельной ссылкой в тексте; callback-кнопка — обычным текстом, нажимать нечего. Клавиатуру под сообщением бот не переносит ни в одну из сторон.

Сломается ли перенос, если в посте есть кнопки?

Нет. Пост доезжает целиком — с текстом, форматированием и вложениями; кнопка просто теряет рамку. Первый пост-статья на связке бот отдельно согласует с владельцем, дальше выбор запоминается.

Пост со всеми блоками — и сразу в двух мессенджерах

Первая связка — бесплатно. Без карты.

Запустить @newreposterbot

Как работает репост из Телеграма в Макс