Кнопки в Telegram

В Telegram можно использовать как Reply-кнопки (обычные или клавиатурные), так и Inline-кнопки (кнопки в тексте).

Как создать кнопку в блоке

Чтобы создать кнопку любого вида в блоке чат-бота, перейдите в настройки блока и кликните на вкладку "Кнопки":

Тогда раскроются настройки для добавления и редактирования кнопки. Далее кликните добавить:

Откроется модальное окно с настройками кнопки, где указывается текст кнопки, ее функция и иные настройки:

В Сейлботе существует ряд кнопок, которые работают только для бота в Telegram:

  1. Поделиться;

  2. Callback-кнопка;

  3. Telegram WebApp (чтобы открыть мини-приложение в ТГ, например, с виджетом или сайтом);

  4. Авторизация через Telegram;

Также в Telegram доступны и другие кнопки, например, оплаты, запросить номер телефона или геолокацию, отправить ссылку.

Кнопка "Поделиться"

При создании кнопки выбираете "Поделиться (только Telegram)" и заполняете поля (поле дополнительный текст необязательно):

При нажатии на получившуюся кнопку будет предложено выбрать кому из списка контактов переслать информацию:

В зависимости от того, какую ссылку вы поместили в строке "Поделиться ссылкой" в настройках кнопки, та ссылка будет отправлена по кнопке поделиться:

После выбора получателя будет вставлена ссылка из строки “Поделиться ссылкой”, а также текст из строки “Дополнительный текст”.

Таким образом, можно передавать ссылки, в том числе на сообщения из каналов в телеграмм.

Telegram: кнопка Поделиться

Кнопка для авторизации на сайте

Для работы этой кнопки требуется привязка бота к домену. Делается это через @BotFather.

Выберите бота в диалоге с @BotFather, далее Bot Settings

Далее переходим в пункт Domain:

Далее в зависимости от того, был ли ранее установлен домен, будет кнопка Set Domain или Edit domain:

Вам будет предложено установить домен для бота:

Как это сделать правильно? Укажите домен salebot.pro или Свой домен, если он подключен к сайту на Сейлбот.

После того, как все приготовления готовы, можно создать кнопку:

В поле Текст впишите текст для надписи на кнопке. В поле Ссылка - url-адрес страницы, на которой будет реализована авторизация.

Остальные поля будут нужны, если для авторизации будет использоваться отдельный бот (требуется получить разрешение на отправку сообщений для этого бота): в частности, потребуется указание имени бота.

Если нужна возможность отправлять сообщения от указанного бота, то обязательно поставьте галочку для “Запросить разрешение у пользователя на отправку сообщений от бота”:

Telegram: кнопка Авторизация через Telegram

Callback-кнопка

Callback-кнопка - это кнопки с обратной связью, когда клиент видит одно, а в бот мы получаем нужный нам callback для запуска какого-либо блока воронки.

Создать ее довольно просто: в поле Кнопки нажмите на кнопку Добавить кнопку. В открывшейся форме введите текст, укажите тип - Callback-кнопка (Вконтакте, Telegram) и введите текст Callback, который должен вернуться при клике на кнопку:

Визуально кнопка выглядит как обычная inline-кнопка:

В карточке клиента после клика по кнопке Вы увидите настроенный Callback:

Кнопка Telegram Web Application

Такая кнопка позволяет открыть сайт в виде веб-приложения в Telegram.

При добавлении кнопки укажите текст, тип кнопки Telegram Web Applications и ссылку на сайт, который следует открыть в виде веб-приложения:

  1. Можно указать ссылку через переменную:

  1. Можно указать прямую ссылку в настройках кнопки:

Telegram: кнопка WebApp

Как создать кнопки для использования в функциях API Telegram

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

Для этого перейдите в настройки блока и выберите раздел Кнопки. Добавьте все необходимые кнопки:

Далее нажмите на "Расширенные настройки".

Код созданных кнопок Вы найдете при клике на Расширенные настройки в поле Расширенные настройки кнопки:

После этого скопируйте все из расширенных настроек кнопок (предварительно можете проверить работу кнопок прямо из этого блока) в переменную, например, под названием buttons:

Далее воспользуемся функцией tg_send_message(platform_id, text,client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities):

Переменную buttons передайте переменную в функцию в параметре reply_markup:

В результате получите кнопки в том виде, в каком задавали их в расширенных настройках кнопок:

Видео-инструкция "Код кнопок"

Код кнопок для функций API Telegram

Как удалить Reply-кнопки

Обычно кнопки удаляются сами, но бывают исключения.

Для удаления зависших кнопок Reply (клавиатурные кнопки) воспользуйтесь следующим кодом: [{"buttons":[],"one_time":true,"index_in_line":0,"line":0}]

Данный код следует разместить в расширенных настройках кнопок:

Клавиатурные кнопки-меню в Telegram

Клавиатурные кнопки

Для получения возможности использовать клавиатурные кнопки (reply) как постоянное меню Телеграм достаточно присвоить любое значение переменной tg_permanent_reply_buttons (переменная объявляется константой проекта).

Краткое описание действия включения tg_permanent_reply_buttons:

Задавая среди своих переменных tg_permanent_reply_buttons, Вы говорите о своем желании получить полный контроль над кнопками типа reply. Автоматические действия отключаются и ответственность переходит в Ваши руки. Данное действие распространяется на все вновь созданные клавиатурные кнопки для телеграмм

Для возвращения возможности скрывать reply-клавиатуру удалите переменную tg_permanent_reply_buttons и reply-кнопки, созданные пока данная переменная была в настройках проекта.

Как сделать меню в Telegram

Как сделать такое меню в Telegram:

Сделать такое меню может тот, кто создавал Telegram-бота.

Для этого нужно написать в Botfather в Телеграм.

Вводите команду /mybots , открывается список ваших ботов. Выбираете нужный. У вас открывается меню. Здесь нужно выбрать Edit Bot, а затем Edit Commands

Далее одним сообщением вводите команды и описание к ним. Название команд прописывается строчными буквами. Вам придет сообщение, что список команд обновлен.

Теперь в диалоге с ботом в Telegram можно увидеть меню:

При клике на кнопку меню, откроется список команд, которые ранее прописали в BotFather:

Далее переходите в Salebot, открываете проект, к которому подключен этот телеграм-бот.

Создаете блоки "Первостепенная проверка условия" или "Не состояние с условием", в условиях прописываете команды, а в поле "Текст сообщения" — тексты, которые будут приходить в ответ.

Пример:

Как совместить два вида кнопок

Создаете блок с reply-кнопкой (клавиатурная), которые вам необходимо визуализировать. Например: [{"type": "reply", "text": "НАЗВАНИЕ КНОПКИ", "line": 0, "index_in_line": 0}]

Далее создаете следующий блок (таймер в 0 секунд) с inline-кнопками (кнопки в тексте), которые необходимо разместить, не убирая reply-кнопки. Например: [{"type": "inline", "text": "НАЗВАНИЕ КНОПКИ", "line": 0, "index_in_line": 0}]

Результат:

Telegram: как соединить два вида кнопок

Last updated

Was this helpful?