umbot
Version:
Универсальная библиотека для создания чат-ботов и голосовых навыков с единой бизнес-логикой для различных платформ (ВКонтакте, Telegram, Viber, MAX, Яндекс.Алиса, Маруся, Сбер (SmartApp)) | (Universal framework for creating chatbots and voice skills with
168 lines (126 loc) • 5.21 kB
Markdown
CLI утилита umbot предназначена для быстрого создания и настройки новых проектов на базе umbot. Утилита позволяет:
- Создавать новые проекты по шаблонам
- Настраивать конфигурацию проекта
- Генерировать базовую структуру приложения
```bash
npm install -g umbot
npm install umbot --save-dev
```
```bash
npx umbot <команда> [параметры]
```
| Команда | Описание | Параметры |
| ------------- | ----------------------- | ----------------------------------------- |
| `create` | Создание нового проекта | `<project-name>` или `<config-file.json>` |
| `generateEnv` | Сгенерировать файл .env | - |
```bash
umbot create my-bot-project
```
```bash
umbot create config.json
```
```typescript
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;
}
```
```json
{
"name": "my-quiz-bot",
"type": "quiz",
"mode": "dev",
"path": "./bots/quiz",
"params": {
"viber_token": "token"
},
"config": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true,
"db": {
"host": "",
"user": "",
"pass": "",
"database": ""
}
},
"isEnv": true
}
```
| Тип | Описание | Особенности |
| --------- | ---------------- | --------------------------------------- |
| `default` | Базовый шаблон | Минимальная структура проекта |
| `quiz` | Шаблон викторины | Готовая структура для создания викторин |
| Режим | Описание |
| ------------ | ------------------------------------- |
| `prod` | Продакшн режим |
| `dev` | Режим разработки |
| `dev-online` | Режим разработки с онлайн обновлением |
| `build` | Режим сборки |
```bash
umbot create simple-bot
```
```json
{
"name": "quiz-bot",
"type": "quiz",
"mode": "dev",
"config": {
"json": "./data",
"error_log": "./logs",
"isLocalStorage": true
}
}
```
```bash
umbot create quiz-config.json
```
1. **Именование проектов**:
- Используйте понятные имена
- Избегайте пробелов и специальных символов
- Придерживайтесь kebab-case
2. **Конфигурация**:
- Храните конфигурацию в отдельных файлах
- Не включайте чувствительные данные в репозиторий
- Используйте разные конфигурации для разных окружений
3. **Структура проекта**:
- Следуйте рекомендуемой структуре
- Размещайте файлы в соответствующих директориях
- Документируйте нестандартные решения