Создает экземпляр класса Preload.
OptionalappContext: AppContext<IDatabaseInfo, unknown>Контекст приложения, необходимый для доступа к БД и конфигурации.
Может быть установлен позже через setAppContext.
Protected_filterAlisaУбирает Алису из списка платформ, если для неё не передан skill_id.
Отфильтрованные платформы
Optionalopts: IOptionsОпции предзагрузки
Платформы для обработки и skill_id Алисы (если есть)
Protected_getImageTypeВозвращает внутренний тип изображения, используемый в ImageTokens, для указанной платформы.
Тип платформы.
Тип изображения для ImageTokens или undefined для Viber/SmartApp
(не требуют предзагрузки); для Telegram предзагрузка требует
отправки файла пользователю (см. telegramUseId).
Protected_getPlatformsВозвращает список платформ, для которых в конфигурации AppContext указаны токены.
Если передан массив platforms, результат фильтруется по этому списку.
Optionalplatforms: string[]Массив типов платформ для фильтрации.
Массив доступных платформ.
Protected_getSoundTypeВозвращает внутренний тип звука, используемый в SoundTokens, для указанной платформы.
Тип платформы.
Тип звука для SoundTokens или undefined, если платформа не поддерживается.
Для Telegram предзагрузка требует отправки файла пользователю (см. telegramUseId).
Protected_prepareAlisaПроверяет, можно ли работать с ресурсами Алисы, и передаёт skill_id в контроллер предзагрузки (его читают процессоры карточек и звуков Алисы).
Optionalopts: IOptionsОпции предзагрузки
skill_id навыка либо null, если он не передан (с предупреждением)
Подготавливает промисы для загрузки и кэширования изображений для указанных платформ.
Метод сразу запускает операции загрузки и возвращает массив уже выполняющихся промисов;
вызовите Promise.all() или Promise.allSettled(), чтобы дождаться завершения и обработать ошибки.
Массив путей к файлам изображений для загрузки.
Optionalplatforms: string[]Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.
Optionalopts: IOptionsДополнительные опции для загрузки: telegramUseId — в Telegram токен не получить без отправки файла пользователю, файл уйдёт указанному пользователю; alisaSkillId — обязателен для Алисы (без него Алиса пропускается).
Массив промисов, каждый из которых разрешается токеном изображения
или null в случае ошибки загрузки. Для неподдерживаемых платформ
промис в массив не попадает вовсе.
Подготавливает промисы для загрузки и кэширования звуков для указанных платформ.
Метод сразу запускает операции загрузки и возвращает массив уже выполняющихся промисов;
вызовите Promise.all() или Promise.allSettled(), чтобы дождаться завершения и обработать ошибки.
Массив путей к файлам звуков для загрузки.
Optionalplatforms: string[]Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.
Optionalopts: IOptionsДополнительные опции для загрузки: telegramUseId — в Telegram токен не получить без отправки файла пользователю, файл уйдёт указанному пользователю; alisaSkillId — обязателен для Алисы (без него Алиса пропускается).
Массив промисов, каждый из которых разрешается токеном звука
или null в случае ошибки загрузки. Для неподдерживаемых платформ
промис в массив не попадает вовсе.
Подготавливает промисы для удаления изображений с серверов платформ и из базы данных.
Метод сразу запускает операции удаления и возвращает массив уже выполняющихся промисов;
вызовите Promise.all() или Promise.allSettled(), чтобы дождаться завершения и обработать ошибки.
Массив путей к файлам изображений для удаления.
Optionalplatforms: string[]Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.
Optionalopts: IOptionsДополнительные опции. Для Алисы обязателен alisaSkillId — без него Алиса пропускается.
Массив промисов. Промис разрешается true, если процедура завершилась
без исключения (включая случай, когда записи нет или платформа не поддерживает
удаление — удаление реализовано только для Алисы и Маруси), и false при ошибке.
Подготавливает промисы для удаления звуков с серверов платформ и из базы данных.
Метод сразу запускает операции удаления и возвращает массив уже выполняющихся промисов;
вызовите Promise.all() или Promise.allSettled(), чтобы дождаться завершения и обработать ошибки.
Массив путей к файлам звуков для удаления.
Optionalplatforms: string[]Массив типов платформ для фильтрации. Если не указан, обрабатываются все доступные.
Optionalopts: IOptionsДополнительные опции. Для Алисы обязателен alisaSkillId — без него Алиса пропускается.
Массив промисов. Промис разрешается true, если процедура завершилась
без исключения (включая случай, когда записи нет или платформа не поддерживает
удаление — удаление реализовано только для Алисы и Маруси), и false при ошибке.
Устанавливает контекст приложения.
OptionalappContext: AppContext<IDatabaseInfo, unknown>Контекст приложения.
Класс, предназначенный для предварительной загрузки медиаресурсов (изображений, звуков) для различных платформ.
Этот класс позволяет загрузить файлы на серверы платформ и закэшировать их токены до начала обработки пользовательских запросов, что помогает сократить время обработки пользовательского запроса при первичной отправке медиафайлов в ответе.
Example