UNPKG

umbot

Version:

Мультиплатформенный фреймворк для создания голосовых навыков и чат-ботов с единой бизнес-логикой. Встроенная поддержка ВКонтакте, Telegram, Viber, MAX, Яндекс Алисы, Маруси и Сбера SmartApp. Архитектура на адаптерах позволяет подключать любые другие платф

115 lines (114 loc) 5.09 kB
import { IModelRules } from './interface'; import { IModelState, Model } from './db/Model'; import { AppContext } from '../core'; import { TKey } from './db'; /** * Интерфейс для внутреннего состояния модели звуковых файлов. * Определяет структуру данных для хранения информации о звуковых файлах в базе данных. */ export interface ISoundModelState extends IModelState { /** * Идентификатор звукового файла. * Уникальный идентификатор, используемый для ссылки на звуковой файл в API различных платформ. * @example "doc123456789" для VK, "file_id_123456" для Telegram */ soundToken: string | null; /** * Путь к файлу. * Может быть URL-адресом звукового файла или путем к локальному файлу. * @example "/path/to/audio.mp3" или "http://localhost/audio.mp3" */ path: string | null; /** * Тип платформы. * Определяет, для какой платформы предназначен звуковой файл. */ platform: string; } /** * Модель для управления звуковыми файлами в различных платформах. * Предоставляет единый интерфейс для работы со звуковыми файлами в Алисе, ВКонтакте, Telegram, Марусе и тд. * * @extends Model<ISoundModelState> * * @example * // Создание и загрузка звукового файла для Telegram * const sound = new SoundTokens(appContext); * sound.path = '/path/to/audio.mp3'; * sound.platform = T_TELEGRAM; * const token = await sound.selectOne(); * if (token) { * console.log('Токен для звукового файла успешно получен, токен:', token); * } else { * || Загрузка аудиофайла * } */ export declare class SoundTokens extends Model<ISoundModelState> { /** * Название таблицы для хранения данных о звуковых файлах. */ protected static readonly TABLE_NAME = "SoundTokens"; /** * Флаг, указывающий, что передается содержимое файла. * Если true, то path содержит содержимое файла, а не путь к нему. * @defaultValue false */ isAttachContent: boolean; /** * Конструктор класса SoundTokens. * Предоставляет унифицированный интерфейс для хранения данных о загруженных аудиофайлах. */ constructor(appContext: AppContext); protected getId(): TKey; /** * Идентификатор звукового файла. * Уникальный идентификатор, используемый для ссылки на звуковой файл в API различных платформ. * @example "doc123456789" для VK, "file_id_123456" для Telegram */ get soundToken(): string; /** * Устанавливает идентификатор звукового файла. * @param soundToken */ set soundToken(soundToken: string | null); /** * Путь к файлу. * Может быть URL-адресом звукового файла или путем к локальному файлу. * @example "/path/to/audio.mp3" или "http://localhost/audio.mp3" */ get path(): string; /** * Устанавливает путь к файлу. * @param path */ set path(path: string | null); /** * Тип платформы. * Определяет, для какой платформы предназначен звуковой файл. */ get platform(): string; /** * Устанавливает тип платформы. * @param platform */ set platform(platform: string); /** * Возвращает название таблицы/файла с данными. * * @return {string} Название таблицы для хранения данных о звуковых файлах */ tableName(): string; /** * Определяет правила валидации для полей модели. * * @return {IModelRules[]} Массив правил валидации */ rules(): IModelRules[]; /** * Возвращает метки атрибутов таблицы. * Используется для отображения понятных названий полей. * * @return {ISoundModelState} Объект с метками атрибутов */ attributeLabels(): ISoundModelState; }