CLI утилита umbot предназначена для быстрого создания и настройки новых проектов на базе umbot. Утилита позволяет:
npx umbot <команда> [параметры]
| Команда | Описание | Параметры |
|---|---|---|
create |
Создание нового проекта | <project-name> или <config-file.json> |
generateEnv |
Сгенерировать файл .env | - |
| Флаг | Описание |
|---|---|
--minimal |
Создаёт минимальный рабочий проект (1 файл, без контроллера и конфигов). Подходит для быстрого старта или демонстрации. Работает только с типом default. |
--prod |
Создаёт production-готовый проект с Dockerfile, .github/workflows/deploy.yml, .env. |
💡 Важно: флаг
--minimalне применяется к типуquiz, так как викторина требует сложной логики и хранения состояния. Дляquizвсегда генерируется полная структура.
Для быстрого создания приложения, выполните следующую команду
npx umbot create my-bot-project
После выполнения команды, приложение успешно создастся, и останется только выполнить команду:
npm i
npm run build
npm start
Для быстрого создания приложения с дополнительными настройками, выполните следующую команду
npx umbot create config.json
После выполнения команды, приложение успешно создастся, и останется только выполнить команду:
npm i
npm run build
npm start
interface ProjectConfig {
// Название проекта (обязательное поле)
name: string;
// Тип проекта: "default" или "quiz"
type?: 'default' | 'quiz';
// Режим работы: "prod", "dev", "dev-online", "build"
mode?: 'prod' | 'dev' | 'dev-online' | 'build';
// Конфигурация базы данных
config?: DatabaseConfig[];
// Параметры приложения
params?: AppParams[];
// Путь для создания проекта
path?: string;
// Имя хоста на котором будет запущено приложение. По умолчанию localhost
hostname?: string;
// Порт на котором будет запущено приложение. По умолчанию 3000
port?: string;
// Определяет нужно создавать .env файл или нет
isEnv?: boolean;
}
{
"name": "my-quiz-bot",
"type": "quiz",
"mode": "dev",
"path": "./bots/quiz",
"config": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true,
"db": {
"host": "",
"user": "",
"pass": "",
"database": ""
},
"tokens": {
"alisa": {
"token": "token"
}
}
},
"isEnv": true
}
| Тип | Описание | Особенности |
|---|---|---|
default |
Базовый шаблон | Минимальная структура проекта |
quiz |
Шаблон викторины | Готовая структура для создания викторин |
| Режим | Описание |
|---|---|
prod |
Продакшн режим |
dev |
Режим разработки |
dev-online |
Режим разработки с онлайн обновлением |
build |
Режим сборки |
umbot create simple-bot
{
"name": "quiz-bot",
"type": "quiz",
"mode": "dev",
"config": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true
}
}
umbot create quiz-config.json
Именование проектов:
Конфигурация:
Структура проекта: