Конфигурация приложения
Определяет режим работы приложения
Менеджер регистрации команд, шагов и событий (CommandReg).
Сами команды — через геттер command.commands, шаги — command.steps.
Информация по подключению к базе данных.
Optionaladapter?: IDatabaseAdapterАдаптер для работы с базой данных
OptionaldatabaseInfo?: TDbInfoДанные, необходимые адаптеру для работы
OptionalisSendConnect?: booleanФлаг, определяющий, успешно ли подключился метод connect адаптера базы данных
Кастомный HTTP-клиент для выполнения всех исходящих запросов фреймворка.
По умолчанию используется глобальный fetch.
Вы можете заменить его на любой совместимый клиент (например, axios, undici, got),
реализующий интерфейс:
(input: RequestInfo, init?: RequestInit) => Promise<Response>
Это позволяет:
const bot = new Bot();
const ctx = bot.getAppContext();
ctx.httpClient = async (url, options) => {
// добавляем таймаут 5 сек
const controller = new AbortController();
const id = setTimeout(() => controller.abort(), 5000);
try {
const res = await fetch(url, { ...options, signal: controller.signal });
clearTimeout(id);
return res;
} catch (e) {
clearTimeout(id);
throw e;
}
};
Параметры приложения
Список подключенных платформ
Список подключенных плагинов
Получение всех зарегистрированных команд
Получение всех зарегистрированных команд, которые распределены по группам. В группу добавляются только команды с регулярными выражениями. Группы используются для оптимизации поиска нужной команды
Получение всех зарегистрированных шагов
Логирование информации
⚠️ Секреты не маскируются. В отличие от logError / logWarn /
logMetric, этот метод НЕ прогоняет аргументы через конвейер
маскирования — они уходят в логгер как есть. Предназначен для
операционных сообщений (статус сервера, метрики старта). Никогда не
передавайте сюда токены, пароли и другие секреты; для диагностики
с метаданными используйте logWarn/logError.
Аргументы для логирования
Логирование метрики
Имя метрики и label проходят тот же конвейер маскирования секретов, что и
logError/logWarn: в label может попасть, например, полный URL запроса, а
для Telegram он содержит токен бота (https://api.telegram.org/bot<ТОКЕН>/...),
который не должен попасть в системы наблюдаемости.
имя метрики
значение
Дополнительные метаданные
Устанавливает конфигурацию приложения
Пользовательская конфигурация
Позволяет установить свою реализацию для логирования
Экземпляр логгера или null для отключения
Устанавливает параметры приложения
Пользовательские параметры
Внутренний класс для хранения состояния и конфигурации приложения. Используется внутри Bot для хранения состояния и конфигурации
Remarks
Разработчикам обычно НЕ нужно создавать экземпляры этого класса напрямую. Вместо этого используйте методы класса Bot:
bot.getAppContext()- получить доступ к контекстуbot.setAppConfig()- настроить конфигурациюbot.setPlatformParams()- настроить параметры платформЭтот класс содержит:
Example