返回 {
startServer: (port?: number) => Application;
events: TypedEventEmitter;
on: <K extends AmagiEventType>(
event: K,
listener: (data: AmagiEventMap[K]) => void,
) => this;
once: <K extends AmagiEventType>(
event: K,
listener: (data: AmagiEventMap[K]) => void,
) => this;
getDouyinData: (..._args: any[]) => never;
getBilibiliData: (..._args: any[]) => never;
getKuaishouData: (..._args: any[]) => never;
getXiaohongshuData: (..._args: any[]) => never;
douyin: {
sign: typeof douyinSign;
douyinApiUrls: DouyinAPI;
api: {
getTextWorkInfo: (..._args: any[]) => never;
getWorkInfo: (..._args: any[]) => never;
getVideoWorkInfo: (..._args: any[]) => never;
getImageAlbumWorkInfo: (..._args: any[]) => never;
getSlidesWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReplies: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getEmojiProList: (..._args: any[]) => never;
getUserVideos: (..._args: any[]) => never;
getMusicInfo: (..._args: any[]) => never;
getSuggestWords: (..._args: any[]) => never;
search: (..._args: any[]) => never;
getLiveRoomInfo: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
invoke: (..._args: any[]) => never;
getSearchData: (..._args: any[]) => never;
};
fetcher: IBoundDouyinFetcher;
};
bilibili: {
sign: {
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>;
av2bv: (aid: number) => `BV1${string}`;
bv2av: (bvid: string) => number;
};
danmaku: {
parseDmSegMobileReply: (
data: ArrayBuffer | Uint8Array<ArrayBufferLike>,
) => Elem;
};
bilibiliApiUrls: BilibiliAPI;
api: {
getVideoInfo: (..._args: any[]) => never;
getVideoStream: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReply: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getUserDynamic: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getBangumiInfo: (..._args: any[]) => never;
getBangumiStream: (..._args: any[]) => never;
getDynamicInfo: (..._args: any[]) => never;
getDynamicCard: (..._args: any[]) => never;
getLiveRoomDetail: (..._args: any[]) => never;
getLiveRoomInitInfo: (..._args: any[]) => never;
getLoginBasicInfo: (..._args: any[]) => never;
getLoginQrcode: (..._args: any[]) => never;
checkQrcodeStatus: (..._args: any[]) => never;
getUserTotalPlayCount: (..._args: any[]) => never;
convertAvToBv: (..._args: any[]) => never;
convertBvToAv: (..._args: any[]) => never;
getArticleContent: (..._args: any[]) => never;
getArticleCard: (..._args: any[]) => never;
getArticleInfo: (..._args: any[]) => never;
getColumnInfo: (..._args: any[]) => never;
getUserProfileDetail: (..._args: any[]) => never;
applyVoucherCaptcha: (..._args: any[]) => never;
validateCaptcha: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
};
fetcher: IBoundBilibiliFetcher;
};
kuaishou: {
kuaishouApiUrls: API;
api: {
getWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
};
fetcher: IBoundKuaishouFetcher;
};
xiaohongshu: {
sign: typeof xiaohongshuSign;
xiaohongshuApiUrls: {
homeFeed(
data?: Omit<
{
methodType: "homeFeed";
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[];
};
};
noteDetail(
data: Omit<
{ methodType: "noteDetail"; 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;
};
};
noteComments(
data: Omit<
{
methodType: "noteComments";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
userProfile(
data: Omit<
{ methodType: "userProfile"; user_id: string },
"methodType",
>,
): { apiPath: string; Url: string };
userNoteList(
data: Omit<
{
methodType: "userNoteList";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
emojiList(
data: Omit<{ methodType: "emojiList" }, "methodType">,
): { apiPath: string; Url: string };
searchNotes(
data: Omit<
{
methodType: "searchNotes";
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: (..._args: any[]) => never;
getNote: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getUser: (..._args: any[]) => never;
getUserNotes: (..._args: any[]) => never;
getSearchNotes: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
};
fetcher: IBoundXiaohongshuFetcher;
};
}
包含数据获取方法、服务器启动方法、绑定Cookie的平台工具集和API对象的对象
startServer: (port?: number) => Application
events: TypedEventEmitter
on: <K extends AmagiEventType>(
event: K,
listener: (data: AmagiEventMap[K]) => void,
) => this
once: <K extends AmagiEventType>(
event: K,
listener: (data: AmagiEventMap[K]) => void,
) => this
getDouyinData: (..._args: any[]) => never
getBilibiliData: (..._args: any[]) => never
getKuaishouData: (..._args: any[]) => never
getXiaohongshuData: (..._args: any[]) => never
douyin: {
sign: typeof douyinSign;
douyinApiUrls: DouyinAPI;
api: {
getTextWorkInfo: (..._args: any[]) => never;
getWorkInfo: (..._args: any[]) => never;
getVideoWorkInfo: (..._args: any[]) => never;
getImageAlbumWorkInfo: (..._args: any[]) => never;
getSlidesWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReplies: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getEmojiProList: (..._args: any[]) => never;
getUserVideos: (..._args: any[]) => never;
getMusicInfo: (..._args: any[]) => never;
getSuggestWords: (..._args: any[]) => never;
search: (..._args: any[]) => never;
getLiveRoomInfo: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
invoke: (..._args: any[]) => never;
getSearchData: (..._args: any[]) => never;
};
fetcher: IBoundDouyinFetcher;
}
douyinApiUrls: DouyinAPI
api: {
getTextWorkInfo: (..._args: any[]) => never;
getWorkInfo: (..._args: any[]) => never;
getVideoWorkInfo: (..._args: any[]) => never;
getImageAlbumWorkInfo: (..._args: any[]) => never;
getSlidesWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReplies: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getEmojiProList: (..._args: any[]) => never;
getUserVideos: (..._args: any[]) => never;
getMusicInfo: (..._args: any[]) => never;
getSuggestWords: (..._args: any[]) => never;
search: (..._args: any[]) => never;
getLiveRoomInfo: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
invoke: (..._args: any[]) => never;
getSearchData: (..._args: any[]) => never;
}
getTextWorkInfo: (..._args: any[]) => never
getWorkInfo: (..._args: any[]) => never
getVideoWorkInfo: (..._args: any[]) => never
getImageAlbumWorkInfo: (..._args: any[]) => never
getSlidesWorkInfo: (..._args: any[]) => never
getComments: (..._args: any[]) => never
getCommentReplies: (..._args: any[]) => never
getUserProfile: (..._args: any[]) => never
getEmojiList: (..._args: any[]) => never
getEmojiProList: (..._args: any[]) => never
getUserVideos: (..._args: any[]) => never
getMusicInfo: (..._args: any[]) => never
getSuggestWords: (..._args: any[]) => never
search: (..._args: any[]) => never
getLiveRoomInfo: (..._args: any[]) => never
getDanmaku: (..._args: any[]) => never
invoke: (..._args: any[]) => never
getSearchData: (..._args: any[]) => never
bilibili: {
sign: {
wbi_sign: (BASEURL: string | URL, cookie: string) => Promise<string>;
av2bv: (aid: number) => `BV1${string}`;
bv2av: (bvid: string) => number;
};
danmaku: {
parseDmSegMobileReply: (
data: ArrayBuffer | Uint8Array<ArrayBufferLike>,
) => Elem;
};
bilibiliApiUrls: BilibiliAPI;
api: {
getVideoInfo: (..._args: any[]) => never;
getVideoStream: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReply: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getUserDynamic: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getBangumiInfo: (..._args: any[]) => never;
getBangumiStream: (..._args: any[]) => never;
getDynamicInfo: (..._args: any[]) => never;
getDynamicCard: (..._args: any[]) => never;
getLiveRoomDetail: (..._args: any[]) => never;
getLiveRoomInitInfo: (..._args: any[]) => never;
getLoginBasicInfo: (..._args: any[]) => never;
getLoginQrcode: (..._args: any[]) => never;
checkQrcodeStatus: (..._args: any[]) => never;
getUserTotalPlayCount: (..._args: any[]) => never;
convertAvToBv: (..._args: any[]) => never;
convertBvToAv: (..._args: any[]) => never;
getArticleContent: (..._args: any[]) => never;
getArticleCard: (..._args: any[]) => never;
getArticleInfo: (..._args: any[]) => never;
getColumnInfo: (..._args: any[]) => never;
getUserProfileDetail: (..._args: any[]) => never;
applyVoucherCaptcha: (..._args: any[]) => never;
validateCaptcha: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
};
fetcher: IBoundBilibiliFetcher;
}
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
danmaku: {
parseDmSegMobileReply: (
data: ArrayBuffer | Uint8Array<ArrayBufferLike>,
) => Elem;
}
parseDmSegMobileReply: (data: ArrayBuffer | Uint8Array<ArrayBufferLike>) => Elem
bilibiliApiUrls: BilibiliAPI
api: {
getVideoInfo: (..._args: any[]) => never;
getVideoStream: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getCommentReply: (..._args: any[]) => never;
getUserProfile: (..._args: any[]) => never;
getUserDynamic: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
getBangumiInfo: (..._args: any[]) => never;
getBangumiStream: (..._args: any[]) => never;
getDynamicInfo: (..._args: any[]) => never;
getDynamicCard: (..._args: any[]) => never;
getLiveRoomDetail: (..._args: any[]) => never;
getLiveRoomInitInfo: (..._args: any[]) => never;
getLoginBasicInfo: (..._args: any[]) => never;
getLoginQrcode: (..._args: any[]) => never;
checkQrcodeStatus: (..._args: any[]) => never;
getUserTotalPlayCount: (..._args: any[]) => never;
convertAvToBv: (..._args: any[]) => never;
convertBvToAv: (..._args: any[]) => never;
getArticleContent: (..._args: any[]) => never;
getArticleCard: (..._args: any[]) => never;
getArticleInfo: (..._args: any[]) => never;
getColumnInfo: (..._args: any[]) => never;
getUserProfileDetail: (..._args: any[]) => never;
applyVoucherCaptcha: (..._args: any[]) => never;
validateCaptcha: (..._args: any[]) => never;
getDanmaku: (..._args: any[]) => never;
}
getVideoInfo: (..._args: any[]) => never
getVideoStream: (..._args: any[]) => never
getComments: (..._args: any[]) => never
getCommentReply: (..._args: any[]) => never
getUserProfile: (..._args: any[]) => never
getUserDynamic: (..._args: any[]) => never
getEmojiList: (..._args: any[]) => never
getBangumiInfo: (..._args: any[]) => never
getBangumiStream: (..._args: any[]) => never
getDynamicInfo: (..._args: any[]) => never
getDynamicCard: (..._args: any[]) => never
getLiveRoomDetail: (..._args: any[]) => never
getLiveRoomInitInfo: (..._args: any[]) => never
getLoginBasicInfo: (..._args: any[]) => never
getLoginQrcode: (..._args: any[]) => never
checkQrcodeStatus: (..._args: any[]) => never
getUserTotalPlayCount: (..._args: any[]) => never
convertAvToBv: (..._args: any[]) => never
convertBvToAv: (..._args: any[]) => never
getArticleContent: (..._args: any[]) => never
getArticleCard: (..._args: any[]) => never
getArticleInfo: (..._args: any[]) => never
getColumnInfo: (..._args: any[]) => never
getUserProfileDetail: (..._args: any[]) => never
applyVoucherCaptcha: (..._args: any[]) => never
validateCaptcha: (..._args: any[]) => never
getDanmaku: (..._args: any[]) => never
kuaishou: {
kuaishouApiUrls: API;
api: {
getWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
};
fetcher: IBoundKuaishouFetcher;
}
kuaishouApiUrls: API
api: {
getWorkInfo: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
}
getWorkInfo: (..._args: any[]) => never
getComments: (..._args: any[]) => never
getEmojiList: (..._args: any[]) => never
xiaohongshu: {
sign: typeof xiaohongshuSign;
xiaohongshuApiUrls: {
homeFeed(
data?: Omit<
{
methodType: "homeFeed";
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[];
};
};
noteDetail(
data: Omit<
{ methodType: "noteDetail"; 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;
};
};
noteComments(
data: Omit<
{
methodType: "noteComments";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
userProfile(
data: Omit<
{ methodType: "userProfile"; user_id: string },
"methodType",
>,
): { apiPath: string; Url: string };
userNoteList(
data: Omit<
{
methodType: "userNoteList";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
emojiList(
data: Omit<{ methodType: "emojiList" }, "methodType">,
): { apiPath: string; Url: string };
searchNotes(
data: Omit<
{
methodType: "searchNotes";
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: (..._args: any[]) => never;
getNote: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getUser: (..._args: any[]) => never;
getUserNotes: (..._args: any[]) => never;
getSearchNotes: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
};
fetcher: IBoundXiaohongshuFetcher;
}
xiaohongshuApiUrls: {
homeFeed(
data?: Omit<
{
methodType: "homeFeed";
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[];
};
};
noteDetail(
data: Omit<
{ methodType: "noteDetail"; 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;
};
};
noteComments(
data: Omit<
{
methodType: "noteComments";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string };
userProfile(
data: Omit<
{ methodType: "userProfile"; user_id: string },
"methodType",
>,
): { apiPath: string; Url: string };
userNoteList(
data: Omit<
{
methodType: "userNoteList";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string };
emojiList(
data: Omit<{ methodType: "emojiList" }, "methodType">,
): { apiPath: string; Url: string };
searchNotes(
data: Omit<
{
methodType: "searchNotes";
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;
};
}
homeFeed: function
homeFeed(
data?: Omit<
{
methodType: "homeFeed";
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: "homeFeed";
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
noteDetail: function
noteDetail(
data: Omit<
{ methodType: "noteDetail"; 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: "noteDetail"; 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
noteComments: function
noteComments(
data: Omit<
{
methodType: "noteComments";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>,
): { apiPath: string; Url: string }
参数
- data: Omit<
{
methodType: "noteComments";
note_id: string;
cursor?: string;
xsec_token: string;
},
"methodType",
>
返回 { apiPath: string; Url: string }
完整的接口URL
userProfile: function
userNoteList: function
userNoteList(
data: Omit<
{
methodType: "userNoteList";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>,
): { apiPath: string; Url: string }
参数
- data: Omit<
{
methodType: "userNoteList";
user_id: string;
cursor?: string;
num?: number;
},
"methodType",
>
返回 { apiPath: string; Url: string }
完整的接口URL
emojiList: function
searchNotes: function
searchNotes(
data: Omit<
{
methodType: "searchNotes";
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: "searchNotes";
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: (..._args: any[]) => never;
getNote: (..._args: any[]) => never;
getComments: (..._args: any[]) => never;
getUser: (..._args: any[]) => never;
getUserNotes: (..._args: any[]) => never;
getSearchNotes: (..._args: any[]) => never;
getEmojiList: (..._args: any[]) => never;
}
getHomeFeed: (..._args: any[]) => never
getNote: (..._args: any[]) => never
getComments: (..._args: any[]) => never
getUser: (..._args: any[]) => never
getUserNotes: (..._args: any[]) => never
getSearchNotes: (..._args: any[]) => never
getEmojiList: (..._args: any[]) => never
创建Amagi客户端实例