Одним из способов повышения удобства использования каналов является добавление активных кнопок. В этой статье мы рассмотрим несколько типов кнопок, которые можно использовать в Telegram.

Какие активные кнопки можно добавить в Telegram

URL-кнопки

URL-кнопки - это наиболее распространенный вид кнопок в Telegram. Они позволяют пользователю перейти на внешний сайт, нажав на кнопку. При этом пользователь получает предупреждение о том, что ссылка ведет на сторонний ресурс. Если он подтвердит переход, браузер откроет URL-адрес. Пример использования такой кнопки-ссылки: пост с краткой выжимкой из большой статьи, ссылка ведет на полный вариант.

Switch-кнопки

Switch-кнопки имеют более сложный механизм работы. С помощью них можно осуществлять перенаправление внутри мессенджера. Например, переключить пользователя на чат с ботом для заказа товара или оформления подписки. Конечно, для этого можно самостоятельно найти бота и написать ему, но кнопка позволяет автоматизировать этот процесс и сделать его удобнее.

Callback-кнопки

Этот тип кнопок самый многофункциональный. При нажатии на нее может выполняться любое произвольное действие. Возможности callback-кнопок (или, как их еще называют, кнопок с обратной связью) ограничены только вашей фантазией. Они хорошо подойдут для решения таких простых задач, как автоматическая замена текста в сообщениях по условию. Но также позволят реализовать и более сложные вещи. Например, навигацию по длинной статье на манер постраничной пагинации на сайте или даже создание календаря с возможностью выбора даты. Причем для добавления такого функционала в свой Телеграм-канал, необязательно иметь навыки программирования. В сети есть очень много готовых решений с инструкциями по их внедрению.

Кнопки с реакциями

Кнопки с реакциями

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

Создание кнопок с помощью бота @markdownbot

Шаг 1: Добавьте бота в админы своего канала.

Первым шагом необходимо добавить бота @markdownbot в админы своего канала. Для этого найдите бота и добавьте его в администраторы.

Шаг 2: Добавьте канал

После добавления бота в админы, нажмите «start» и выберите «добавить канал» в появившемся меню. Бот отправит вам сообщение с цифрами. Скопируйте их и опубликуйте в канале, на котором хотите публиковать посты с кнопками.

Шаг 3: Перешлите сообщение боту.

Перешлите опубликованное сообщение с цифрами из своего канала обратно боту @markdownbot, сделав форвард сообщения. После этого канал будет добавлен.

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

нажмите отправить в канал

Перед вами появится меню. Если оно не появилось, просто нажмите на мини-окошко в строке ввода сообщений. Затем выберите пункт «отправить в канал», откроется меню «настройка публикаций». В параметре «тип сообщения» можно выбрать текстовый формат «markdown», HTML или фото.

Напротив пункта «кнопки к посту» нажмите «вкл», после чего нажмите «GO». На запрос бота отправьте ваш текст для публикации. В ответ он пришлет этот же текст с кнопками подтверждения. Если текст корректный, нажмите «Да».

Оформление поста

Затем бот попросит вас отправить ему текст и ссылки для кнопок в нужном формате. После отправки вы получите пример вашего текста с кнопками, где можете проверить работу кнопок.

Текст кнопок

Шаг 5: Опубликуйте пост.

После нажатия «да» пост будет опубликован на привязанном канале автоматически. Сама процедура довольно проста, но если хотите попрактиковаться, то рекомендуем для начала использовать тестовый канал. Теперь вы знаете, как создавать кнопки к постам в Telegram с помощью бота @markdownbot.

Пример поста с кнопкой

Как создать кнопки с помощью бота @ControllerBot

Настройка бота @ControllerBot

Первым шагом является настройка бота @ControllerBot. Это нужно выполнить только один раз.

Создаем своего бота и подключаем его к ControllerBot

  1. Открываем строку поиска в Telegram и вводим - @ControllerBot
  2. Выбираем в результатах поиска бота @ControllerBot
  3. Нажимаем "Старт", а затем "Добавить канал".
  4. Делаем все по инструкции, которую получим в сообщении. Идем в бота @BotFather, создаем нового бота и копируем токен.
  5. После отправки токена бота, мы должны добавить нашего созданного бота в администраторы канала и переслать любое сообщение в @ControllerBot.
  6. Присылаем название своего города для настройки таймзоны.

Создание кнопки

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

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

  1. Открываем нашего созданного бота и нажимаем "Создать пост".
  2. Выбираем свой канал, набираем текст поста и нажимаем на значок отправки.
  3. Наш пост пока не опубликован, а только подготовлен. Мы можем добавить к нему разные элементы, такие как видео и изображения, открыть комментарии, добавить реакции и URL-кнопки. Именно последние нам сейчас нужны. Выбираем этот пункт.
  4. Бот отправит нам в ответ инструкцию. Следуем ей. Сначала пишем текст, который будет отображен на самой кнопке. Через тире – ссылку, на которую подписчик перейдет по ее нажатии. Если нужно добавить несколько кнопок сразу, пишем их все в одну строку, разделяя пробелами и символом «|». По завершении нажимаем «Отправить».
  5. Чтобы опубликовать пост с кнопкой-ссылкой, нажимаем «Далее», затем «Опубликовать». И после того, как бот спросит нас, уверены ли мы в своих действиях, снова жмем «Опубликовать».
  6. Заходим в свой канал и проверяем сообщение.

Теперь вы знаете, как создать кнопки в Telegram канале с помощью бота @ControllerBot. Рекомендуем сначала протестировать на пустом приватном канале.

Создание кнопок с помощью API

Если вы отправляете сообщения с помощью Bot API, то вы можете использовать тип данных InlineKeyboardMarkup при отправке сообщения. Поле inline_keyboard должно содержать массив из массивов. Первый массив это строка кнопок(например, если хотите что бы кнопки были одна под другой, то создавайте несколько массивов). Второй массив это данные кнопки.

Пример на PHP

  $keyboard = [
    'inline_keyboard' => [
        [
            ['text' => '<текст-кнопки>', 'url' => '<ссылка>']
        ]
    ]
];
$encodedKeyboard = json_encode($keyboard);
$parameters = 
    array(
        'chat_id' => , 
        'text' => <текст-сообщения>, 
        'reply_markup' => $encodedKeyboard
    );

send('sendMessage', $parameters);

Меняем: <текст-кнопки> - что будет написано на кнопке, <ссылка> - куда будет вести ссылка, <id-канала> - id вашего канала в TG, <текст-сообщения> - сообщение под которым будет кнопка.

На всякий случай, приводим пример функции отправки сообщения.

function send($method, $data)
{
    $url = "https://api.telegram.org/bot< Вot-Token>". "/" . $method;

    if (!$curld = curl_init()) {
        exit;
    }
    curl_setopt($curld, CURLOPT_POST, true);
    curl_setopt($curld, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curld, CURLOPT_URL, $url);
    curl_setopt($curld, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($curld);
    curl_close($curld);
    return $output;
}

<Bot-Token> - меняем на api вашего бота для отправки сообщений.

Заключение

В заключении, добавление активных кнопок в Telegram может значительно улучшить пользовательский опыт и сделать ваш канал более интерактивным. Разнообразьте свой контент и позвольте вашим подписчикам взаимодействовать с ним более активно.

Опубликовано: 25 апреля 2023
Автор: Денис

Рейтинг статьи

3
Оцени!
Комментарии