Инлайн кнопки
Inline Keyboard - это клавиатура, прикрепленная к сообщению чата, ее можно использовать для взаимодействия с ботом вместо отправки сообщений (команд) с обычной клавиатуры нижнего меню.
3 инлайн кнопки под КАЖДЫМ сообщением доступно изначально в каждом боте. Количество инлайн кнопок под сообщением можно увеличить.
Функционал раздела «🧩Расширения»: если вам нужно больше 3-х инлайн кнопок под каждым сообщением.
Доп. Инлайн Кнопки
Для подключения перейдите в вашем боте:☞ 🔐Админ | 🧩Расширения | 📂Кнопки
❖ Что такое Инлайн Кнопки (клавиатура)
На данный момент в @MenuBuilderBot есть 3+1 - всего 4 типа инлайн кнопок:
● URLs (ссылки)
● Всплывающее окно
● Команды
● Веб-приложение URL (подключается отдельно - смотри ниже)
Веб-приложение URL - функционал раздела «🧩Расширения»: кнопки позволяют запускать страницы сайтов и веб-приложения внутри Telegram. Приложения и сайты запускаются во всплывающем окне.
Веб-приложение URL
Для подключения перейдите в вашем боте:☞ 🔐Админ | 🧩Расширения | 📂Веб-приложения
❖ Как добавить инлайн кнопки
1. Перейдите в «Редактор Постов» и создайте сообщение (так же как обычно) или используйте для этого уже готовое сообщение.
2. Зайдите в «Настройки сообщения» нажав на кнопку со звёздочкой ("*"):
3. Нажмите «➕ Инлайн Кнопка» чтобы добавить ПЕРВУЮ инлайн кнопку.
Так будет выглядеть создание ПЕРВОЙ кнопки сообщения. Если у сообщения уже есть кнопки под сообщением, то добавление новых буде происходить при помощи специального редактора (смотри ниже).
4. Выберите нужный режим.
5. Создайте сообщение из двух или нескольких строк (в зависимости от выбранного режима).
Первая строка ВСЕГДА будет заголовком кнопки.
Вторая и другие строки могут иметь разные значения в зависимости от режима в котором создается инлайн кнопка. Особенности второй строки для каждого из Режимов - смотри ниже.
Режимы инлайн кнопок
Режим 1: URL или Share кнопка.
Вторая строка должна содержать корректный адрес (URL). Например:
Корректные URL начинаются с:https://
http://
t.me/
Когда пользователь нажимает такую кнопку, то в зависимости от типа ссылки, будет открыт указанный в кнопке URL (для ссылок на внешние сайты), либо ему будет предложено поделиться ссылкой в чате по выбору (для внутренних "Share" ссылок Telegram).
Примеры share ссылок для рефералки:
Поделиться в Телеграм:https://t.me/share/url?url=%reflink%
Поделиться VK:https://vk.com/share.php?url=%reflink%
Поделиться Twitter:https://twitter.com/intent/tweet?url=%reflink%
Поделиться Однокласники:https://connect.ok.ru/offer?url=%reflink%
Поделиться Facebook:http://www.facebook.com/share.php?u=%reflink%
Где %reflink%
- макрос содержащий реферальную ссылку, может быть заменен на нужные вам данные.
Некоторые клиенты Телеграм поддерживают также добавление комментария к таким ссылкам:https://t.me/share/url?url=https://t.me/MenuBuilderBot&text=Конструктор+Ботов+в+Телеграм
Пробелы в комментарии нужно заменить знаками "+" плюс.
Режим 2: Всплывающее окно.
Вторая и остальные строки должны содержать текст (не более 200 символов) который будет показан во всплывающем окне. Например:
Когда речь идёт о "Строках" - имеется ввиду именно "перенос строк" - то есть строки начинающиеся с "Красной строки", а не просто одна длинна я строка.
Когда пользователь нажимает такую кнопку, указанный в ней текст будет показан в подобном всплывающем окне.
Режим 3: Команда.
Вторая строка должна содержать действующую команду назначенную какой-либо кнопке меню вашего бота (подробное руководство по командам по ссылке).
Кроме команд назначенных кнопкам, вы можете использовать команды:/home
для обращения к Главному Меню вашего бота.
/start
будет работать как обычная команда /start
отправленная боту.
Например:
Когда пользователь нажимает такую инлайн-кнопку, ему будут показаны сообщения кнопки с соответствующей командой.
Теперь вы знаете как создавать инлайн кнопки в каждом из режимов!
❖ Редактор инлайн кнопок
После создания первой инлайн кнопки под сообщением, работа с инлайн будет происходить при помощи специального редактора.
На картинке ниже, пример редактора и трёх созданных кнопок - по одной для каждого Режима работы инлайн.
Для того чтобы в редакторе можно было определить Режим в котором работает та или иная кнопка, к имени каждой из них добавлен специальный буквенный суффикс.[u]
- (URL) режим URL[d]
- (Dialog) режим Всплывающее Окно[c]
- (Command) режим Команда
● Режимом по умолчанию, при входе в настройки инлайн кнопок сообщения, будет режим «Добавить».
● Каждый Режим Редактора обозначается собственным символом в имени кнопки.
● Переключайтесь в соответствующий режим и выполняйте свойственные ему действия одним нажатием на нужную кнопку.
Режим редактора «Добавить»
Позволяет добавить новую кнопку к уже имеющимся.
● Для добавления новой кнопки Нажмите на одну из существующих.
● Новая Кнопка будет добавлена на строчку ниже по отношению к той кнопке на которую вы нажали для добавления.
● Новая кнопка займёт всю строчку.
Режим редактора «Двигать»
Позволяет передвигать кнопки в меню.
● При нажатии кнопка переместиться на одну позицию влево.
● Если кнопка находится в крайнем левом положении, то она переместится на одну строчку вверх.
● Переместившись на новую строку кнопка займёт всю строку.
Режим редактора «Удалить»
Позволяет удалять кнопки в меню.
● Нажмите на кнопку для удаления.
● Данные удалённой кнопки сохранятся в истории чата в виде сообщения.
Режим редактора «Изменить»
Позволяет изменить любые данные созданной кнопки.
● Нажмите на кнопку для редактирования.
● Изменять можно как Режим в котором работает кнопка так и её данные.
❖ Как удалить инлайн кнопку
Информацию о режиме редактора «Удалить» - смотри выше. Это дублирующая заметка для тех кому лень было прочитать весь документ хотя бы один раз.
• Перейдите в вашем боте:
☞ Редактор Постов.
• Нажмите кнопку нижнего меню содержащую сообщение, инлайн кнопку которого вы хотите удалить.
• Нажмите инлайн кнопку со звездочкой ( * ), под этим сообщением, для попадания в его Настройки.
• Перейдите в режим редактора «Удалить».
• Нажимите кнопку которую хотите удалить.
Если вы уже находитесь в редакторе инлайн кнопок и все кнопки помечены крестиком, то можно просто нажать на кнопку которую нужно удалить.
В сообщении об удалении будут показаны данные удалённой кнопки. При необходимости их можно скопировать и создать кнопку заново, внеся нужные изменения если таковые потребуются.
❖ Удаление инлайн меню и сообщений из истории чата
Сообщение с инлайн кнопками типа "Команда" можно удалять автоматически после того, как юзер кликнул на кнопку с командой. По умолчанию НЕ удаляется.
Функция сделана для того чтобы не смущать юзера неактуальными кнопками разбросанными в теле чата. Она позволяет автоматически удалять отработавшие меню (и сообщения к которым оно подцеплено), позволяя в последствии избежать нежелательных нажатий.
На момент написания руководства в боте доступно 3 типа инлайн кнопок: Url/Share, Всплывающее окно, Команда. Первые два типа кнопок при нажатии не вызывают появления дополнительных сообщений в чате с ботом, в то время как инлайн кнопки с Командой, в подавляющем большинстве случаев, содержат сообщения, появление которых в чате неизбежно вызывает "сползание" инлайн меню - делая его не актуальным, бесполезным или просто не удобным для использования.
Надо отметить что инлайн меню в Телеграм не может существовать само по себе - оно ОБЯЗАТЕЛЬНО должно быть подцеплено к какому-нибудь сообщению. При удалении инлайн меню, удаляться будет и сообщение к которому оно подцеплено.
В общем случае, сообщение это, описывает, поясняет или содержит данные изменяемые кнопками его инлайн меню и не имеет смысла без самого меню. Технически можно удалить инлайн меню не удаляя сообщения, однако такое поведение не является востребованным, потому из двух вариантов был выбран тот который выбран. )
Удаление инлайн меню работает в 2-х режимах:
1 - удалит само сообщение с инлайн.
2 - удалит само сообщение с инлайн и сообщение перед ним (любое предыдущее).
В некоторых случаях результат удаления бывает не предсказуемым, поэтому нужный вам режим чаще всего подбирается опытным путём.
Для настройки Удаления инлайн меню перейдите в вашем боте:
☞ 🔐Админ | ⚙️Настройки Бота
ЧАСТЫЙ ВОПРОС: Можно ли РЕДАКТИРОВАТЬ существующее сообщение вместо удаления?
ОТВЕТ: Не смотря на то что технически в Telegram есть такая возможность, в конструкторе делать это НЕЛЬЗЯ. Причина в том, что подобное редактирование возможно лишь при узком сочетании факторов. У вас должно быть одно и тоже количество сообщений на странице, все сообщения должны быть одного типа (нельзя заменить сообщение с текстом на сообщение с картинкой, а картинку на файл и т.д.) и ещё куча различных мелочей организационного характера - проверить сочетание которых заранее - невозможно. Связано это с тем, как устроено взаимодействие с сообщениями в Telegram и не имеет отношения к конструктору.
❖ Ошибки при работе с инлайн кнопками
ОШИБКА: Вы не пользовались ботом некоторое время и при нажатии на инлайн кнопку (или обычную нижнего меню) бот переносит вас в "Главное Меню".
ПРИЧИНА: Рабочая сессия бота завершается после 30 минут бездействия. При этом, в целях безопасности любые "закрытые" разделы бота (условием, капчей и д.р.) становятся недоступны. Попасть в них можно только снова пройдя весь путь через кнопку закрывающую вход. При этом если инлайн кнопка (или обычная кнопка нижнего меню) находится или ведет в такой "закрытый" раздел бот не позволит ей сработать пока вход в этот раздел юзером не будет снова осуществлён через кнопку фактически закрывающую вход.
РЕШЕНИЕ: Такое поведение бота является наиболее безопасным и изменение данной механики в ближайшее время не планируется. Решения как такового - нету.
• • •
ОШИБКА: Вы создали новую Inline-кнопку в режиме команды которая ведёт в глубь нижнего меню и она не показывает нужное сообщение.
ПРИЧИНА 1: Кнопка нижнего меню к которой обращается команда инлайн кнопки находится внутри "закрытой" зоны бота. Обращение к закрытой зоне извне не возможно. Это обеспечивает безопасность закрытых зон.
РЕШЕНИЕ: "Вынуть" (или продублировать) кнопку адресат из закрытой зоны бота, например в "Главное Меню" поставив на неё нужное условие. Саму кнопку нужно сделать скрытой от юзера - либо Админской, либо Невидимой.
ПРИЧИНА 2: У вас 2 кнопки с одинаковой командой (показана скорее всего будет более высокая кнопка в меню).
РЕШЕНИЕ: Посмотрите структуру меню Системной командой /showmenu
(из списка Системных Команд) и задайте кнопкам правильные команды.
• • •
ОШИБКА: Вы создали инлайн кнопку со сложным поведением (Макросами и Выражениями) и она не работает как предполагалось (неправильное Имя кнопки, не срабатывает команда).
ПРИЧИНА: Вы используете Макросы и Выражения в инлайн кнопках без соответствующих Расширений.
РЕШЕНИЕ 1: Для работы Макросов в Имени кнопки необходимо расширение «Макросы и Выражения Кнопок» (см. ниже)
РЕШЕНИЕ 2: Команда инлайн кнопки может подставлять Макросы, но для работы Выражений в команде кнопки необходимо расширение «Макросы и Выражения Кнопок» (см. ниже)
Для подключения перейдите в вашем боте и активируйте расширение.
4. Плагин «Макросы и Выражения Кнопок»☞ 🔐Админ | 🧩Расширения | 📂Кнопки
❖ Сообщения об ошибках
❌ Неизвестный код операции.
Вы добавили Inline кнопку с Командой и при попытке нажать на эту кнопку получается такое сообщение. Проверьте что ваша команда не начинается на одно из резервированных названий:/get_
❖ Дополнительная информация
Пакетное создание инлайн кнопок
Доступно для кнопок Share/URL
и Команд
. Опция расширяет возможности Редактора Инлайн Кнопок упрощая и ускоряя процесс создания новых кнопок. Все действия выполняются отправкой боту ОДНОГО сообщения.
Для пакетного создания инлайн конопок необходимо расширение:
Продвинутые Режимы Добавления Кнопок
Для подключения перейдите в свой бот:☞ 🔐Админ | 🧩Расширения | 📂Оптимизация