Настроить меню бота
Действие блок-схемы «Настроить меню бота» управляет меню бота в Telegram: списком команд (то, что появляется после ввода «/» и в кнопке «Меню»), кнопкой меню слева от поля ввода и описанием бота. Настройку можно сделать для всех сразу или для конкретного пользователя — например, после покупки открыть клиенту команду «Мой кабинет».
Действие находится в каталоге действий блок-схемы: вкладка «Интеграции», раздел «Телеграм».
Оглавление
Что можно настроить
Поле «Что настроить»:
- «Команды бота» — задать список команд для выбранной аудитории.
- «Удалить команды» — убрать список, заданный для выбранной аудитории. Тогда пользователи увидят более общий список (см. ниже).
- «Кнопка меню» — что открывает кнопка слева от поля ввода: список команд или мини-приложение.
- «Описание бота» — тексты, которые видны до нажатия «Старт» и в профиле бота.
Действие меняет настройки бота, а не отправляет сообщение: его можно запускать один раз (например, отдельной блок-схемой) или для каждого пользователя в нужный момент.
Команды бота
| Поле |
Зачем |
| «Команды» |
Одна команда на строку в формате /команда - описание, например /start - Запустить бота. В новом блоке поле уже заполнено примером: /start - Запустить бота и /menu - Меню — поправьте под себя. Команда — латинские буквы, цифры и _, до 32 символов (заглавные буквы станут строчными). Описание обязательно, до 256 символов. Всего до 100 команд. |
| «Для кого» |
«Всем по умолчанию», «Во всех личных чатах», «Во всех группах», «Админам всех групп», «Только в этом чате», «Админам этой группы», «Участнику этой группы». Три последних варианта относятся к чату, где запущена блок-схема. |
| «ID участника» |
Для «Участнику этой группы». Пусто — текущий пользователь блок-схемы. |
| «Язык (необязательно)» |
Код из двух букв, например ru или en. Тогда список покажется только пользователям с этим языком приложения Telegram. Пусто — всем. |
Как обработать команду: нажатие на команду отправляет боту обычное сообщение с текстом команды (/help) — реагируйте на него событием входящего сообщения с условием по тексту.
Какое меню увидит пользователь
Telegram показывает самый точный из заданных списков и не объединяет их. Порядок проверки:
- В личном чате с ботом: «Только в этом чате» → «Во всех личных чатах» → «Всем по умолчанию».
- В группе: «Участнику этой группы» → «Админам этой группы» (только для админов) → «Только в этом чате» → «Админам всех групп» (только для админов) → «Во всех группах» → «Всем по умолчанию».
На каждом уровне сначала ищется список на языке пользователя, затем без языка.
Отсюда частая проблема: если когда-то задали меню для конкретного чата или для «Во всех личных чатах», то изменения в «Всем по умолчанию» эти пользователи не увидят. Чтобы вернуть общее меню, удалите более точный список режимом «Удалить команды» с той же аудиторией и тем же языком.
Кнопка меню
| Поле |
Зачем |
| «Кнопка меню» |
«Список команд» — кнопка открывает команды. «Открыть мини-приложение» — кнопка с вашим текстом открывает веб-приложение. «По умолчанию» — вернуть стандартное поведение. |
| «Текст кнопки» и «Ссылка на мини-приложение» |
Для мини-приложения. Ссылка — только https://. |
| «Для кого» |
«Для всех» — кнопка по умолчанию у всех пользователей. «Только для текущего пользователя (личка)» — кнопка в личном чате этого пользователя с ботом; персональная кнопка важнее общей. |
Описание бота
| Поле |
Зачем |
| «Изменить описание» и «Описание» |
Текст на пустом экране чата до нажатия «Старт», до 512 символов. Пустое поле очищает описание. |
| «Изменить короткое описание» и «Короткое описание» |
Текст в профиле бота и в превью ссылки на бота, до 120 символов. |
| «Язык (необязательно)» |
Описание только для пользователей с этим языком Telegram. |
Отметьте галочкой, что именно менять: неотмеченное останется как было.
Ошибки
Текст ошибки доступен в {var:error.message}.
Commands list is empty — поле «Команды» пустое.
Command /… has no description — у команды нет описания.
Wrong command line: … — строку не удалось разобрать: проверьте формат /команда - описание.
Too many commands: … — больше 100 команд.
A personal menu button works in a private chat only — персональная кнопка задаётся только в личном чате с ботом.
Mini app button needs a text and an https:// link — не заполнены текст или ссылка мини-приложения.
- Ошибки с текстом от Telegram (начинаются с
Bad Request) — например, недопустимые символы в команде.
Что делать, если…
| Симптом |
Причина и что сделать |
| Поменяли команды «Всем по умолчанию», а у пользователя старое меню |
Для него задан более точный список (этот чат или все личные чаты). Удалите его режимом «Удалить команды». Также Telegram может обновить меню у пользователя с задержкой — перезапустите приложение. |
| Меню разное у пользователей с разным языком |
Где-то задан список с языком. Удалите его режимом «Удалить команды» с тем же языком или задайте списки для каждого языка. |
| Кнопка мини-приложения не появилась у одного пользователя |
Для него задана персональная кнопка, она важнее общей. Задайте ему «По умолчанию» с «Только для текущего пользователя». |