Кнопки в Telegram
Last updated
Last updated
Рекомендуем ознакомиться со статьей "Кнопки" в разделе "Основы ботостроения на Salebot.pro"
В Telegram можно использовать как Reply-кнопки (обычные или клавиатурные), так и Inline-кнопки (кнопки в тексте).
Информация об ограничениях: - Reply-кнопки (обычные или клавиатурные) до 12 штук в строке - Inline-кнопки до 8 штук в строке
Также помните, что ТЕКСТ в кнопке ограничен 32 символами и что кнопке НЕЛЬЗЯ задать цвет.
Создаете блок с 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-кнопки пропадут со следующим блоком.
Кнопка только для телеграмма. При создании кнопки выбираете "Поделиться (только Telegram)" и заполняете поля (поле дополнительный текст необязательно):
При нажатии на получившуюся кнопку будет предложено выбрать кому из списка контактов переслать информацию.
После выбора получателя будет вставлена ссылка из строки “Поделиться ссылкой”, а также текст из строки “Дополнительный текст”.
Таким образом, можно передавать ссылки, в том числе на сообщения из каналов в телеграмм.
Внимание! На некоторых устройствах под управлением iOs может работать некорректно.
Для работы этой кнопки требуется привязка бота к домену. Делается это через @BotFather.
Выберите бота в диалоге с @BotFather, далее Bot Settings
Далее переходим в пункт Domain -> Set Domain
Вам будет предложено установить домен для бота.
Как это сделать правильно? Отвечаем:
Укажите домен salebot.pro или
Свой домен, если он подключен к минилендингу
После того, как все приготовления готовы, можно создать кнопку:
В поле Текст впишите текст для надписи на кнопке в поле Ссылка - url-адрес страницы, на которой будет реализована авторизация.
Остальные поля будут нужны, если для авторизации будет использоваться отдельный бот (требуется получить разрешение на отправку сообщений для этого бота): в частности, потребуется указание имени бота. Если нужна возможность отправлять сообщения от указанного бота, то обязательно поставьте галочку для “Запросить разрешение у пользователя на отправку сообщений от бота”.
Callback-кнопка - это кнопки с обратной связью, когда клиент видит одно, а в бот мы получаем нужный нам callback для запуска какого-либо блока воронки.
Создать ее довольно просто: в поле Кнопки нажмите на кнопку Добавить кнопку. В открывшейся форме введите текст, укажите тип - Callback-кнопка (Вконтакте, Telegram) и введите текст Callback, который должен вернуться при клике на кнопку.
Визуально кнопка выглядит как обычная inline-кнопка:
В карточке клиента после клика по кнопке Вы увидите настроенный Callback:
ВАЖНО! В Telegram не поддерживается Callback-клавиатурные кнопки.
Обращаем внимание!
Если выбран тип кнопки "Колбек", то кнопка отобразится колбеком только в том случае, если текст кнопки будет отличаться от текста колбека.
Такая кнопка позволяет открыть сайт в виде веб-приложения в Telegram.
При добавлении кнопки укажите текст, тип кнопки Telegram Web Applications и ссылку на сайт, который следует открыть в виде веб-приложения
Вот так это выглядит в боте:
Для большинства довольно сложно освоить API ботов Telegram и потом использовать их при создании клавиатуры, но специально для новичков есть способ проще. Вы можете просто использовать в своих нуждах генерируемый в расширенных настройках кнопок код. Для этого перейдите в форме настройки блоков в правой части экрана конструктора воронок и выберите раздел Кнопки. Добавьте все необходимые кнопки.
Код созданных кнопок Вы найдете при клике на Расширенные настройки в поле Расширенные настройки кнопки:
После этого скопируйте все из расширенных настроек кнопок (предварительно можете проверить работу кнопок прямо из этого блока) в переменную, не забыв поместить все скопированное между одинарных кавычек, и передайте переменную в функцию в параметре reply_markup.
buttons='[{"line":0,"index_in_line":0,"text":"111","type":"inline","callback":"qwerty1"},{"line":0,"i ndex_in_line":1,"text":"222","type":"inline","callback":"qwerty2"},{"line":1,"index_in_line":0,"tex t":"333","type":"inline","callback":"qwerty3"}]' tg_send_message(platform_id, "123", "", buttons)
В результате получите кнопки в том виде, в каком задавали их в расширенных настройках кнопок.
Обычно кнопки удаляются сами, но бывают исключения.
Для удаления зависших кнопок Reply (клавиатурные кнопки) воспользуйтесь следующим кодом: {"buttons":[],"one_time":true}
Данный код следует разместить в расширенных настройках кнопок:
ВНИМАНИЕ! Данную возможность рекомендуем использовать только продвинутым пользователям
Для получения возможности использовать клавиатурные кнопки (reply) как постоянное меню Телеграм достаточно присвоить любое значение переменной tg_permanent_reply_buttons (переменная объявляется константой проекта).
Краткое описание действия включения tg_permanent_reply_buttons:
Задавая среди своих переменных tg_permanent_reply_buttons, Вы говорите о своем желании получить полный контроль над кнопками типа reply. Автоматические действия отключаются и ответственность переходит в Ваши руки. Данное действие распространяется на все вновь созданные клавиатурные кнопки для телеграмм
Для возвращения возможности скрывать reply-клавиатуру удалите переменную tg_permanent_reply_buttons и reply-кнопки, созданные пока данная переменная была в настройках проекта.
Как сделать такое меню в Telegram:
Сделать такое меню может тот, кто создавал Telegram-бота.
Для этого нужно написать в Botfather в Телеграм.
Вводите команду /mybots , открывается список ваших ботов. Выбираете нужный. У вас открывается меню. Здесь нужно выбрать Edit Bot, а затем Edit Commands
Далее одним сообщением вводите команды и описание к ним. Название команд прописывается строчными буквами. Вам придет сообщение, что список команд обновлен.
Далее переходите в Salebot, открываете проект, к которому подключен этот телеграм-бот.
Создаете блоки "Первостепенная проверка условия" или "Не состояние с условием", в условиях прописываете команды, а в поле "Текст сообщения" — тексты, которые будут приходить в ответ.
Пример: