umbot
    Preparing search index...
    • Единая точка входа для запуска бота — «из коробки» без boilerplate-кода.

      ЗАЧЕМ ЭТО НУЖНО? Вместо ручной инициализации (5-7 строк):

      const bot = new Bot();
      bot.setAppConfig(config.appConfig || {});
      bot.setPlatformParams(config.appParam);
      bot.initBotController(config.controller);
      bot.setAppMode('strict_prod');
      bot.start(hostname, port);

      Достаточно одного вызова:

      run(config, 'prod', '0.0.0.0', 8080);
      

      КОГДА ИСПОЛЬЗОВАТЬ:

      • Стандартные сценарии запуска (локальная разработка, тестирование, продакшн)
      • Когда используется встроенный HTTP-сервер фреймворка(node:http.Server)

      КОГДА НЕ ИСПОЛЬЗОВАТЬ:

      • Нужен кастомный HTTP-сервер (Express, Fastify)
      • Требуется сложная логика инициализации (асинхронная загрузка конфига и т.п.)

      Parameters

      • config: IConfig

        — конфигурация бота (контроллер, параметры, плагины)

      • mode: TMode = 'prod'

        — режим работы ('dev' для консольных тестов, 'dev-online' для webhook-тестов, 'prod' для продакшна)

      • hostname: string = 'localhost'

        — хост (по умолчанию 'localhost')

      • port: number = 3000

        — порт (по умолчанию 3000)

      Returns Promise<void> | Server<typeof IncomingMessage, typeof ServerResponse>

      В зависимости от режима: результат тестов (dev) или промис запуска сервера (dev-online/prod)

      // Запуск в режиме разработки
      run({
      appConfig: { ... },
      appParam: { ... },
      controller: MyController,
      testParams: { ... }
      }, 'dev');

      // Запуск в продакшн режиме
      run({
      appConfig: { ... },
      appParam: { ... },
      controller: MyController
      }, 'prod');