Мини-гайд по командам Телеграм-ботов
Самый частый сценарий взаимодействия с ботом — через команды. Команды начинаются на «/» и состоят из латинских букв, цифр и подчёркиваний.
Команды подсвечиваются как ссылки: можно нажать на команду, чтобы отправить её.

Аргументы команд
Конечно, вы можете просить пользователя дописывать после команды некоторый текст, например /weather London.
Но тут есть проблема: когда пользователь нажимает на команду из автодополнения, Телеграм сразу отправляет её без возможности что-то дописать. Чтобы добавить аргументы и не отправить команду сразу, в десктопном приложении нужно нажать tab, а в мобильном — зажать подсказку. Большинство пользователей про это не знает.
Поэтому Телеграм рекомендует делать как можно более конкретные команды без аргументов, например /weather_london.
Если это вам не подходит, рассмотрите альтернативы:
- Кнопки или инлайн-режим, когда нужно выбрать один из вариантов
- Следующее сообщение как уточняющий вопрос, когда нужно собрать дополнительную информацию
Списки команд
В BotFather можно задать список команд с короткими описаниями. Когда пользователь начинает вводить команду, он увидит их в меню автодополнения.

Пользователи также видят кнопку «Меню» в чатах с ботом — она открывает то же меню автодополнения.
Некоторые команды получают дополнительное оформление: /help добавляет в профиль бота кнопку «Помощь с ботом», /settings добавляет кнопку «Настройки», а /privacy — кнопку «Политика конфиденциальности».
Списки команд можно настраивать не только в BotFather, но и через API. Это позволяет:
- Показывать разные меню разным пользователям и группам
- Локализовать описания команд под язык пользователя
- Показывать админские команды только администраторам группы
Команды в группах
Если в группе несколько ботов, к команде нужно добавлять юзернейм бота, чтобы было понятно, кому она адресована: /start@examplebot.
Если пользователь нажимает на команду в сообщении от бота, Телеграм автоматически добавляет к ней юзернейм этого бота.
Ваш бот не увидит команды, которые заканчиваются на юзернейм другого бота.
