Кнопки в Telegram
Рекомендуем ознакомиться со статьей "Кнопки" в разделе "Основы ботостроения на Salebot.pro"
В Telegram можно использовать как Reply-кнопки (обычные или клавиатурные), так и Inline-кнопки (кнопки в тексте).
Важно!
Информация об ограничениях: - Reply-кнопки (обычные или клавиатурные) до 12 штук в строке; - Inline-кнопки до 8 штук в строке; - ТЕКСТ в кнопке ограничен 32 символами; - кнопке НЕЛЬЗЯ задать цвет.
Как создать кнопку в блоке
Чтобы создать кнопку любого вида в блоке чат-бота, перейдите в настройки блока и кликните на вкладку "Кнопки":

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

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

В Сейлботе существует ряд кнопок, которые работают только для бота в Telegram:
Поделиться;
Callback-кнопка;
Telegram WebApp (чтобы открыть мини-приложение в ТГ, например, с виджетом или сайтом);
Авторизация через Telegram;

Также в Telegram доступны и другие кнопки, например, оплаты, запросить номер телефона или геолокацию, отправить ссылку.
Кнопка "Поделиться"
При создании кнопки выбираете "Поделиться (только Telegram)" и заполняете поля (поле дополнительный текст необязательно):

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

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


После выбора получателя будет вставлена ссылка из строки “Поделиться ссылкой”, а также текст из строки “Дополнительный текст”.
Таким образом, можно передавать ссылки, в том числе на сообщения из каналов в телеграмм.
Внимание! На некоторых устройствах под управлением iOs может работать некорректно.
Кнопка для авторизации на сайте
Для работы этой кнопки требуется привязка бота к домену. Делается это через @BotFather.
Выберите бота в диалоге с @BotFather, далее Bot Settings

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

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


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

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

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

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

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

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

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

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

Важно!
В Telegram не поддерживается Callback-клавиатурные кнопки.
Обращаем внимание!
Если выбран тип кнопки "Колбек", то кнопка отобразится колбеком только в том случае, если текст кнопки будет отличаться от текста колбека.
Кнопка Telegram Web Application
Такая кнопка позволяет открыть сайт в виде веб-приложения в Telegram.

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

Указать ссылку через переменную удобно, если вам часто необходимо менять адрес страницы или сайта.
Например, укажите переменную в настройках проекта. Затем чтобы спустя какое-то время не искать, в каком именно блоке у вас находится кнопка с Веб-апп, достаточно будет поменять значение переменной в настройках проекта.
Можно указать прямую ссылку в настройках кнопки:

Как создать кнопки для использования в функциях 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:

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

Видео-инструкция "Код кнопок"
Как удалить 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. Автоматические действия отключаются и ответственность переходит в Ваши руки. Данное действие распространяется на все вновь созданные клавиатурные кнопки для телеграмм
Как сделать меню в 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}]

Результат:

Полезно знать
Обязательно соблюдайте последовательность: сначала reply кнопки, а потом inline. Иначе reply-кнопки пропадут со следующим блоком.
Last updated
Was this helpful?