Как добавить кнопки в пост Telegram

Кнопки в постах Telegram (инлайн-клавиатуры) — это кликабельные элементы под сообщениями канала, которые позволяют добавлять ссылки, голосования и интерактивные действия. Добавить их можно только через ботов — например, @ControllerBot, @PostBot или собственного бота через Telegram Bot API. Стандартный редактор канала не поддерживает создание кнопок.

Какие бывают кнопки в Telegram

Telegram поддерживает два основных типа кнопок, которые отображаются непосредственно под сообщениями в каналах.

URL-кнопки (ссылочные)

Самый распространённый тип кнопок в каналах. Каждая кнопка содержит текстовую надпись и ссылку. При нажатии подписчик переходит на указанную веб-страницу, в другой Telegram-канал, к боту или по любому другому валидному URL.

Например, канал «Технологии сегодня» с 12 000 подписчиков публикует обзор нового смартфона и добавляет кнопки:
- «Читать полный обзор» → ведёт на сайт с подробной статьёй
- «Обсудить в чате» → ведёт в привязанную группу
- «Где купить» → ведёт на страницу магазина

Кнопки с callback (интерактивные)

Эти кнопки не открывают ссылки, а отправляют данные боту. Бот обрабатывает нажатие и может обновить сообщение, отправить ответ или записать данные. Используются для голосований, опросов, викторин и рейтинговых систем.

Типичный пример: канал с рецензиями на фильмы публикует обзор с кнопками «👍 Нравится» и «👎 Не нравится». Бот подсчитывает голоса в реальном времени и обновляет текст на кнопках — подписчики видят актуальный счётчик.

Добавление кнопок через @ControllerBot

Самый популярный способ добавления кнопок без программирования — бот @ControllerBot. Он работает прямо в Telegram и не требует технических навыков.

Шаг 1: Подключите канал к боту

  1. Откройте Telegram и найдите @ControllerBot
  2. Нажмите Start (Запустить)
  3. Отправьте команду /addchannel
  4. Добавьте @ControllerBot администратором в ваш канал — боту нужно разрешение на публикацию сообщений
  5. Перешлите любое сообщение из вашего канала боту для подтверждения владения

Шаг 2: Создайте пост с кнопками

  1. Отправьте команду /newpost боту @ControllerBot
  2. Выберите ваш канал из списка
  3. Напишите или вставьте текст поста
  4. Когда бот предложит добавить кнопки, используйте следующий синтаксис:
[Текст кнопки 1](https://example.com) [Текст кнопки 2](https://example.com)
[Кнопка на второй строке](https://example.com)

Каждая строка — это ряд кнопок. Несколько кнопок на одной строке отображаются рядом друг с другом. Новая строка создаёт новый ряд.

Шаг 3: Предпросмотр и публикация

  1. Бот покажет превью поста с кнопками
  2. Проверьте, что все кнопки отображаются корректно и ссылки работают
  3. Нажмите Опубликовать, чтобы отправить пост в канал сразу, или запланируйте публикацию на определённое время

Пример разметки кнопок

Для канала «Дайджест IT» с 18 000 подписчиков разметка может выглядеть так:

[🔗 Источник](https://habr.com/article/12345) [💬 Обсудить](https://t.me/digest_it_chat)
[📢 Поделиться с друзьями](https://t.me/share/url?url=https://t.me/digest_it/248)

Результат: два ряда кнопок — в первом ряду две кнопки рядом, во втором — одна кнопка на всю ширину.

Добавление кнопок через @PostBot

Альтернативный вариант — @PostBot, который предлагает визуальный редактор:

  1. Запустите @PostBot и подключите канал
  2. Создайте новый пост через интерфейс бота
  3. Используйте встроенный редактор кнопок — он позволяет добавлять и размещать кнопки визуально, без запоминания синтаксиса
  4. Выберите тип: URL-кнопки или кнопки-реакции
  5. Расположите ряды и столбцы, затем опубликуйте

@PostBot особенно удобен для кнопок-реакций, когда вы хотите, чтобы подписчики голосовали или реагировали с помощью кастомных эмодзи-кнопок.

Добавление кнопок через Telegram Bot API

Если вы используете собственного бота или кастомный инструмент публикации, кнопки можно добавлять программно через Telegram Bot API.

Базовый API-запрос

Для отправки сообщения с кнопками используйте метод sendMessage с параметром reply_markup:

{
  "chat_id": "@vash_kanal",
  "text": "Новая статья о продвижении Telegram-каналов!",
  "reply_markup": {
    "inline_keyboard": [
      [
        {"text": "📖 Читать статью", "url": "https://tgchannel.space/blog/prodvizhenie"},
        {"text": "📢 Поделиться", "url": "https://t.me/share/url?url=https://example.com"}
      ],
      [
        {"text": "👍 Полезно", "callback_data": "vote_useful"},
        {"text": "👎 Не полезно", "callback_data": "vote_not_useful"}
      ]
    ]
  }
}

Каждый вложенный массив внутри inline_keyboard — это один ряд. Каждый объект в ряду — кнопка с полем url (для ссылочных кнопок) или callback_data (для интерактивных кнопок, которые обрабатывает ваш бот).

Добавление кнопок к уже опубликованным постам

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

{
  "chat_id": "@vash_kanal",
  "message_id": 1234,
  "reply_markup": {
    "inline_keyboard": [
      [{"text": "🔗 Обновлённая ссылка", "url": "https://example.com/new"}]
    ]
  }
}

Это удобно, когда нужно добавить кнопку к старому посту — например, ссылку на продолжение статьи или исправление.

Правила и ограничения кнопок

Telegram устанавливает конкретные ограничения для инлайн-кнопок:

  • Максимум 8 кнопок в одном ряду (оптимально — 2-3 для читаемости)
  • Максимум 100 кнопок на одно сообщение
  • Длина текста кнопки: до 64 символов, но лучше держать в пределах 15-25 символов
  • URL-кнопки отображаются с маленькой стрелкой, указывающей на внешнюю ссылку
  • Callback-кнопки могут показывать индикатор загрузки или кратковременное уведомление при нажатии

Рекомендуемые схемы расположения

Цель Схема Один призыв к действию 1 кнопка на всю ширину Два равноценных варианта 2 кнопки в 1 ряду Основное + второстепенное 1 широкая кнопка + 2 поменьше в следующем ряду Голосование/реакции 3-5 эмодзи-кнопок в 1 ряду Навигация 2-3 ряда по 1-2 кнопки

Советы и лайфхаки

  • Пишите на кнопках глаголы действия. «Читать», «Скачать», «Перейти», «Голосовать» работают лучше, чем «Подробнее» или «Нажми сюда». Кнопка «📥 Скачать PDF-гайд» привлекает больше кликов, чем просто «Ссылка».

  • Ограничьтесь 1-3 кнопками на пост. Каналы с 5 000–50 000 подписчиков отмечают, что посты с 1-3 кнопками получают наибольший CTR. Слишком много кнопок вызывают «паралич выбора».

  • Используйте один эмодзи в начале кнопки. Один релевантный эмодзи (🔗, 📖, 💬, ▶️) улучшает визуальное восприятие и повышает процент кликов. Не перегружайте кнопку несколькими эмодзи.

  • Размещайте главную кнопку первой. Подписчики читают сверху вниз, слева направо. Основной призыв к действию должен быть первой кнопкой, в идеале — на отдельном ряду во всю ширину.

  • Добавляйте UTM-метки в ссылки для отслеживания трафика. Например: https://yoursite.com/article?utm_source=telegram&utm_medium=button&utm_campaign=weekly_digest. Это особенно эффективно в сочетании с сервисами вроде tgchannel.space, которые помогают вывести контент Telegram-канала в веб и сделать его доступным для поисковых систем.

  • Комбинируйте кнопки с нативными реакциями Telegram. Telegram уже поддерживает эмодзи-реакции на посты каналов, поэтому для простого «нравится/не нравится» ботовские кнопки не нужны. Используйте инлайн-кнопки для более сложных сценариев — многовариантных голосований или ссылок на внешние ресурсы.

  • Тестируйте все ссылки перед публикацией. После публикации можно отредактировать URL через бота или API, но битые ссылки подрывают доверие подписчиков. Всегда проверяйте превью поста.

Частые ошибки

Ошибка 1: Попытка добавить кнопки без бота
Почему это неправильно: Стандартный редактор канала в Telegram не поддерживает инлайн-кнопки. Если вы просто напишете [текст](ссылка) в обычном посте, это отобразится как обычный текст, а не как кнопка.
Как избежать: Всегда используйте бота (@ControllerBot, @PostBot или собственного бота через API) для создания постов с кнопками.

Ошибка 2: Кнопки в каждом посте
Почему это неправильно: Когда абсолютно каждый пост содержит 4-6 кнопок, у подписчиков развивается «слепота к кнопкам» — они просто перестают их замечать. Вовлечённость резко падает после первых недель.
Как избежать: Добавляйте кнопки только там, где они приносят реальную пользу — ссылка на источник, голосование, переход на важную страницу. Успешные каналы используют кнопки в 30-50% постов, а не в каждом.

Ошибка 3: Бот не добавлен администратором
Почему это неправильно: Боту нужны права администратора с разрешением «Публикация сообщений», чтобы отправлять посты с кнопками в канал. Без этого бот просто не сможет ничего опубликовать.
Как избежать: После добавления бота в канал перейдите в Настройки канала → Администраторы и убедитесь, что бот отображается с нужными правами.

Ошибка 4: Callback-кнопки без обработчика
Почему это неправильно: Если вы добавили кнопки с callback_data, но ваш бот не обрабатывает колбэки, подписчики при нажатии увидят бесконечный индикатор загрузки или ошибку.
Как избежать: Используйте callback_data кнопки только при наличии работающего бота, который слушает и обрабатывает callback-запросы. Для простых переходов по ссылке всегда используйте url-кнопки.

Ошибка 5: Перегруженные ряды кнопок
Почему это неправильно: Размещение 4-5 кнопок с длинным текстом в одном ряду делает их нечитаемыми на мобильных устройствах. Текст обрезается, а сами кнопки становятся слишком маленькими для нажатия.
Как избежать: Проверяйте разметку кнопок на экране телефона. Как правило, размещайте не более 3 кнопок в ряду и следите, чтобы суммарная длина текста не обрезалась на стандартном мобильном дисплее.

Часто задаваемые вопросы

Можно ли добавить кнопки к уже опубликованному посту?
Да, если пост был изначально отправлен через бота. Через функцию редактирования бота или метод API editMessageReplyMarkup можно добавить, изменить или удалить кнопки. Посты, опубликованные через стандартный редактор канала, нельзя дополнить кнопками — их придётся удалить и переопубликовать через бота.

Работают ли кнопки в пересланных сообщениях?
URL-кнопки продолжают работать при пересылке — нажатие по-прежнему открывает ссылку. Однако callback-кнопки (интерактивные, взаимодействующие с ботом) в пересланных сообщениях работать не будут, поскольку бот может обрабатывать колбэки только для сообщений в исходном чате.

Отображаются ли кнопки на всех устройствах?
Инлайн-кнопки поддерживаются всеми официальными клиентами Telegram — iOS, Android, Desktop и Web. Они одинаково отображаются на всех платформах. Некоторые устаревшие сторонние клиенты могут не показывать кнопки, но таких пользователей ничтожно мало.

Можно ли отслеживать количество нажатий на кнопку?
Для URL-кнопок Telegram не предоставляет встроенной аналитики кликов. Используйте UTM-метки и свою систему веб-аналитики (Google Analytics, Яндекс.Метрика) для отслеживания переходов. Для callback-кнопок бот получает каждое нажатие как callback-запрос, поэтому вы можете подсчитывать и логировать их на стороне сервера.

Есть ли ограничение на количество постов с кнопками?
Нет. В Telegram нет лимита на число постов с кнопками в канале. Вы можете добавлять кнопки к каждому посту, однако, как отмечалось выше, выборочное использование обычно даёт лучшие показатели вовлечённости.