Skip to main content

Инлайн кнопки

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

@MenuBuilderBot позволяет вам прикреплять инлайн кнопки к сообщениям бота. Это руководство поможет вам работать с инлайн кнопками (клавиатурой). В руководстве описаны типы инлайн кнопок и способы их использования.

3 инлайн кнопки под КАЖДЫМ сообщением доступно изначально в каждом боте. Количество инлайн кнопок под сообщением можно увеличить.

Функционал раздела «🧩Расширения»: если вам нужно больше 3-х инлайн кнопок под каждым сообщением.

Доп. Инлайн Кнопки
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Кнопки


Что такое Инлайн Кнопки (клавиатура)


На данный момент в @MenuBuilderBot есть 3+1 - всего 4 типа инлайн кнопок:
● URLs (ссылки)
● Всплывающее окно
● Команды
● Веб-приложение URL (подключается отдельно - смотри ниже)

IMG_20221116_083607.jpg


Веб-приложение URL - функционал раздела «🧩Расширения»: кнопки позволяют запускать страницы сайтов и веб-приложения внутри Telegram. Приложения и сайты запускаются во всплывающем окне.

Веб-приложение URL
Для подключения перейдите в вашем боте:
☞ 🔐Админ | 🧩Расширения | 📂Веб-приложения

Как добавить инлайн кнопки


1. Перейдите в «Редактор Постов» и создайте сообщение (так же как обычно) или используйте для этого уже готовое сообщение.

2. Зайдите в «Настройки сообщения» нажав на кнопку со звёздочкой ("*"):

IMG_20221116_084438.jpg


3. Нажмите «➕ Инлайн Кнопка» чтобы добавить ПЕРВУЮ инлайн кнопку.

IMG_20221116_083955.jpg


Так будет выглядеть создание ПЕРВОЙ кнопки сообщения. Если у сообщения уже есть кнопки под сообщением, то добавление новых буде происходить при помощи специального редактора (смотри ниже).

4. Выберите нужный режим.


IMG_20221116_084956.jpg


5. Создайте сообщение из двух или нескольких строк (в зависимости от выбранного режима).

Первая строка ВСЕГДА будет заголовком кнопки.
Вторая и другие строки могут иметь разные значения в зависимости от режима в котором создается инлайн кнопка. Особенности второй строки для каждого из Режимов - смотри ниже.

Режимы инлайн кнопок

Режим 1: URL или Share кнопка.

Вторая строка должна содержать корректный адрес (URL). Например:

IMG_20221116_103409.jpg


Корректные 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 символов) который будет показан во всплывающем окне. Например:

IMG_20221116_105228_056.jpg


Когда речь идёт о "Строках" - имеется ввиду именно "перенос строк" - то есть строки начинающиеся с "Красной строки", а не просто одна длинна я строка.

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

IMG_20221116_105621.jpg


Режим 3: Команда.

Вторая строка должна содержать действующую команду назначенную какой-либо кнопке меню вашего бота (подробное руководство по командам по ссылке).

Кроме команд назначенных кнопкам, вы можете использовать команды:
/home
для обращения к Главному Меню вашего бота.

/start
будет работать как обычная команда /start отправленная боту.

Например:

IMG_20221116_110530.jpg


Когда пользователь нажимает такую инлайн-кнопку, ему будут показаны сообщения кнопки с соответствующей командой.

Теперь вы знаете как создавать инлайн кнопки в каждом из режимов!


IMG_20221116_083607.jpg


❖  Редактор инлайн кнопок


После создания первой инлайн кнопки под сообщением, работа с инлайн будет происходить при помощи специального редактора.

На картинке ниже, пример редактора и трёх созданных кнопок - по одной для каждого Режима работы инлайн.


IMG_20221116_122802.jpg


Для того чтобы в редакторе можно было определить Режим в котором работает та или иная кнопка, к имени каждой из них добавлен специальный буквенный суффикс.
[u] - (URL) режим URL
[d] - (Dialog) режим Всплывающее Окно
[c] - (Command) режим Команда

● Режимом по умолчанию, при входе в настройки инлайн кнопок сообщения, будет режим «Добавить».
● Каждый Режим Редактора обозначается собственным символом в имени кнопки.
● Переключайтесь в соответствующий режим и выполняйте свойственные ему действия одним нажатием на нужную кнопку.


Режим редактора «Добавить»

Позволяет добавить новую кнопку к уже имеющимся.

● Для добавления новой кнопки Нажмите на одну из существующих.
● Новая Кнопка будет добавлена на строчку ниже по отношению к той кнопке на которую вы нажали для добавления.
● Новая кнопка займёт всю строчку.


Режим редактора «Двигать»

Позволяет передвигать кнопки в меню.

● При нажатии кнопка переместиться на одну позицию влево.
● Если кнопка находится в крайнем левом положении, то она переместится на одну строчку вверх.
● Переместившись на новую строку кнопка займёт всю строку.


Режим редактора «Удалить»

Позволяет удалять кнопки в меню.

● Нажмите на кнопку для удаления.
● Данные удалённой кнопки сохранятся в истории чата в виде сообщения.


Режим редактора «Изменить»

Позволяет изменить любые данные созданной кнопки.

● Нажмите на кнопку для редактирования.
● Изменять можно как Режим в котором работает кнопка так и её данные.


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


Информацию о режиме редактора  «Удалить» - смотри выше. Это дублирующая заметка для тех кому лень было прочитать весь документ хотя бы один раз.

• Перейдите в вашем боте:
☞ Редактор Постов.
• Нажмите кнопку нижнего меню содержащую сообщение, инлайн кнопку которого вы хотите удалить.
• Нажмите инлайн кнопку со звездочкой ( * ), под этим сообщением, для попадания в его Настройки.
• Перейдите в режим редактора «Удалить».
• Нажимите кнопку которую хотите удалить.

Если вы уже находитесь в редакторе инлайн кнопок и все кнопки помечены крестиком, то можно просто нажать на кнопку которую нужно удалить.

В сообщении об удалении будут показаны данные удалённой кнопки. При необходимости их можно скопировать и создать кнопку заново, внеся нужные изменения если таковые потребуются.

IMG_20221116_130814.jpg

Удаление инлайн меню и сообщений из истории чата


Сообщение с инлайн кнопками типа "Команда" можно удалять автоматически после того, как юзер кликнул на кнопку с командой. По умолчанию НЕ удаляется.

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

На момент написания руководства в боте доступно 3 типа инлайн кнопок: Url/Share, Всплывающее окно, Команда. Первые два типа кнопок при нажатии не вызывают появления дополнительных сообщений в чате с ботом, в то время как инлайн кнопки с Командой, в подавляющем большинстве случаев, содержат сообщения, появление которых в чате неизбежно вызывает "сползание" инлайн меню - делая его не актуальным, бесполезным или просто не удобным для использования.

Надо отметить что инлайн меню в Телеграм не может существовать само по себе - оно ОБЯЗАТЕЛЬНО должно быть подцеплено к какому-нибудь сообщению. При удалении инлайн меню, удаляться будет и сообщение к которому оно подцеплено.

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

Удаление инлайн меню работает в 2-х режимах:
1 - удалит само сообщение с инлайн.
2 - удалит само сообщение с инлайн и сообщение перед ним (любое предыдущее).

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

Для настройки Удаления инлайн меню перейдите в вашем боте:
☞ 🔐Админ | ⚙️Настройки Бота

ЧАСТЫЙ ВОПРОС: Можно ли РЕДАКТИРОВАТЬ существующее сообщение вместо удаления?
ОТВЕТ: Не смотря на то что технически в Telegram есть такая возможность, в конструкторе делать это НЕЛЬЗЯ. Причина в том, что подобное редактирование возможно лишь при узком сочетании факторов. У вас должно быть одно и тоже количество сообщений на странице, все сообщения должны быть одного типа (нельзя заменить сообщение с текстом на сообщение с картинкой, а картинку на файл и т.д.) и ещё куча различных мелочей организационного характера - проверить сочетание которых заранее - невозможно. Связано это с тем, как устроено взаимодействие с сообщениями в Telegram и не имеет отношения к конструктору.

Ошибки при работе с инлайн кнопками


ОШИБКА: Вы не пользовались ботом некоторое время и при нажатии на инлайн кнопку (или обычную нижнего меню) бот переносит вас в "Главное Меню".

ПРИЧИНА: Рабочая сессия бота завершается после 30 минут бездействия. При этом, в целях безопасности любые "закрытые" разделы бота (условием, капчей и д.р.) становятся недоступны. Попасть в них можно только снова пройдя весь путь через кнопку закрывающую вход. При этом если инлайн кнопка (или обычная кнопка нижнего меню) находится или ведет в такой "закрытый" раздел бот не позволит ей сработать пока вход в этот раздел юзером не будет снова осуществлён через кнопку фактически закрывающую вход.

РЕШЕНИЕ: Такое поведение бота является наиболее безопасным и изменение данной механики в ближайшее время не планируется. Решения как такового - нету.

• • •

ОШИБКА: Вы создали новую Inline-кнопку в режиме команды которая ведёт в глубь нижнего меню и она не показывает нужное сообщение.

ПРИЧИНА 1: Кнопка нижнего меню к которой обращается команда инлайн кнопки находится внутри "закрытой" зоны бота. Обращение к закрытой зоне извне не возможно. Это обеспечивает безопасность закрытых зон.
РЕШЕНИЕ: "Вынуть" (или продублировать) кнопку адресат из закрытой зоны бота, например в "Главное Меню" поставив на неё нужное условие. Саму кнопку нужно сделать скрытой от юзера - либо Админской, либо Невидимой.

ПРИЧИНА 2: У вас 2 кнопки с одинаковой командой (показана скорее всего будет более высокая кнопка в меню).
РЕШЕНИЕ: Посмотрите структуру меню Системной командой /showmenu (из списка Системных Команд) и задайте кнопкам правильные команды.

• • •

ОШИБКА: Вы создали инлайн кнопку со сложным поведением (Макросами и Выражениями) и она не работает как предполагалось (неправильное Имя кнопки, не срабатывает команда).

ПРИЧИНА: Вы используете Макросы и Выражения в инлайн кнопках без соответствующих Расширений.
РЕШЕНИЕ 1: Для работы Макросов в Имени кнопки необходимо расширение «Макросы и Выражения Кнопок» (см. ниже)
РЕШЕНИЕ 2: Команда инлайн кнопки может подставлять Макросы, но для работы Выражений в команде кнопки необходимо расширение «Макросы и Выражения Кнопок» (см. ниже)

Для подключения перейдите в вашем боте и активируйте расширение.
4. Плагин «Макросы и Выражения Кнопок»

☞ 🔐Админ | 🧩Расширения | 📂Кнопки

 

❖ Сообщения об ошибках

❌ Неизвестный код операции.

Вы добавили Inline кнопку с Командой и при попытке нажать на эту кнопку получается такое сообщение. Проверьте что ваша команда не начинается на одно из резервированных названий:
/get_

❖ Дополнительная информация


Пакетное создание инлайн кнопок

Доступно для кнопок Share/URL и Команд. Опция расширяет возможности Редактора Инлайн Кнопок упрощая и ускоряя процесс создания новых кнопок. Все действия выполняются отправкой боту ОДНОГО сообщения.

Для пакетного создания инлайн конопок необходимо расширение:

Продвинутые Режимы Добавления Кнопок
Для подключения перейдите в свой бот:
☞ 🔐Админ | 🧩Расширения | 📂Оптимизация