@bililive-tools/manager
Version:
Batch scheduling recorders
32 lines (31 loc) • 1.01 kB
TypeScript
import { Message } from "./common.js";
export interface XmlStreamStats {
danmaNum: number;
uniqMember: number;
scNum: number;
guardNum: number;
}
export interface XmlStreamData {
header: string;
meta: {
title?: string;
recordStartTimestamp: number;
recordStopTimestamp?: number;
liveStartTimestamp?: number;
downloaderArgs?: string[];
platform?: string;
user_name?: string;
room_id?: string;
};
/** 缓存的消息,待写入到文件 */
pendingMessages: Message[];
}
export interface XmlStreamController {
/** 设计上来说,外部程序不应该能直接修改 data 上的东西 */
readonly data: XmlStreamData;
addMessage: (message: Message) => void;
setMeta: (meta: Partial<XmlStreamData["meta"]>) => Promise<void>;
flush: () => Promise<void>;
getStats: () => XmlStreamStats;
}
export declare function createRecordExtraDataController(savePath: string): XmlStreamController;