Кнопки меню — это постоянные кнопки внизу чата, под полем ввода. Когда подписчик нажимает такую кнопку,
Telegram не сообщает боту, какая именно это была кнопка. Он просто отправляет от имени подписчика
обычное сообщение — с тем же текстом, что написан на кнопке. Выглядит это так, будто человек сам
напечатал «Каталог» и нажал «Отправить».
Бот получает этот текст, ищет в текущем меню кнопку с таким названием и выполняет то, что для неё
настроено. Поэтому название кнопки — это и есть её адрес: по нему бот находит, что делать.
Раз бот узнаёт кнопку только по тексту, две кнопки с одинаковым текстом для него неразличимы. Он получает
одно и то же сообщение и не может понять, какую из двух нажали. Подписчик нажимает одну, а сработать может другая.
Ловушка в том, что названия могут отличаться только заглавными и строчными буквами — и на глаз
кажутся разными кнопками. Настоящий пример из практики: в одном меню стояли
«Запись на консультацию»
Переход в рубрику с формой записи
«запись на консультацию»
Запрос номера телефона
Владелец нажимал первую — и ничего не происходило. Для бота это были два одинаковых сообщения.
Что делать: дайте кнопкам разные названия, по смыслу. Например, «Записаться» и «Оставить телефон».
Эмодзи — часть названия: «📞 Связаться» и «Связаться» — это уже разные кнопки.
Панель подсказывает сама: если в меню есть кнопки с одинаковым названием, у обеих в списке появляется
жёлтая пометка «одинаковое название», а в редакторе кнопки — предупреждение. Сохранить всё равно можно,
но лучше сразу переименовать.
Одинаковые названия в разных меню — не проблема: подписчик видит одно меню за раз, и бот ищет кнопку только в нём.
Самый частый тип кнопки меню — «Переход в рубрику». После нажатия бот запускает выбранную рубрику
с первого действия: отправляет сообщение, задаёт вопрос, показывает кнопки — всё, что вы туда положили.
Если в рубрике пока нет ни одного действия, запускать нечего. Подписчик нажмёт кнопку и не увидит ничего —
ни ответа, ни ошибки. Со стороны это выглядит так, будто бот сломался.
При этом пустая рубрика — нормальная ситуация, пока бот в разработке: вы завели кнопку и рубрику заранее,
а содержимое добавите позже. Поэтому панель ничего не запрещает, а только напоминает:
- в разделе «Меню» у такой кнопки стоит пометка «рубрика пуста», а в списке рубрик выбора — «(пусто)»;
- в списке рубрик у пустой рубрики, в которую уже ведёт кнопка или действие, — пометка «пусто» с подсказкой, откуда туда попадают;
- пустая рубрика, в которую пока ничего не ведёт, считается заготовкой и не помечается.
Перед запуском добавьте в каждую такую рубрику хотя бы одно действие — например, «Сообщение» с текстом
или формой записи. Из редактора кнопки в рубрику ведёт ссылка «Перейти к рубрике».
В прежней версии панели самый простой тип кнопки меню назывался «Обычная». В новой панели это
«Переход в рубрику» — тип тот же, поменялось только название. Все старые кнопки «Обычная»
работают как прежде и в списке отображаются как «Переход в рубрику».
- 1
У каждой кнопки в меню своё название — не совпадают даже с точностью до заглавных букв.
- 2
Каждая кнопка «Переход в рубрику» ведёт в рубрику, где есть хотя бы одно действие.
- 3
Вы сами нажали каждую кнопку в Telegram и получили то, что ждали.
- 4
Жёлтых пометок «рубрика пуста» и «одинаковое название» в разделе «Меню» не осталось.
Кнопка работает не так, как ожидали, — напишите в поддержку из панели и укажите название кнопки: посмотрим, что получил бот.
Меню, рубрики, вопросы подписчику, запись и оплата — всё собирается в конструкторе, без кода.