返回 {
startServer: (port?: number) => Application;
getDouyinData: <
T extends
| "评论数据"
| "用户主页数据"
| "Emoji数据"
| "指定评论回复数据"
| "用户主页视频列表数据"
| "直播间信息数据"
| "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据"
| "音乐数据"
| "申请二维码数据"
| "热点词数据"
| "搜索数据"
| "动态表情数据"
| "弹幕数据",
M extends TypeMode,
>(
methodType: T,
options?: Omit<DouyinDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<DouyinDataOptionsMap[T]["data"], M>>,
>;
getBilibiliData: <
T extends
| "单个视频作品数据"
| "单个视频下载信息数据"
| "评论数据"
| "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量"
| "Emoji数据"
| "番剧基本信息数据"
| "番剧下载信息数据"
| "动态详情数据"
| "动态卡片数据"
| "直播间信息"
| "直播间初始化信息"
| "登录基本信息"
| "申请二维码"
| "二维码状态"
| "AV转BV"
| "BV转AV",
M extends TypeMode,
>(
methodType: T,
options?: Omit<BilibiliDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<BilibiliDataOptionsMap[T]["data"], M>,
>,
>;
getKuaishouData: <
T extends "单个视频作品数据"
| "评论数据"
| "Emoji数据",
M extends TypeMode,
>(
methodType: T,
options?: Omit<KuaishouDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<KuaishouDataOptionsMap[T]["data"], M>,
>,
>;
getXiaohongshuData: <
T extends
"评论数据"
| "首页推荐数据"
| "单个笔记数据"
| "用户数据"
| "用户笔记数据"
| "表情列表"
| "搜索笔记",
M extends TypeMode,
>(
methodType: T,
options?: Omit<XiaohongshuDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<XiaohongshuDataOptionsMap[T]["data"], M>,
>,
>;
douyin: {
sign: typeof douyinSign;
douyinApiUrls: DouyinAPI;
api: {
getTextWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyTextWork, M>>>;
getWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
DyImageAlbumWork
| DySlidesWork
| DyVideoWork,
M,
>,
>,
>;
getVideoWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "视频作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyVideoWork, M>>>;
getImageAlbumWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "图集作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyImageAlbumWork, M>>>;
getSlidesWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "合辑作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySlidesWork, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
aweme_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyWorkComments, M>>>;
getCommentReplies: <M extends TypeMode>(
options: Omit<
{
methodType: "指定评论回复数据";
aweme_id: string;
comment_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<CommentReply, M>>>;
getUserProfile: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserInfo, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiList, M>>>;
getEmojiProList: <M extends TypeMode>(
options: Omit<{ methodType: "动态表情数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiProList, M>>>;
getUserVideos: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserPostVideos, M>>>;
getMusicInfo: <M extends TypeMode>(
options: Omit<{ methodType: "音乐数据"; music_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyMusicWork, M>>>;
getSuggestWords: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySuggestWords, M>>>;
search: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySearchInfo, M>>>;
getLiveRoomInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserLiveVideos, M>>>;
getDanmaku: <M extends TypeMode>(
options: Omit<
{
methodType: "弹幕数据";
aweme_id: string;
start_time?: number;
end_time?: number;
duration: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyDanmakuList, M>>>;
};
};
bilibili: {
sign: {
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>;
av2bv: (aid: number) => `BV1${string}`;
bv2av: (bvid: string) => number;
};
bilibiliApiUrls: BiLiBiLiAPI;
api: {
getVideoInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "单个视频作品数据"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliOneWork, M>>>;
getVideoStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频下载信息数据"; avid: number; cid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliVideoPlayurlIsLogin
| BiliBiliVideoPlayurlNoLogin,
M,
>,
>,
>;
getComments: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "评论数据";
type: number;
oid: string;
number?: number;
mode?: 0
| 1
| 2
| 3;
pagination_str?: string;
plat?: number;
seek_rpid?: string;
web_location?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliWorkComments, M>>>;
getUserProfile: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserProfile, M>>>;
getUserDynamic: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserDynamic, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliEmojiList, M>>>;
getBangumiInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧基本信息数据"; season_id?: string; ep_id?: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBangumiVideoInfo, M>>>;
getBangumiStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧下载信息数据"; cid: number; ep_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliBangumiVideoPlayurlIsLogin
| BiliBangumiVideoPlayurlNoLogin,
M,
>,
>,
>;
getDynamicInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicInfoUnion, M>>>;
getDynamicCard: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicCard, M>>>;
getLiveRoomDetail: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDetail, M>>>;
getLiveRoomInitInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDef, M>>>;
getLoginBasicInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "登录基本信息" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getLoginQrcode: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "申请二维码" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliNewLoginQrcode, M>>>;
checkQrcodeStatus: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "二维码状态"; qrcode_key: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliCheckQrcode, M>>>;
getUserTotalPlayCount: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserFullView, M>>>;
convertAvToBv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "AV转BV"; avid: number }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliAv2Bv, M>>>;
convertBvToAv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "BV转AV"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBv2AV, M>>>;
};
};
kuaishou: {
kuaishouApiUrls: API;
api: {
getWorkInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频作品数据"; photoId: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsOneWork, M>>>;
getComments: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "评论数据"; photoId: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsWorkComments, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsEmojiList, M>>>;
};
};
xiaohongshu: {
sign: typeof xiaohongshuSign;
xiaohongshuApiUrls: {
"首页推荐数据"(
data?: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
cursor_score: string;
num: number;
refresh_type: number;
note_index: number;
category: string;
search_key: string;
image_formats: string[];
};
};
"单个笔记数据"(
data: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
source_note_id: string;
image_formats: string[];
extra: { need_body_topic: string };
xsec_source: string;
xsec_token: string;
};
};
"评论数据"(
data: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
"用户数据"(
data: Omit<{ methodType: "用户数据"; user_id: string }, "methodType">,
): { apiPath: string; Url: string };
"用户笔记数据"(
data: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
"表情列表"(
data: Omit<{ methodType: "表情列表" }, "methodType">,
): { apiPath: string; Url: string };
"搜索笔记"(
data: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
>,
): {
apiPath: string;
Body: {
keyword: string;
page: number;
page_size: number;
sort: SearchSortType;
note_type: SearchNoteType;
search_id: string;
image_formats: string[];
};
Url: string;
};
};
api: {
getHomeFeed: <M extends TypeMode>(
options: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<HomeFeed, M>>>;
getNote: <M extends TypeMode>(
options: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<OneNote, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<NoteComments, M>>>;
getUser: <M extends TypeMode>(
options: Omit<{ methodType: "用户数据"; user_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<XiaohongshuUserProfile, M>>,
>;
getUserNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getSearchNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<SearchNotes, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "表情列表" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuEmojiList, M>>>;
};
};
}
包含数据获取方法、服务器启动方法、绑定Cookie的平台工具集和API对象的对象
startServer: (port?: number) => Application
getDouyinData: <
T extends
| "评论数据"
| "用户主页数据"
| "Emoji数据"
| "指定评论回复数据"
| "用户主页视频列表数据"
| "直播间信息数据"
| "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据"
| "音乐数据"
| "申请二维码数据"
| "热点词数据"
| "搜索数据"
| "动态表情数据"
| "弹幕数据",
M extends TypeMode,
>(
methodType: T,
options?: Omit<DouyinDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<DouyinDataOptionsMap[T]["data"], M>>,
>
getBilibiliData: <
T extends
| "单个视频作品数据"
| "单个视频下载信息数据"
| "评论数据"
| "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量"
| "Emoji数据"
| "番剧基本信息数据"
| "番剧下载信息数据"
| "动态详情数据"
| "动态卡片数据"
| "直播间信息"
| "直播间初始化信息"
| "登录基本信息"
| "申请二维码"
| "二维码状态"
| "AV转BV"
| "BV转AV",
M extends TypeMode,
>(
methodType: T,
options?: Omit<BilibiliDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<BilibiliDataOptionsMap[T]["data"], M>>,
>
getKuaishouData: <T extends "单个视频作品数据" | "评论数据" | "Emoji数据", M extends TypeMode>(
methodType: T,
options?: Omit<KuaishouDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<KuaishouDataOptionsMap[T]["data"], M>>,
>
getXiaohongshuData: <
T extends
"评论数据"
| "首页推荐数据"
| "单个笔记数据"
| "用户数据"
| "用户笔记数据"
| "表情列表"
| "搜索笔记",
M extends TypeMode,
>(
methodType: T,
options?: Omit<XiaohongshuDataOptionsMap[T]["opt"], "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<XiaohongshuDataOptionsMap[T]["data"], M>,
>,
>
douyin: {
sign: typeof douyinSign;
douyinApiUrls: DouyinAPI;
api: {
getTextWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyTextWork, M>>>;
getWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
DyImageAlbumWork
| DySlidesWork
| DyVideoWork,
M,
>,
>,
>;
getVideoWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "视频作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyVideoWork, M>>>;
getImageAlbumWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "图集作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyImageAlbumWork, M>>>;
getSlidesWorkInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "合辑作品数据"; aweme_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySlidesWork, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
aweme_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyWorkComments, M>>>;
getCommentReplies: <M extends TypeMode>(
options: Omit<
{
methodType: "指定评论回复数据";
aweme_id: string;
comment_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<CommentReply, M>>>;
getUserProfile: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserInfo, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiList, M>>>;
getEmojiProList: <M extends TypeMode>(
options: Omit<{ methodType: "动态表情数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiProList, M>>>;
getUserVideos: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserPostVideos, M>>>;
getMusicInfo: <M extends TypeMode>(
options: Omit<{ methodType: "音乐数据"; music_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyMusicWork, M>>>;
getSuggestWords: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySuggestWords, M>>>;
search: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySearchInfo, M>>>;
getLiveRoomInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserLiveVideos, M>>>;
getDanmaku: <M extends TypeMode>(
options: Omit<
{
methodType: "弹幕数据";
aweme_id: string;
start_time?: number;
end_time?: number;
duration: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyDanmakuList, M>>>;
};
}
douyinApiUrls: DouyinAPI
api: {
getTextWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyTextWork, M>>>;
getWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
DyImageAlbumWork
| DySlidesWork
| DyVideoWork,
M,
>,
>,
>;
getVideoWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "视频作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyVideoWork, M>>>;
getImageAlbumWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "图集作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyImageAlbumWork, M>>>;
getSlidesWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "合辑作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySlidesWork, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
aweme_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyWorkComments, M>>>;
getCommentReplies: <M extends TypeMode>(
options: Omit<
{
methodType: "指定评论回复数据";
aweme_id: string;
comment_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<CommentReply, M>>>;
getUserProfile: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserInfo, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiList, M>>>;
getEmojiProList: <M extends TypeMode>(
options: Omit<{ methodType: "动态表情数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiProList, M>>>;
getUserVideos: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserPostVideos, M>>>;
getMusicInfo: <M extends TypeMode>(
options: Omit<{ methodType: "音乐数据"; music_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyMusicWork, M>>>;
getSuggestWords: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySuggestWords, M>>>;
search: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySearchInfo, M>>>;
getLiveRoomInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserLiveVideos, M>>>;
getDanmaku: <M extends TypeMode>(
options: Omit<
{
methodType: "弹幕数据";
aweme_id: string;
start_time?: number;
end_time?: number;
duration: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyDanmakuList, M>>>;
}
getTextWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyTextWork, M>>>
getWorkInfo: <M extends TypeMode>(
options: Omit<
{
methodType: "视频作品数据"
| "图集作品数据"
| "合辑作品数据"
| "聚合解析"
| "文字作品数据";
aweme_id: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<DyImageAlbumWork | DySlidesWork | DyVideoWork, M>,
>,
>
getVideoWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "视频作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyVideoWork, M>>>
getImageAlbumWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "图集作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyImageAlbumWork, M>>>
getSlidesWorkInfo: <M extends TypeMode>(
options: Omit<{ methodType: "合辑作品数据"; aweme_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySlidesWork, M>>>
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
aweme_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyWorkComments, M>>>
getCommentReplies: <M extends TypeMode>(
options: Omit<
{
methodType: "指定评论回复数据";
aweme_id: string;
comment_id: string;
number?: number;
cursor?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<CommentReply, M>>>
getUserProfile: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserInfo, M>>>
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiList, M>>>
getEmojiProList: <M extends TypeMode>(
options: Omit<{ methodType: "动态表情数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyEmojiProList, M>>>
getUserVideos: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserPostVideos, M>>>
getMusicInfo: <M extends TypeMode>(
options: Omit<{ methodType: "音乐数据"; music_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyMusicWork, M>>>
getSuggestWords: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySuggestWords, M>>>
search: <M extends TypeMode>(
options: Omit<
{
methodType: "热点词数据"
| "搜索数据";
query: string;
number?: number;
search_id?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DySearchInfo, M>>>
getLiveRoomInfo: <M extends TypeMode>(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页视频列表数据"
| "直播间信息数据"; sec_uid: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyUserLiveVideos, M>>>
getDanmaku: <M extends TypeMode>(
options: Omit<
{
methodType: "弹幕数据";
aweme_id: string;
start_time?: number;
end_time?: number;
duration: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<DyDanmakuList, M>>>
bilibili: {
sign: {
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>;
av2bv: (aid: number) => `BV1${string}`;
bv2av: (bvid: string) => number;
};
bilibiliApiUrls: BiLiBiLiAPI;
api: {
getVideoInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "单个视频作品数据"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliOneWork, M>>>;
getVideoStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频下载信息数据"; avid: number; cid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliVideoPlayurlIsLogin
| BiliBiliVideoPlayurlNoLogin,
M,
>,
>,
>;
getComments: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "评论数据";
type: number;
oid: string;
number?: number;
mode?: 0
| 1
| 2
| 3;
pagination_str?: string;
plat?: number;
seek_rpid?: string;
web_location?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliWorkComments, M>>>;
getUserProfile: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserProfile, M>>>;
getUserDynamic: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserDynamic, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliEmojiList, M>>>;
getBangumiInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧基本信息数据"; season_id?: string; ep_id?: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBangumiVideoInfo, M>>>;
getBangumiStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧下载信息数据"; cid: number; ep_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliBangumiVideoPlayurlIsLogin
| BiliBangumiVideoPlayurlNoLogin,
M,
>,
>,
>;
getDynamicInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicInfoUnion, M>>>;
getDynamicCard: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicCard, M>>>;
getLiveRoomDetail: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDetail, M>>>;
getLiveRoomInitInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDef, M>>>;
getLoginBasicInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "登录基本信息" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getLoginQrcode: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "申请二维码" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliNewLoginQrcode, M>>>;
checkQrcodeStatus: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "二维码状态"; qrcode_key: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliCheckQrcode, M>>>;
getUserTotalPlayCount: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserFullView, M>>>;
convertAvToBv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "AV转BV"; avid: number }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliAv2Bv, M>>>;
convertBvToAv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "BV转AV"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBv2AV, M>>>;
};
}
sign: {
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>;
av2bv: (aid: number) => `BV1${string}`;
bv2av: (bvid: string) => number;
}
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>
av2bv: (aid: number) => `BV1${string}`
bv2av: (bvid: string) => number
bilibiliApiUrls: BiLiBiLiAPI
api: {
getVideoInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "单个视频作品数据"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliOneWork, M>>>;
getVideoStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频下载信息数据"; avid: number; cid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliVideoPlayurlIsLogin
| BiliBiliVideoPlayurlNoLogin,
M,
>,
>,
>;
getComments: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "评论数据";
type: number;
oid: string;
number?: number;
mode?: 0
| 1
| 2
| 3;
pagination_str?: string;
plat?: number;
seek_rpid?: string;
web_location?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliWorkComments, M>>>;
getUserProfile: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserProfile, M>>>;
getUserDynamic: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserDynamic, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliEmojiList, M>>>;
getBangumiInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧基本信息数据"; season_id?: string; ep_id?: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBangumiVideoInfo, M>>>;
getBangumiStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧下载信息数据"; cid: number; ep_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliBangumiVideoPlayurlIsLogin
| BiliBangumiVideoPlayurlNoLogin,
M,
>,
>,
>;
getDynamicInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicInfoUnion, M>>>;
getDynamicCard: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicCard, M>>>;
getLiveRoomDetail: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDetail, M>>>;
getLiveRoomInitInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDef, M>>>;
getLoginBasicInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "登录基本信息" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getLoginQrcode: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "申请二维码" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliNewLoginQrcode, M>>>;
checkQrcodeStatus: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "二维码状态"; qrcode_key: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliCheckQrcode, M>>>;
getUserTotalPlayCount: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量";
host_mid: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserFullView, M>>>;
convertAvToBv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "AV转BV"; avid: number }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliAv2Bv, M>>>;
convertBvToAv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "BV转AV"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBv2AV, M>>>;
}
getVideoInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "单个视频作品数据"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliOneWork, M>>>
getVideoStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频下载信息数据"; avid: number; cid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliVideoPlayurlIsLogin
| BiliBiliVideoPlayurlNoLogin,
M,
>,
>,
>
getComments: <M extends TypeMode = "loose">(
options: Omit<
{
methodType: "评论数据";
type: number;
oid: string;
number?: number;
mode?: 0
| 1
| 2
| 3;
pagination_str?: string;
plat?: number;
seek_rpid?: string;
web_location?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliWorkComments, M>>>
getUserProfile: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量"; host_mid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserProfile, M>>>
getUserDynamic: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量"; host_mid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserDynamic, M>>>
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliEmojiList, M>>>
getBangumiInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧基本信息数据"; season_id?: string; ep_id?: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBangumiVideoInfo, M>>>
getBangumiStream: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "番剧下载信息数据"; cid: number; ep_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<
ApiResponse<
ConditionalReturnType<
BiliBangumiVideoPlayurlIsLogin
| BiliBangumiVideoPlayurlNoLogin,
M,
>,
>,
>
getDynamicInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicInfoUnion, M>>>
getDynamicCard: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "动态详情数据"
| "动态卡片数据"; dynamic_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliDynamicCard, M>>>
getLiveRoomDetail: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDetail, M>>>
getLiveRoomInitInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "直播间信息"
| "直播间初始化信息"; room_id: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliLiveRoomDef, M>>>
getLoginBasicInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "登录基本信息" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>
getLoginQrcode: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "申请二维码" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliNewLoginQrcode, M>>>
checkQrcodeStatus: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "二维码状态"; qrcode_key: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliCheckQrcode, M>>>
getUserTotalPlayCount: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "用户主页数据"
| "用户主页动态列表数据"
| "获取UP主总播放量"; host_mid: number },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliUserFullView, M>>>
convertAvToBv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "AV转BV"; avid: number }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliAv2Bv, M>>>
convertBvToAv: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "BV转AV"; bvid: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<BiliBv2AV, M>>>
kuaishou: {
kuaishouApiUrls: API;
api: {
getWorkInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频作品数据"; photoId: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsOneWork, M>>>;
getComments: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "评论数据"; photoId: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsWorkComments, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsEmojiList, M>>>;
};
}
kuaishouApiUrls: API
api: {
getWorkInfo: <M extends TypeMode = "loose">(
options: Omit<
{ methodType: "单个视频作品数据"; photoId: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsOneWork, M>>>;
getComments: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "评论数据"; photoId: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsWorkComments, M>>>;
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsEmojiList, M>>>;
}
getWorkInfo: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "单个视频作品数据"; photoId: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsOneWork, M>>>
getComments: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "评论数据"; photoId: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsWorkComments, M>>>
getEmojiList: <M extends TypeMode = "loose">(
options: Omit<{ methodType: "Emoji数据" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<KsEmojiList, M>>>
xiaohongshu: {
sign: typeof xiaohongshuSign;
xiaohongshuApiUrls: {
"首页推荐数据"(
data?: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
cursor_score: string;
num: number;
refresh_type: number;
note_index: number;
category: string;
search_key: string;
image_formats: string[];
};
};
"单个笔记数据"(
data: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
source_note_id: string;
image_formats: string[];
extra: { need_body_topic: string };
xsec_source: string;
xsec_token: string;
};
};
"评论数据"(
data: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
"用户数据"(
data: Omit<{ methodType: "用户数据"; user_id: string }, "methodType">,
): { apiPath: string; Url: string };
"用户笔记数据"(
data: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
"表情列表"(
data: Omit<{ methodType: "表情列表" }, "methodType">,
): { apiPath: string; Url: string };
"搜索笔记"(
data: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
>,
): {
apiPath: string;
Body: {
keyword: string;
page: number;
page_size: number;
sort: SearchSortType;
note_type: SearchNoteType;
search_id: string;
image_formats: string[];
};
Url: string;
};
};
api: {
getHomeFeed: <M extends TypeMode>(
options: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<HomeFeed, M>>>;
getNote: <M extends TypeMode>(
options: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<OneNote, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<NoteComments, M>>>;
getUser: <M extends TypeMode>(
options: Omit<{ methodType: "用户数据"; user_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<
ApiResponse<ConditionalReturnType<XiaohongshuUserProfile, M>>,
>;
getUserNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getSearchNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<SearchNotes, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "表情列表" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuEmojiList, M>>>;
};
}
xiaohongshuApiUrls: {
"首页推荐数据"(
data?: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
cursor_score: string;
num: number;
refresh_type: number;
note_index: number;
category: string;
search_key: string;
image_formats: string[];
};
};
"单个笔记数据"(
data: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
source_note_id: string;
image_formats: string[];
extra: { need_body_topic: string };
xsec_source: string;
xsec_token: string;
};
};
"评论数据"(
data: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
"用户数据"(
data: Omit<{ methodType: "用户数据"; user_id: string }, "methodType">,
): { apiPath: string; Url: string };
"用户笔记数据"(
data: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
"表情列表"(
data: Omit<{ methodType: "表情列表" }, "methodType">,
): { apiPath: string; Url: string };
"搜索笔记"(
data: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
>,
): {
apiPath: string;
Body: {
keyword: string;
page: number;
page_size: number;
sort: SearchSortType;
note_type: SearchNoteType;
search_id: string;
image_formats: string[];
};
Url: string;
};
}
首页推荐数据: function
"首页推荐数据"(
data?: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
cursor_score: string;
num: number;
refresh_type: number;
note_index: number;
category: string;
search_key: string;
image_formats: string[];
};
}
参数
- data: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
> = {}
返回 {
apiPath: string;
Url: string;
Body: {
cursor_score: string;
num: number;
refresh_type: number;
note_index: number;
category: string;
search_key: string;
image_formats: string[];
};
}
完整的接口URL
单个笔记数据: function
"单个笔记数据"(
data: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
>,
): {
apiPath: string;
Url: string;
Body: {
source_note_id: string;
image_formats: string[];
extra: { need_body_topic: string };
xsec_source: string;
xsec_token: string;
};
}
参数
- data: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
>
返回 {
apiPath: string;
Url: string;
Body: {
source_note_id: string;
image_formats: string[];
extra: { need_body_topic: string };
xsec_source: string;
xsec_token: string;
};
}
完整的接口URL
评论数据: function
"评论数据"(
data: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string }
参数
- data: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>
返回 { apiPath: string; Url: string }
完整的接口URL
用户数据: function
用户笔记数据: function
"用户笔记数据"(
data: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string }
参数
- data: Omit<
{ methodType: "用户笔记数据"; user_id: string; cursor?: string; num?: number },
"methodType",
>
返回 { apiPath: string; Url: string }
完整的接口URL
表情列表: function
搜索笔记: function
"搜索笔记"(
data: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
>,
): {
apiPath: string;
Body: {
keyword: string;
page: number;
page_size: number;
sort: SearchSortType;
note_type: SearchNoteType;
search_id: string;
image_formats: string[];
};
Url: string;
}
参数
- data: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
>
返回 {
apiPath: string;
Body: {
keyword: string;
page: number;
page_size: number;
sort: SearchSortType;
note_type: SearchNoteType;
search_id: string;
image_formats: string[];
};
Url: string;
}
完整的接口URL
api: {
getHomeFeed: <M extends TypeMode>(
options: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<HomeFeed, M>>>;
getNote: <M extends TypeMode>(
options: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<OneNote, M>>>;
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<NoteComments, M>>>;
getUser: <M extends TypeMode>(
options: Omit<{ methodType: "用户数据"; user_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuUserProfile, M>>>;
getUserNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>;
getSearchNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<SearchNotes, M>>>;
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "表情列表" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuEmojiList, M>>>;
}
getHomeFeed: <M extends TypeMode>(
options: Omit<
{
methodType: "首页推荐数据";
cursor_score?: string;
num?: number;
refresh_type?: number;
note_index?: number;
category?: string;
search_key?: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<HomeFeed, M>>>
getNote: <M extends TypeMode>(
options: Omit<
{ methodType: "单个笔记数据"; note_id: string; xsec_token: string },
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<OneNote, M>>>
getComments: <M extends TypeMode>(
options: Omit<
{
methodType: "评论数据";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<NoteComments, M>>>
getUser: <M extends TypeMode>(
options: Omit<{ methodType: "用户数据"; user_id: string }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuUserProfile, M>>>
getUserNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "用户笔记数据";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<any, M>>>
getSearchNotes: <M extends TypeMode>(
options: Omit<
{
methodType: "搜索笔记";
keyword: string;
page?: number;
page_size?: number;
sort?: SearchSortType;
note_type?: SearchNoteType;
},
"methodType",
> & { typeMode?: TypeMode } & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<SearchNotes, M>>>
getEmojiList: <M extends TypeMode>(
options: Omit<{ methodType: "表情列表" }, "methodType"> & {
typeMode?: TypeMode;
} & { typeMode?: M },
) => Promise<ApiResponse<ConditionalReturnType<XiaohongshuEmojiList, M>>>
创建Amagi客户端实例