universal_bot-ts

CLI утилита umbot

Описание

CLI утилита umbot предназначена для быстрого создания и настройки новых проектов на базе umbot. Утилита позволяет:

Установка

# Глобальная установка
npm install -g umbot

# Или локальная установка в проекте
npm install umbot --save-dev

Использование

Базовый синтаксис

umbot <команда> [параметры]

Доступные команды

Команда Описание Параметры
create Создание нового проекта <project-name> или <config-file.json>
generateEnv Сгенерировать файл .env -

Создание проекта

Простое создание

umbot create my-bot-project

Создание с конфигурацией

umbot create config.json

Конфигурация проекта

Структура конфигурационного файла

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",
    "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 Режим сборки

Примеры использования

Создание простого бота

umbot create simple-bot

Создание викторины

{
    "name": "quiz-bot",
    "type": "quiz",
    "mode": "dev",
    "params": {
        "json": "./data",
        "error_log": "./logs",
        "isLocalStorage": true
    }
}
umbot create quiz-config.json

Лучшие практики

  1. Именование проектов:
    • Используйте понятные имена
    • Избегайте пробелов и специальных символов
    • Придерживайтесь kebab-case
  2. Конфигурация:
    • Храните конфигурацию в отдельных файлах
    • Не включайте чувствительные данные в репозиторий
    • Используйте разные конфигурации для разных окружений
  3. Структура проекта:
    • Следуйте рекомендуемой структуре
    • Размещайте файлы в соответствующих директориях
    • Документируйте нестандартные решения