xdl-node
Version:
A library for retrieving audio streams and other data from X Spaces, built on Node.js and TypeScript.
43 lines (42 loc) • 2.35 kB
TypeScript
import TwspaceDL from './twspace_dl';
export declare class XDL {
private static _instance;
private api;
/**
* Приватный конструктор – вызывается только через init()
*/
private constructor();
/**
* Инициализирует библиотеку и возвращает её инстанс.
* Вызывайте один раз при старте приложения.
* @param cookiesPath Путь к файлу cookies.
*/
static init(cookiesPath: string): XDL;
/**
* Геттер для получения инстанса XDL.
* Выбросит ошибку, если XDL не был инициализирован.
*/
static get instance(): XDL;
/**
* Скачивает Twitter Space (после окончания эфира или с реплеем).
* После завершения скачивания встраивает обложку и чистит временные файлы.
* @param spaceUrl URL твиттер-спейса (формат: https://x.com/i/spaces/<space_id>)
* @param formatStr Шаблон имени файла (опционально)
*/
downloadSpace(spaceUrl: string, formatStr?: string): Promise<void>;
/**
* Запускает live‑запись Twitter Space.
* Возвращает объект, через который можно остановить запись.
* @param spaceUrl URL твиттер-спейса (формат: https://x.com/i/spaces/<space_id>)
* @param formatStr Шаблон имени файла (опционально)
* @returns Инстанс TwspaceDL для управления записью.
*/
startLiveRecording(spaceUrl: string, formatStr?: string): Promise<TwspaceDL>;
/**
* **Новый метод:** Получает m3u8 поток для Twitter Space без сохранения его на диск.
* @param spaceUrl URL твиттер-спейса (формат: https://x.com/i/spaces/<space_id>)
* @param formatStr Шаблон имени файла (опционально)
* @returns Строка с содержимым m3u8 плейлиста.
*/
getM3u8Stream(spaceUrl: string, formatStr?: string): Promise<string>;
}