umbot - v2.2.0
    Preparing search index...

    Class Preload

    Класс, предназначенный для предварительной загрузки медиаресурсов (изображений, звуков) для различных платформ.

    Этот класс позволяет загрузить файлы на серверы платформ и закэшировать их токены до начала обработки пользовательских запросов, что помогает избежать превышения лимита времени библиотеки (1 секунда) при первичной отправке медиафайлов в ответе.

    // В точке входа приложения (например, index.ts)
    import { Preload } from 'umbot';

    // Предположим, appContext уже инициализирован
    const preload = new Preload(appContext);

    // Загрузить изображения для Алисы и ВК
    const imagePromises = preload.loadImages(['/path/to/img1.jpg', '/path/to/img2.png'], [T_ALISA, T_VK]);
    // Загрузить звуки только для Маруси
    const soundPromises = preload.loadSounds(['/path/to/sound1.mp3'], [T_MARUSIA]);

    // Запустить загрузку (все промисы выполняются параллельно)
    try {
    await Promise.all(imagePromises);
    console.log('Изображения предзагружены');
    await Promise.all(soundPromises);
    console.log('Звуки предзагружены');
    } catch (error) {
    console.error('Ошибка при предзагрузке:', error);
    }

    // Теперь бот готов к работе, и первые вызовы с медиа будут быстрыми
    bot.start('localhost', 3000);
    Index

    Constructors

    • Создает экземпляр класса Preload.

      Parameters

      • OptionalappContext: AppContext

        Контекст приложения, необходимый для доступа к БД и конфигурации. Может быть установлен позже через setAppContext.

      Returns Preload

    Methods

    • Возвращает внутренний тип изображения, используемый в ImageTokens, для указанной платформы.

      Parameters

      • platform: TAppType

        Тип платформы.

      Returns number | undefined

      Тип изображения для ImageTokens или undefined, если платформа не поддерживается или не требует предзагрузки (например, Telegram).

    • Возвращает список платформ, для которых в конфигурации AppContext указаны токены. Если передан массив platforms, результат фильтруется по этому списку.

      Parameters

      • Optionalplatforms: TAppType[]

        Массив типов платформ для фильтрации.

      Returns TAppType[]

      Массив доступных платформ.

    • Возвращает внутренний тип звука, используемый в SoundTokens, для указанной платформы.

      Parameters

      • platform: TAppType

        Тип платформы.

      Returns number | undefined

      Тип звука для SoundTokens или undefined, если платформа не поддерживается или не требует предзагрузки (например, Telegram).

    • Подготавливает промисы для загрузки и кэширования изображений для указанных платформ.

      Этот метод не запускает выполнение промисов. Для выполнения загрузки необходимо использовать Promise.all() или Promise.allSettled() с возвращаемым массивом.

      Parameters

      • images: string[]

        Массив путей к файлам изображений для загрузки.

      • Optionalplatforms: TAppType[]

        Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.

      Returns Promise<string | null>[]

      Массив промисов, каждый из которых разрешается токеном изображения или null в случае ошибки или если платформа не поддерживается.

    • Подготавливает промисы для загрузки и кэширования звуков для указанных платформ.

      Этот метод не запускает выполнение промисов. Для выполнения загрузки необходимо использовать Promise.all() или Promise.allSettled() с возвращаемым массивом.

      Parameters

      • sounds: string[]

        Массив путей к файлам звуков для загрузки.

      • Optionalplatforms: TAppType[]

        Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.

      Returns Promise<string | null>[]

      Массив промисов, каждый из которых разрешается токеном звука или null в случае ошибки или если платформа не поддерживается.

    • Подготавливает промисы для удаления изображений с серверов платформ и из базы данных.

      Этот метод не запускает выполнение промисов. Для выполнения удаления необходимо использовать Promise.all() или Promise.allSettled() с возвращаемым массивом.

      Parameters

      • images: string[]

        Массив путей к файлам изображений для удаления.

      • Optionalplatforms: TAppType[]

        Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.

      Returns Promise<boolean>[]

      Массив промисов, каждый из которых разрешается true при успешном удалении или false при ошибке.

    • Подготавливает промисы для удаления звуков с серверов платформ и из базы данных.

      Этот метод не запускает выполнение промисов. Для выполнения удаления необходимо использовать Promise.all() или Promise.allSettled() с возвращаемым массивом.

      Parameters

      • sounds: string[]

        Массив путей к файлам звуков для удаления.

      • Optionalplatforms: TAppType[]

        Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.

      Returns Promise<boolean>[]

      Массив промисов, каждый из которых разрешается true при успешном удалении или false при ошибке.

    • Устанавливает контекст приложения.

      Parameters

      • OptionalappContext: AppContext

        Контекст приложения.

      Returns void