import { BaseRequest } from "../base/index.js"; import Auth from "../base/Auth.js"; import type { MyInfoV2ReturnType, GetUserInfoReturnType, Season, Series, SeriesMeta, SeriesArchive, SeasonMeta } from "../types/user.js"; export default class User extends BaseRequest { noAuthUseCookie: boolean; spaceCookie: string; constructor(auth?: Auth, useCookie?: boolean); /** * 获取登录用户信息 */ getMyInfo(): Promise; /** * 获取用户卡片信息 * @param uid 用户id */ getCardInfo(uid: number): Promise>; /** * 获取用户信息 * @param uid 用户id */ getUserInfo(uid: number, useCookie?: boolean): Promise; /** * 获取未登录情况下space可用的cookie */ protected getSpaceCookie(): Promise; /** * 获取用户动态 * 返回值参考 @link : https://socialsisteryi.github.io/bilibili-API-collect/docs/dynamic/get_dynamic_detail.html */ space( /** 用户id */ mid: number, /** offset为分页参数,来自上一页返回接口的offset参数 */ offset?: number, useCookie?: boolean): Promise>; /** * 用户投稿列表 */ getVideos(params: { mid: number; ps?: number; pn?: number; tid?: number; keyword?: string; order?: "pubdate" | "click" | "stow"; }, useCookie?: boolean): Promise<{ episodic_button: { text: string; uri: string; }; gaia_data: any; gaia_res_type: number; is_risk: boolean; list: { slist: any[]; tlist: { [key: string]: { tid: number; count: number; name: string; }[]; }; vlist: { comment: number; typeid: number; play: number; pic: string; subtitle: string; description: string; copyright: string; title: string; review: number; author: string; mid: number; created: number; length: string; video_review: number; aid: number; bvid: string; hide_click: boolean; is_pay: number; is_union_video: number; is_steins_gate: number; is_live_playback: number; is_lesson_video: number; is_lesson_finished: number; lesson_update_info: string; jump_url: string; meta: null | any; is_avoided: number; season_id: number; attribute: number; is_charging_arc: boolean; vt: number; enable_vt: number; vt_display: string; playback_position: number; }[]; }; page: { count: number; num: number; size: number; }; }>; /** * 合集和视频列表 */ getCollectionList(params: { mid: number; page_size?: number; page_num?: number; }): Promise<{ items_lists: { page: { total: number; page_num: number; page_size: number; }; seasons_list: Season[]; series_list: Series[]; }; }>; /** * 合集-视频列表 */ getSeriesInfo(params: { series_id: number; }): Promise<{ meta: SeriesMeta; recent_aids: number[]; }>; /** * 合集-视频列表-投稿列表 */ getSeriesVideos(params: { mid: number; series_id: number; only_normal?: boolean; sort?: "asc" | "desc"; pn?: number; ps?: number; current_mid?: number; }): Promise<{ aids: number[]; archives: SeriesArchive[]; page: { total: number; page_num: number; page_size: number; }; }>; /** * 合集-视频列表-合集投稿列表 */ getSeasons(params: { mid: number; season_id: number; sort_reverse?: boolean; page_num?: number; page_size?: number; web_location?: string; }): Promise<{ aids: number[]; archives: SeriesArchive[]; meta: SeasonMeta; page: { total: number; page_num: number; page_size: number; }; }>; }