Команды в Телеграм-ботах
Самый частый сценарий взаимодействия с ботом — через команды. Команды начинаются на «/» и состоят из латинских букв, цифр и подчёркиваний.
Команды подсвечиваются как ссылки: можно нажать на команду, чтобы отправить её.
Аргументы команд
Конечно, вы можете просить пользователя добавлять после команды некоторый текст: например, /weather London
Тем не менее в Телеграме неудобно вводить команду с дополнительным текстом.
Обычно, как только пользователь выбирает команду из вариантов, он сразу её отправляет. Чтобы дополнить команду по подсказке, не отправляя её, в десктопном приложении ему надо будет нажать tab, а в мобильных — зажать подсказку. Но, конечно, многие пользователи об этом не знают.
Телеграм рекомендует реализовывать как можно более конкретные команды, чтобы их можно было использовать без аргументов: /weather_london
.
Если это не помогает, можете рассмотреть другие варианты общения пользователя с ботом. Для выбора из нескольких вариантов подойдут кнопки или инлайн-режим. Если боту нужна какая-то дополнительная информация от пользователя, то он может попросить её отдельным сообщением.
Подсказки команд
Разработчик бота может указать в BotFather подсказки команд с короткими описаниями. Тогда, вводя команду в чат, пользователь увидит меню автодополнения.
Если у бота включены подсказки, то в личных чатах и группах с этим ботом рядом с кнопкой «Отправить» у пользователей появляется кнопка «Меню», открывающая подсказки.
Если в подсказках команд есть /help
, в профиле бота появляется кнопка «Помощь с ботом», которая отправляет эту команду. Аналогично, если есть /settings
, то появляется кнопка «Настройки бота», а если /privacy
, то кнопка «Политика конфиденциальности».
Подсказки команд можно настраивать не только в BotFather, но и с помощью API. Таким образом бот может показывать разные меню команд для разных пользователей и групп. Также меню команд может зависеть от языка пользователя (это удобно для того, чтобы показывать описания команд на языке пользователя) и от того, является ли участник группы админом (например, команды для модерации группы).
Команды в группах
В группах, чтобы различать команды от разных ботов, Телеграм предлагает ставить в конце команды юзернейм бота. Например: /start@examplebot
Если нажать на команду в сообщении от бота, она отправится с добавленным юзернеймом бота.
Бот не увидит команды, на конце которых стоит юзернейм другого бота.