UNPKG

xdl-node

Version:

A library for retrieving audio streams and other data from X Spaces, built on Node.js and TypeScript.

75 lines (74 loc) 3.2 kB
import { Twspace } from './twspace'; export declare class TwspaceDL { space: Twspace; formatStr: string; private _tempdir; private _recordingProcess; /** * @param space Экземпляр Twspace. * @param formatStr Шаблон имени файла. */ constructor(space: Twspace, formatStr?: string); get filename(): string; /** * Получает динамический URL (тот, что используется браузером). * @returns Промис с динамическим URL. */ getDynUrl(): Promise<string>; /** * Формирует master URL путём замены части динамического URL. * @returns Промис с master URL. */ getMasterUrl(): Promise<string>; /** * Получает URL плейлиста с сегментами. * @returns Промис с URL плейлиста. */ getPlaylistUrl(): Promise<string>; /** * Получает текст плейлиста с заменёнными URL сегментов. * @returns Промис с текстом плейлиста. */ getPlaylistText(): Promise<string>; /** * **Новый метод:** Возвращает m3u8 плейлист как строку без сохранения на диск. * Это позволяет обработать плейлист напрямую в коде (например, для передачи в другой сервис). * @returns Строка с содержимым m3u8 плейлиста. */ getM3u8Stream(): Promise<string>; /** * **Новый метод:** Получает полный m3u8 плейлист, сохраняет его в файл и возвращает путь и содержимое файла. */ getFullPlaylist(): Promise<{ filePath: string; content: string; }>; /** * **Новый метод:** Получает m3u8 плейлист в реальном времени. * Периодически запрашивает плейлист, объединяет новые сегменты с уже полученными, * дописывает результирующий плейлист в файл и возвращает путь и содержимое файла. */ getFullPlaylistRealtime(): Promise<{ filePath: string; content: string; }>; /** * **Помечаем метод как нерабочий:** * Скачивание больше не поддерживается */ download(): Promise<void>; /** * Очищает временную директорию. */ cleanup(): Promise<void>; /** * Запускает live‑запись Twitter Space с возможностью остановки. * Добавлены параметры для уменьшения качества записи */ startLiveRecording(): Promise<string>; /** * Останавливает live‑запись Twitter Space. */ stopLiveRecording(): void; } export default TwspaceDL;