Skip to main content

Команды

Конструктор @MenuBuilderBot позволяет взаимодействовать с вашим ботом при помощи команд. Команды назначаются кнопкам нижнего меню, что позволяет использовать их сами по себе, а также для создания инлайн клавиатур.


Что такое команды


В Telegram, команды являются чем-то вроде "горячих клавиш" для некоторых функций. Синтаксис команд в Telegram - это любое слово на латинице начинающееся со "/" (slash). Числа и "_" нижние подчеркивания, также разрешены.
Например: /command, /command1, /command_1

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

Любая команда связана с какой-либо кнопкой нижнего меню. Когда пользователь отправляет команду, бот показывает ему все сообщения, присвоенные соответствующей кнопке или активирует добавленные в кнопку функции. Инлайн клавиатура (в режиме команды) в свою очередь связывается с определенной кнопкой нижнего меню посредством её команды.

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

Некоторые функции имеют собственные команды - эти команды указаны в руководствах по соответствующим функциям. Например: Руководство по Переменным, Руководство по Капче, Руководство по QnA чат, Руководство по Турбо Режиму и другие.

Суммируя всё выше сказанное: Любая, созданная вами, команда в @MenuBuilderBot должна быть привязана к какой-либо кнопке нижнего меню. Вызывать эту команду (обращаясь тем самым к содержимому или функционалу кнопки) можно как на прямую отправив эту команду боту, так и создав inline кнопку с этой командой.


Системные команды бота


Системные команды бота - это команды не привязанные к отдельным функциям, они работаю на уровне самого бота и обращаются к его функционалу, свойствам или настройкам.

Как и любые другие команды, они отправляются напрямую в чат с ботом. В общем случае Команда состоит из Имени, Параметров и Аргументов. Это означает что команда может содержать дополнительные параметры такие как Telegram ID или UserCode пользователя, а так же аргументы, такие как - текст или числа.

Список системных команд, доступных изначально для каждого, можно найти в руководстве по основным функциям.


Управление командами кнопок


Как добавить команду кнопке

Для управления командами зайдите в «Редактор Кнопок»:


e034ddcba4be8a9cc263f.jpg


Укажите нужную кнопку, нажав на нее, и откройте Настройки кнопки ( ✱ ):


d1831ded328005a08298f.jpg


Нажмите на кнопку «Назначить Команду»:


814e0ae6f4201fac52eb1.jpg


Вы получите интерфейс назначения команд:


e0fc458697a679d5db015.jpg


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

Для создания новой команды напишите ее в текстовом поле (2) и отправьте как сообщение боту.

Команда должна начинаться с символа “/” (Slash) и может содержать только:
• Латинские буквы
• Цифры
• Символ “_” (нижнее подчёркивание).

Например:
/help
/message5
/buy_01

Хотим обратить ваше внимание на то что, чисто технически, кнопкам можно добавлять ОДИНАКОВЫЕ команды, бот при этом покажет недвусмысленное предупреждение. Если после этого вы всё-таки решите оставить дубликат, то срабатывать по команде будет лишь одна из кнопок (скорее всего та которая находится выше в меню бота). Поэтому если ваш бот как-то неправильно реагирует на команду проверьте нету ли у вас двух одинаковых команд для разных кнопок. Посмотреть структуру меню можно, например, при помощи специальной команды из Списка Системных Команд.

И так, проверка на повтор команды при добавлении новой - не проводится... Причин для такого поведения несколько.
1. Во-первых это не наши проблемы 🤪.
2. Проведение проверки усложнит механику копирования кнопок (особенно если копируется целая ветка меню).
3. Иногда получается так что мы создаём новую кнопку и присваиваем ей свою команду, а только потом удаляем старую с той же командой. Такое поведение будет более удобным, чем отменять всё сделанное, чтобы сначала удалить команду в другой кнопке, а потом снова возвращаться к новой.

Если отправленная боту команда является корректной, вы увидите подтверждающее сообщение:


b7b982fd79c343529c634.jpg


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


460ec39f633f34b6dbe4c.jpg


Чтобы удалить созданную команду, используйте кнопку «Удалить команду».

Для подтверждения создания команды нажмите «Подтвердить».

Нажмите «Отмена» если передумали добавлять или изменять уже существующую команду.


5005cea1d3662a56c7854.jpg


Для завершения создания команды нажмите «Подтвердить» и выйдите из «Редактора Кнопок». Чтобы использовать команду просто отправьте её боту:


e2c83fcdd264b2fa7fa08.jpg


Как удалить команду

Удаление команды осуществляется в том же меню где и добавление. Описание процесса смотри выше.


На этом всё об управлении командами в @MenuBuilderBot, немного дополнительной информации смотри ниже.


❖ Если команды не работают

Если ваш бот не отвечает на команду /start, либо выдаёт ошибку при вводе любой другой команды, проверьте не используете ли вы кастомные шрифты. Иногда символы в кастомных шрифтах не соответствуют символам латинского алфавита. В примере ниже команда /start отправлена с использованием кастомных шрифтов:

IMG_20221201_221529.jpg

Вводите команды ТОЛЬКО при помощи английской клавиатуры.

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

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

Вы использовали одну из Зарезервированных Системных Команд:
• Все команды начинающиеся с /get

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


Как создать инлайн бота?

Конструктор позволяет создавать боты без нижнего меню - управляемые только командами или инлайн клавиатурой. На данный момент в @MenuBuilderBot нет способа добавлять команды без нижних кнопок. Для того чтобы скрыть кнопки с командами есть 2 способа.

Подробнее о создании инлайн кнопок.

Способ 1:

Переключить кнопку в режим «Только Админ». Это скроет саму кнопку от юзеров, однако сделает невозможным перемещение по такому меню при помощи команд, поскольку такая кнопка и все её меню будут являться админским и поэтому закрытым для юзера. Однако сообщения такой кнопки по прежнему могут быть показаны по команде. Смотрите тут: «Как сделать кнопку видимой только админам?»

Способ 2:

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


2bee7b44731e974fd5a1a.jpg


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


Как увидеть структуру меню и все команды кнопок?

Используйте команду:
/showmenu - позволяет увидеть все существующие команды и найти кнопки их содержащие.


Просто отправьте эту команду вашему боту чтобы увидеть всю структуру его меню.


Как создать Меню Команд и Добавить кнопки в Профиль бота

Telegram позволяет создавать пользовательское меню для Команд бота. Кроме того, для таких функций как «Помощь» и «Настройки» могут быть добавлены отдельные кнопки в профиле бота.

Screenshot_2024_01_16_13_48_27_860_org_telegram_messenger_edit.jpg

Screenshot_2024_01_16_13_49_01_627_org_telegram_messenger_edit.jpg

Подробности смотри в разделе «BotFather - возможности и функционал».