umbot
Version:
Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф
65 lines (64 loc) • 4.12 kB
TypeScript
import { YandexRequest } from './YandexRequest';
import { IYandexCheckOutPlace, IYandexRequestDownloadSound } from './interfaces';
import { AppContext } from '../../../index';
/**
* Класс, отвечающий за загрузку аудиофайлов в навык Алисы
* @see https://yandex.ru/dev/dialogs/alice/doc/resource-sounds-upload-docpage/ Документация API Яндекс.Диалогов
*
* @class YandexSoundRequest
*/
export declare class YandexSoundRequest extends YandexRequest {
#private;
/**
* Идентификатор навыка, необходимый для корректного сохранения аудиофайлов
* @see YandexRequest Базовый класс для работы с API Яндекса
*/
skillId: string | null;
/**
* Создает экземпляр класса для работы с аудиофайлами в навыке Алисы
* @param oauth Авторизационный токен для загрузки аудиофайлов
* @param skillId Идентификатор навыка
* @param appContext Контекст приложения
* @see https://tech.yandex.ru/dialogs/alice/doc/resource-upload-docpage/ Документация по загрузке ресурсов
* @see https://oauth.yandex.ru/verification_code Получение OAuth-токена
*/
constructor(oauth: string | null | undefined, skillId: string | null | undefined, appContext: AppContext);
/**
* Проверка занятого места в хранилище аудиофайлов
* @returns {Promise<IYandexCheckOutPlace | null>} Информация о занятом месте:
* - total: общий доступный объем хранилища
* - used: использованный объем хранилища
* @remarks Для каждого аккаунта действует лимит в 1 ГБ. Учитывается размер сжатых файлов в формате OPUS
*/
checkOutPlace(): Promise<IYandexCheckOutPlace | null>;
/**
* Загрузка аудиофайла с сервера
* @param soundDir Путь к аудиофайлу на сервере
* @returns {Promise<IYandexRequestDownloadSound | null>} Информация о загруженном аудиофайле:
* - id: уникальный идентификатор файла
* - skillId: идентификатор навыка
* - size: размер файла в байтах
* - originalName: оригинальное имя файла
* - createdAt: дата и время загрузки
* - isProcessed: статус обработки файла
* - error: сообщение об ошибке (если есть)
*/
downloadSoundFile(soundDir: string): Promise<IYandexRequestDownloadSound | null>;
/**
* Получение списка всех загруженных аудиофайлов
* @returns {Promise<IYandexRequestDownloadSound[] | null>} Массив с информацией о загруженных аудиофайлах
*/
getLoadedSounds(): Promise<IYandexRequestDownloadSound[] | null>;
/**
* Удаление конкретного аудиофайла по его идентификатору
* @param soundId Идентификатор аудиофайла для удаления
* @returns {Promise<string | null>} 'ok' при успешном удалении, null при ошибке
*/
deleteSound(soundId: string): Promise<string | null>;
/**
* Удаление всех загруженных аудиофайлов
* @returns {Promise<boolean>} true если все файлы успешно удалены, false при ошибке
* @remarks Если при удалении произойдет ошибка, некоторые файлы могут остаться в хранилище
*/
deleteSounds(): Promise<boolean>;
}