import { BaseRequest } from "../base/index.js"; import Auth from "../base/Auth.js"; import type { getMasterInfoReturnType } from "../types/live.js"; export default class Live extends BaseRequest { private noAuthUseCookie; constructor(auth?: Auth, noAuthUseCookie?: boolean); /** * 获取房间信息 * @param room_id 房间号 * @returns */ getRoomInfo(room_id: number, useCookie?: boolean): Promise<{ /** 用户ID */ uid: number; room_id: number; short_id: number; attention: number; online: number; is_portrait: boolean; description: string; live_status: 0 | 1 | 2; area_id: number; parent_area_id: number; parent_area_name: string; old_area_id: number; background: string; title: string; user_cover: string; keyframe: string; is_strict_room: boolean; live_time: string; tags: string; is_anchor: number; room_silent_type: string; room_silent_level: number; room_silent_second: number; area_name: string; pardants: string; area_pardants: string; hot_words: string[]; hot_words_status: number; verify: string; new_pendants: { [key: string]: any; }; up_session: string; pk_status: number; pk_id: number; battle_id: number; allow_change_area_time: number; allow_upload_cover_time: number; studio_info: { status: number; master_list: any[]; }; }>; /** * * @param {number} params.user_id 用户id * @param {number} params.room_id 直播房间号 * @param {number} [params.page] 页码 * @param {number} [params.page_size] 数据大小 * @param {boolean} [useCookie] 是否使用cookie * @returns */ getGuardTopList(params: { user_id: number; room_id: number; page?: number; page_size?: number; }, useCookie?: boolean): Promise<{ [key: string]: any; }>; /** * * @param {number} uid 用户id * @param {boolean} [useCookie] 是否使用cookie * */ getMasterInfo(uid: number, useCookie?: boolean): Promise; /** * 获取直播回放列表 * @param params * @param params.live_uid 主播uid * @param params.time_range 时间范围 1: 最近3天 2: 最近7天 3: 最近14天 * @param params.page 页码 * @param params.page_size 每页大小 * @returns */ getSliceList(params: { live_uid: number; time_range: 1 | 2 | 3; page: number; page_size: number; web_location?: string; }): Promise<{ replay_info: { live_key: string; start_time: number; end_time: number; live_info: { title: string; cover: string; live_time: number; type: number; }; video_info: { replay_status: number; download_url: string; estimated_time: string; is_archive: number; }; alarm_info: { code: number; message: string; cur_time: number; is_ban_publish: boolean; }; }[]; pagination: { page: number; page_size: number; total: number; }; archive_flag: boolean; can_edit: number; }>; /** * 获取直播回放流 * @param params * @param params.live_key 直播key * @param params.start_time 开始时间 * @param params.end_time 结束时间 * @param params.live_uid 房间id * @param params.web_location 未知字段,未知含义 * @returns */ getSliceStream(params: { live_key: string; start_time: number; end_time: number; live_uid: number; web_location?: string; }): Promise<{ list: { start_time: number; end_time: number; stream: string; }[] | null; }>; }