Wiki
猫Auto-Generated Commands RU
English version: Auto-Generated-Commands
Это краткая русскоязычная версия страницы про автоматическую публикацию Telegram-команд. Полная и наиболее актуальная страница: Auto-Generated-Commands.
Что делает эта функция
Laniakea может пройтись по уже зарегистрированным командам плагинов, собрать подходящие команды и отправить их в Telegram через setMyCommands.
Для этого используются:
AutoGenerateCommands()AutoGenerateCommandsForScope(...)
Это удобно, потому что не нужно вручную поддерживать отдельный список команд вне кода плагинов.
Откуда берутся команды
Автогенерация работает только по уже зарегистрированным командам.
Учитывается:
- имя команды;
- описание команды;
- skip-флаги на уровне команды или плагина.
Не участвуют:
- обработчики данных callback;
- обработчики обновлений;
- команды, которые ты явно исключил из автогенерации.
Когда вызывать
Обычный порядок такой:
- создать bot;
- создать плагины;
- зарегистрировать команды;
- добавить плагины через
AddPlugins(...); - вызвать
AutoGenerateCommands()илиAutoGenerateCommandsForScope(...); - запустить bot.
Важно: AddPlugins(...) — это точка фиксации. Если ты меняешь плагин после регистрации, автогенерация не обязана увидеть эти изменения.
Ограничения Telegram
Для slash-команд Telegram накладывает свои правила:
- имя команды должно быть коротким;
- нельзя использовать произвольные символы;
- существует лимит на количество команд в одном наборе.
Поэтому автогенерация удобна, но не отменяет необходимости держать command names аккуратными и валидными.
Scope-based регистрация
Если нужно публиковать разные команды для разных аудиторий, используй AutoGenerateCommandsForScope(...).
Это полезно, когда:
- есть отдельный набор команд для админов;
- у бота есть разные user segments;
- хочется не засорять глобальный command list.
Skip controls
Если команду не нужно публиковать в Telegram command menu, ее можно исключить из автогенерации.
Это полезно для:
- внутренних технических commands;
- переходных миграционных команд;
- редко используемых служебных команд.
Рекомендации
- Вызывай автогенерацию после полной регистрации плагинов.
- Следи, чтобы descriptions были короткими и понятными.
- Не путай обработчики данных callback с обычными slash-командами.
Что читать дальше
Navigation
Start here
Runtime and Architecture
- Bot-Lifecycle
- Webhook-Runtime
- Middleware
- Runners
- Error-Handling
- Logging
- Update-Routing-Model
- Policies
- Scenes
Interaction and Telegram API
- Inline-Keyboards-and-Payloads
- Auto-Generated-Commands
- Drafts
- Rich-Messages
- Localization
- Rate-Limiting
- tgapi-Overview