UNPKG

umbot

Version:

Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф

192 lines (191 loc) 5.03 kB
/** * Интерфейс конфигурации окружения * Определяет структуру переменных окружения для приложения * * @remarks * Все поля являются опциональными и могут быть определены в файле .env * * @example * ```ts * // Пример файла .env * TELEGRAM_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 * VK_TOKEN=vk1.a.1234567890abcdef * DB_HOST=localhost * DB_USER=root * DB_PASSWORD=secret * DB_NAME=myapp * ``` */ export interface IEnvConfig { /** * Токен для Telegram Bot API * Используется для авторизации бота в Telegram * * @example * ```ts * TELEGRAM_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 * ``` */ TELEGRAM_TOKEN?: string; /** * Токен для VK API * Используется для авторизации в VK API * * @example * ```ts * VK_TOKEN=vk1.a.1234567890abcdef * ``` */ VK_TOKEN?: string; /** * Токен подтверждения для VK Callback API * Используется для верификации запросов от VK * * @example * ```ts * VK_CONFIRMATION_TOKEN=abcdef123456 * ``` */ VK_CONFIRMATION_TOKEN?: string; /** * Токен для Viber API * Используется для авторизации в Viber API * * @example * ```ts * VIBER_TOKEN=1234567890abcdef * ``` */ VIBER_TOKEN?: string; /** * Токен для Яндекс.Диалоги (Алиса) * Используется для авторизации в API Яндекс.Диалогов * * @example * ```ts * YANDEX_TOKEN=1234567890abcdef * ``` */ YANDEX_TOKEN?: string; /** * Токен для Маруси * Используется для авторизации в API Маруси * * @example * ```ts * MARUSIA_TOKEN=1234567890abcdef * ``` */ MARUSIA_TOKEN?: string; /** * Токен для Max * Используется для авторизации в API MAX * * @example * ```ts * MAX_TOKEN=1234567890abcdef * ``` */ MAX_TOKEN?: string; /** * Токен для Сбер SmartApp * Используется для авторизации в API Сбер SmartApp * * @example * ```ts * SMARTAPP_TOKEN=1234567890abcdef * ``` */ SMARTAPP_TOKEN?: string; /** * Адрес сервера базы данных * * @remarks * Может быть указан как: * - localhost * - IP-адрес * - доменное имя * * @example * ```ts * DB_HOST=localhost * DB_HOST=127.0.0.1 * DB_HOST=db.example.com * ``` */ DB_HOST?: string; /** * Имя пользователя для подключения к базе данных * * @example * ```ts * DB_USER=root * ``` */ DB_USER?: string; /** * Пароль для подключения к базе данных * * @remarks * Рекомендуется использовать сложные пароли * и хранить их в безопасном месте * * @example * ```ts * DB_PASSWORD=my_secure_password * ``` */ DB_PASSWORD?: string; /** * Название базы данных * * @example * ```ts * DB_NAME=myapp * ``` */ DB_NAME?: string; } /** * Статус загрузки конфигурации */ export interface IEnvConfigStatus { /** * Флаг успешности загрузки */ status: boolean; /** * Ошибка загрузки */ error?: string; /** * Данные конфигурации */ data?: IEnvConfig; } /** * Загружает переменные окружения из файла .env * * @param {string} envPath - Путь к файлу .env * @returns {IEnvConfig} Объект с переменными окружения * * @remarks * Функция: * - Читает файл .env * - Парсит строки формата KEY=VALUE * - Игнорирует пустые строки и комментарии * - Удаляет кавычки из значений * * @example * ```ts * // Загрузка конфигурации * const config = loadEnvFile('.env'); * * // Использование значений * const telegramToken = config.TELEGRAM_TOKEN; * const dbHost = config.DB_HOST; * ``` * * @throws {Error} Если файл не найден или не может быть прочитан */ export declare function loadEnvFile(envPath: string): IEnvConfigStatus;