@ikenxuan/amagi 5.3.0 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,6 +28,11 @@ var getPackageLogsPath = () => {
28
28
  return path.join(packageRoot, "logs");
29
29
  };
30
30
  var logsPath = getPackageLogsPath();
31
+ var getLogLevel = () => {
32
+ const logLevel = process.env.LOG_LEVEL || "info";
33
+ return logLevel;
34
+ };
35
+ var currentLogLevel = getLogLevel();
31
36
  log4js.configure({
32
37
  appenders: {
33
38
  console: {
@@ -68,7 +73,7 @@ log4js.configure({
68
73
  }
69
74
  },
70
75
  categories: {
71
- default: { appenders: ["console", "command"], level: "info" },
76
+ default: { appenders: ["console", "command"], level: currentLogLevel },
72
77
  http: { appenders: ["httpConsole", "httpRequest"], level: "debug" }
73
78
  },
74
79
  pm2: true
@@ -1725,6 +1730,43 @@ var DouyinAPI = class {
1725
1730
  };
1726
1731
  return `${baseUrl}?${buildQueryString(params)}`;
1727
1732
  }
1733
+ /**
1734
+ * 获取弹幕数据的接口地址
1735
+ * @param data - 请求参数,包含group_id、item_id等
1736
+ * @returns 完整的接口URL
1737
+ */
1738
+ \u5F39\u5E55(data2) {
1739
+ const baseUrl = "https://www-hj.douyin.com/aweme/v1/web/danmaku/get_v2/";
1740
+ const params = {
1741
+ ...this.getBaseParams(),
1742
+ app_name: "aweme",
1743
+ format: "json",
1744
+ group_id: data2.aweme_id,
1745
+ item_id: data2.aweme_id,
1746
+ start_time: data2.start_time ?? "0",
1747
+ end_time: data2.end_time ?? "32000",
1748
+ duration: data2.duration,
1749
+ update_version_code: "170400",
1750
+ pc_libra_divert: "Windows",
1751
+ support_h265: "1",
1752
+ support_dash: "1",
1753
+ version_code: "170400",
1754
+ version_name: "17.4.0",
1755
+ screen_width: "2328",
1756
+ screen_height: "1310",
1757
+ browser_name: "Edge",
1758
+ browser_version: "140.0.0.0",
1759
+ engine_name: "Blink",
1760
+ engine_version: "140.0.0.0",
1761
+ downlink: "1.55",
1762
+ round_trip_time: "200",
1763
+ webid: "7487210762873685515",
1764
+ msToken: douyinSign.Mstoken(116),
1765
+ verifyFp: fp,
1766
+ fp
1767
+ };
1768
+ return `${baseUrl}?${buildQueryString(params)}`;
1769
+ }
1728
1770
  };
1729
1771
  var createDouyinApiUrls = (userAgent) => {
1730
1772
  return new DouyinAPI(userAgent);
@@ -1972,6 +2014,84 @@ var DouyinData = async (data2, cookie, requestConfig) => {
1972
2014
  });
1973
2015
  return LoginQrcodeStatusData;
1974
2016
  }
2017
+ case "\u5F39\u5E55\u6570\u636E": {
2018
+ const MAX_SEGMENT_DURATION = 32e3;
2019
+ const startTime = data2.start_time ?? 0;
2020
+ const endTime = data2.end_time ?? data2.duration;
2021
+ const totalDuration = endTime - startTime;
2022
+ if (totalDuration <= MAX_SEGMENT_DURATION) {
2023
+ const url = douyinApiUrls3.\u5F39\u5E55({
2024
+ aweme_id: data2.aweme_id,
2025
+ start_time: startTime,
2026
+ end_time: endTime,
2027
+ duration: data2.duration
2028
+ });
2029
+ const DanmakuData = await GlobalGetData2(data2.methodType, {
2030
+ ...baseRequestConfig,
2031
+ url: `${url}&a_bogus=${douyinSign.AB(url, userAgent)}`
2032
+ });
2033
+ return DanmakuData;
2034
+ }
2035
+ const segments = [];
2036
+ let currentStart = startTime;
2037
+ while (currentStart < endTime) {
2038
+ const currentEnd = Math.min(currentStart + MAX_SEGMENT_DURATION, endTime);
2039
+ segments.push({ start: currentStart, end: currentEnd });
2040
+ currentStart = currentEnd;
2041
+ }
2042
+ logger.debug(`\u5F39\u5E55\u6570\u636E\u9700\u8981\u5206${segments.length}\u6BB5\u83B7\u53D6\uFF0C\u603B\u65F6\u957F\uFF1A${totalDuration}ms`);
2043
+ const segmentPromises = segments.map(async (segment, index) => {
2044
+ const url = douyinApiUrls3.\u5F39\u5E55({
2045
+ aweme_id: data2.aweme_id,
2046
+ start_time: segment.start,
2047
+ end_time: segment.end,
2048
+ duration: data2.duration
2049
+ });
2050
+ try {
2051
+ const segmentData = await GlobalGetData2(`${data2.methodType}-\u6BB5${index + 1}`, {
2052
+ ...baseRequestConfig,
2053
+ url: `${url}&a_bogus=${douyinSign.AB(url, userAgent)}`
2054
+ });
2055
+ logger.debug(`\u5F39\u5E55\u7B2C${index + 1}\u6BB5\u83B7\u53D6\u6210\u529F (${segment.start}ms-${segment.end}ms)`);
2056
+ return segmentData;
2057
+ } catch (error) {
2058
+ logger.debug(`\u5F39\u5E55\u7B2C${index + 1}\u6BB5\u83B7\u53D6\u5931\u8D25 (${segment.start}ms-${segment.end}ms):`, error);
2059
+ return null;
2060
+ }
2061
+ });
2062
+ const segmentResults = await Promise.all(segmentPromises);
2063
+ const mergedDanmakuList = [];
2064
+ let totalCount = 0;
2065
+ let finalStartTime = startTime;
2066
+ let finalEndTime = endTime;
2067
+ let finalExtra = null;
2068
+ let finalLogPb = null;
2069
+ let finalStatusCode = 0;
2070
+ segmentResults.forEach((segmentData, index) => {
2071
+ if (segmentData && segmentData.danmaku_list) {
2072
+ mergedDanmakuList.push(...segmentData.danmaku_list);
2073
+ totalCount += segmentData.total || 0;
2074
+ if (index === 0) {
2075
+ finalExtra = segmentData.extra;
2076
+ finalLogPb = segmentData.log_pb;
2077
+ finalStatusCode = segmentData.status_code;
2078
+ }
2079
+ }
2080
+ });
2081
+ mergedDanmakuList.sort((a, b) => (a.offset_time || 0) - (b.offset_time || 0));
2082
+ const finalDanmakuData = {
2083
+ danmaku_list: mergedDanmakuList,
2084
+ start_time: finalStartTime,
2085
+ end_time: finalEndTime,
2086
+ total: mergedDanmakuList.length,
2087
+ // 使用实际合并后的数量
2088
+ status_code: finalStatusCode,
2089
+ extra: finalExtra,
2090
+ log_pb: finalLogPb
2091
+ };
2092
+ logger.debug(`\u5F39\u5E55\u6570\u636E\u5408\u5E76\u5B8C\u6210\uFF0C\u5171\u83B7\u53D6${mergedDanmakuList.length}\u6761\u5F39\u5E55`);
2093
+ return finalDanmakuData;
2094
+ }
1975
2095
  default: {
1976
2096
  logger.warn(`\u672A\u77E5\u7684\u6296\u97F3\u6570\u636E\u63A5\u53E3\uFF1A\u300C${logger.red(data2.methodType)}\u300D`);
1977
2097
  return null;
@@ -2218,46 +2338,87 @@ var smartPositiveInteger = (errorMessage) => {
2218
2338
 
2219
2339
  // src/validation/douyin.ts
2220
2340
  var DouyinWorkParamsSchema = z.object({
2221
- methodType: z.enum(["\u6587\u5B57\u4F5C\u54C1\u6570\u636E", "\u89C6\u9891\u4F5C\u54C1\u6570\u636E", "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E", "\u5408\u8F91\u4F5C\u54C1\u6570\u636E", "\u805A\u5408\u89E3\u6790"]),
2222
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2341
+ methodType: z.enum(["\u6587\u5B57\u4F5C\u54C1\u6570\u636E", "\u89C6\u9891\u4F5C\u54C1\u6570\u636E", "\u56FE\u96C6\u4F5C\u54C1\u6570\u636E", "\u5408\u8F91\u4F5C\u54C1\u6570\u636E", "\u805A\u5408\u89E3\u6790"], {
2342
+ invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2343
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2344
+ }),
2345
+ aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2223
2346
  });
2224
2347
  var DouyinCommentParamsSchema = z.object({
2225
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E"),
2226
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2348
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2349
+ aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2227
2350
  number: smartPositiveInteger("\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(50),
2228
- cursor: z.coerce.number().int().min(0).default(0).optional()
2351
+ cursor: z.coerce.number({ invalid_type_error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0").default(0).optional()
2229
2352
  });
2230
2353
  var DouyinSearchParamsSchema = z.object({
2231
- methodType: z.enum(["\u70ED\u70B9\u8BCD\u6570\u636E", "\u641C\u7D22\u6570\u636E"]),
2232
- query: z.string({ required_error: "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"),
2354
+ methodType: z.enum(["\u70ED\u70B9\u8BCD\u6570\u636E", "\u641C\u7D22\u6570\u636E"], {
2355
+ invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u70ED\u70B9\u8BCD\u6570\u636E"\u6216"\u641C\u7D22\u6570\u636E"',
2356
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2357
+ }),
2358
+ query: z.string({ required_error: "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u641C\u7D22\u8BCD\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u641C\u7D22\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"),
2233
2359
  number: smartPositiveInteger("\u641C\u7D22\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(10),
2234
- search_id: z.string().optional()
2360
+ search_id: z.string({ invalid_type_error: "\u641C\u7D22ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2235
2361
  });
2236
2362
  var DouyinCommentReplyParamsSchema = z.object({
2237
- methodType: z.literal("\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"),
2238
- aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2239
- comment_id: z.string({ required_error: "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A"),
2363
+ methodType: z.literal("\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"' }),
2364
+ aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2365
+ comment_id: z.string({ required_error: "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u8BC4\u8BBAID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u8BC4\u8BBAID\u4E0D\u80FD\u4E3A\u7A7A"),
2240
2366
  number: smartPositiveInteger("\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6574\u6570").optional().default(5),
2241
- cursor: z.coerce.number().int().min(0).default(0).optional()
2367
+ cursor: z.coerce.number({ invalid_type_error: "\u6E38\u6807\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u6E38\u6807\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u6E38\u6807\u4E0D\u80FD\u5C0F\u4E8E0").default(0).optional()
2242
2368
  });
2243
2369
  var DouyinUserParamsSchema = z.object({
2244
- methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E", "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"]),
2245
- sec_uid: z.string({ required_error: "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A")
2370
+ methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u89C6\u9891\u5217\u8868\u6570\u636E", "\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"], {
2371
+ invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2372
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2373
+ }),
2374
+ sec_uid: z.string({ required_error: "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u7528\u6237ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A")
2246
2375
  });
2247
2376
  var DouyinMusicParamsSchema = z.object({
2248
- methodType: z.literal("\u97F3\u4E50\u6570\u636E"),
2249
- music_id: z.string({ required_error: "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A")
2377
+ methodType: z.literal("\u97F3\u4E50\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u97F3\u4E50\u6570\u636E"' }),
2378
+ music_id: z.string({ required_error: "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u97F3\u4E50ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u97F3\u4E50ID\u4E0D\u80FD\u4E3A\u7A7A")
2250
2379
  });
2251
2380
  var DouyinQrcodeParamsSchema = z.object({
2252
- methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"),
2253
- verify_fp: z.string({ required_error: "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A")
2381
+ methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E"' }),
2382
+ verify_fp: z.string({ required_error: "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "fp\u6307\u7EB9\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "fp\u6307\u7EB9\u4E0D\u80FD\u4E3A\u7A7A")
2254
2383
  });
2255
2384
  var DouyinEmojiListParamsSchema = z.object({
2256
- methodType: z.literal("Emoji\u6570\u636E")
2385
+ methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2257
2386
  });
2258
2387
  var DouyinEmojiProParamsSchema = z.object({
2259
- methodType: z.literal("\u52A8\u6001\u8868\u60C5\u6570\u636E")
2388
+ methodType: z.literal("\u52A8\u6001\u8868\u60C5\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8868\u60C5\u6570\u636E"' })
2260
2389
  });
2390
+ var DouyinDanmakuParamsSchema = z.object({
2391
+ methodType: z.literal("\u5F39\u5E55\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5F39\u5E55\u6570\u636E"' }),
2392
+ aweme_id: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A"),
2393
+ start_time: z.coerce.number({ invalid_type_error: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0").optional(),
2394
+ end_time: z.coerce.number({ invalid_type_error: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u7ED3\u675F\u65F6\u95F4\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u5C0F\u4E8E0").optional(),
2395
+ duration: z.number({
2396
+ required_error: "\u89C6\u9891\u65F6\u957F\u4E0D\u80FD\u4E3A\u7A7A",
2397
+ invalid_type_error: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6570\u5B57"
2398
+ }).int({ message: "\u89C6\u9891\u65F6\u957F\u5FC5\u987B\u662F\u6574\u6570" }).min(0, "\u89C6\u9891\u65F6\u957F\u4E0D\u80FD\u5C0F\u4E8E0")
2399
+ }).refine(
2400
+ (data2) => {
2401
+ if (data2.end_time !== void 0) {
2402
+ return data2.end_time <= data2.duration;
2403
+ }
2404
+ return true;
2405
+ },
2406
+ {
2407
+ message: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u8D85\u8FC7\u89C6\u9891\u603B\u65F6\u957F",
2408
+ path: ["end_time"]
2409
+ }
2410
+ ).refine(
2411
+ (data2) => {
2412
+ if (data2.start_time !== void 0 && data2.end_time !== void 0) {
2413
+ return data2.start_time < data2.end_time;
2414
+ }
2415
+ return true;
2416
+ },
2417
+ {
2418
+ message: "\u83B7\u53D6\u5F39\u5E55\u533A\u95F4\u7684\u5F00\u59CB\u65F6\u95F4\u5FC5\u987B\u5C0F\u4E8E\u7ED3\u675F\u65F6\u95F4",
2419
+ path: ["start_time"]
2420
+ }
2421
+ );
2261
2422
  var DouyinValidationSchemas2 = {
2262
2423
  "\u6587\u5B57\u4F5C\u54C1\u6570\u636E": DouyinWorkParamsSchema,
2263
2424
  "\u805A\u5408\u89E3\u6790": DouyinWorkParamsSchema,
@@ -2274,38 +2435,42 @@ var DouyinValidationSchemas2 = {
2274
2435
  "\u7533\u8BF7\u4E8C\u7EF4\u7801\u6570\u636E": DouyinQrcodeParamsSchema,
2275
2436
  "Emoji\u6570\u636E": DouyinEmojiListParamsSchema,
2276
2437
  "\u52A8\u6001\u8868\u60C5\u6570\u636E": DouyinEmojiProParamsSchema,
2277
- "\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E": DouyinCommentReplyParamsSchema
2438
+ "\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E": DouyinCommentReplyParamsSchema,
2439
+ "\u5F39\u5E55\u6570\u636E": DouyinDanmakuParamsSchema
2278
2440
  };
2279
2441
  var BilibiliVideoParamsSchema = z.object({
2280
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"),
2281
- bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2442
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2443
+ bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2282
2444
  });
2283
2445
  var BilibiliVideoDownloadParamsSchema = z.object({
2284
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"),
2446
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2285
2447
  avid: smartNumber("AVID\u4E0D\u80FD\u4E3A\u7A7A", 1, true),
2286
2448
  cid: smartNumber("CID\u4E0D\u80FD\u4E3A\u7A7A", 1, true)
2287
2449
  });
2288
2450
  var BilibiliCommentParamsSchema = z.object({
2289
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E"),
2290
- oid: z.string({ required_error: "OID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "OID\u4E0D\u80FD\u4E3A\u7A7A"),
2451
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2452
+ oid: z.string({ required_error: "OID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "OID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "OID\u4E0D\u80FD\u4E3A\u7A7A"),
2291
2453
  type: smartNumber("\u8BC4\u8BBA\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A", 1, true).refine(
2292
2454
  (val) => [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 33].includes(val),
2293
2455
  { message: "\u65E0\u6548\u7684\u8BC4\u8BBA\u533A\u7C7B\u578B" }
2294
2456
  ),
2295
- number: z.coerce.number().int().positive().default(20).optional(),
2296
- pn: z.coerce.number().int().positive().default(1).optional()
2457
+ number: z.coerce.number({ invalid_type_error: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "\u8BC4\u8BBA\u6570\u91CF\u5FC5\u987B\u662F\u6B63\u6570" }).default(20).optional(),
2458
+ pn: z.coerce.number({ invalid_type_error: "\u9875\u7801\u5FC5\u987B\u662F\u6570\u5B57" }).int({ message: "\u9875\u7801\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "\u9875\u7801\u5FC5\u987B\u662F\u6B63\u6570" }).default(1).optional()
2297
2459
  });
2298
2460
  var BilibiliUserParamsSchema = z.object({
2299
- methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E", "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"]),
2461
+ methodType: z.enum(["\u7528\u6237\u4E3B\u9875\u6570\u636E", "\u7528\u6237\u4E3B\u9875\u52A8\u6001\u5217\u8868\u6570\u636E", "\u83B7\u53D6UP\u4E3B\u603B\u64AD\u653E\u91CF"], {
2462
+ invalid_type_error: "\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F\u6307\u5B9A\u7684\u679A\u4E3E\u503C\u4E4B\u4E00",
2463
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2464
+ }),
2300
2465
  host_mid: smartNumber("UP\u4E3BUID\u4E0D\u80FD\u4E3A\u7A7A", 1, true)
2301
2466
  });
2302
2467
  var BilibiliEmojiParamsSchema = z.object({
2303
- methodType: z.literal("Emoji\u6570\u636E")
2468
+ methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2304
2469
  });
2305
2470
  var BilibiliBangumiInfoParamsSchema = z.object({
2306
- methodType: z.literal("\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"),
2307
- ep_id: z.string().min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A").optional(),
2308
- season_id: z.string().optional()
2471
+ methodType: z.literal("\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u57FA\u672C\u4FE1\u606F\u6570\u636E"' }),
2472
+ ep_id: z.string({ invalid_type_error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A").optional(),
2473
+ season_id: z.string({ invalid_type_error: "\u756A\u5267\u5B63\u5EA6ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).optional()
2309
2474
  }).refine(
2310
2475
  (data2) => data2.ep_id || data2.season_id,
2311
2476
  {
@@ -2314,35 +2479,44 @@ var BilibiliBangumiInfoParamsSchema = z.object({
2314
2479
  }
2315
2480
  );
2316
2481
  var BilibiliBangumiStreamParamsSchema = z.object({
2317
- methodType: z.literal("\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"),
2482
+ methodType: z.literal("\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u756A\u5267\u4E0B\u8F7D\u4FE1\u606F\u6570\u636E"' }),
2318
2483
  cid: smartNumber("CID\u4E0D\u80FD\u4E3A\u7A7A", 1, true),
2319
- ep_id: z.string({ required_error: "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A")
2484
+ ep_id: z.string({ required_error: "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u756A\u5267EP ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u756A\u5267EP ID\u4E0D\u80FD\u4E3A\u7A7A")
2320
2485
  });
2321
2486
  var BilibiliDynamicParamsSchema = z.object({
2322
- methodType: z.enum(["\u52A8\u6001\u8BE6\u60C5\u6570\u636E", "\u52A8\u6001\u5361\u7247\u6570\u636E"]),
2323
- dynamic_id: z.string({ required_error: "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A")
2487
+ methodType: z.enum(["\u52A8\u6001\u8BE6\u60C5\u6570\u636E", "\u52A8\u6001\u5361\u7247\u6570\u636E"], {
2488
+ invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u52A8\u6001\u8BE6\u60C5\u6570\u636E"\u6216"\u52A8\u6001\u5361\u7247\u6570\u636E"',
2489
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2490
+ }),
2491
+ dynamic_id: z.string({ required_error: "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u52A8\u6001ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u52A8\u6001ID\u4E0D\u80FD\u4E3A\u7A7A")
2324
2492
  });
2325
2493
  var BilibiliLiveParamsSchema = z.object({
2326
- methodType: z.enum(["\u76F4\u64AD\u95F4\u4FE1\u606F", "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"]),
2327
- room_id: z.string({ required_error: "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A")
2494
+ methodType: z.enum(["\u76F4\u64AD\u95F4\u4FE1\u606F", "\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"], {
2495
+ invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u76F4\u64AD\u95F4\u4FE1\u606F"\u6216"\u76F4\u64AD\u95F4\u521D\u59CB\u5316\u4FE1\u606F"',
2496
+ required_error: "\u65B9\u6CD5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A"
2497
+ }),
2498
+ room_id: z.string({ required_error: "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u76F4\u64AD\u95F4ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u76F4\u64AD\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A")
2328
2499
  });
2329
2500
  var BilibiliLoginParamsSchema = z.object({
2330
- methodType: z.literal("\u767B\u5F55\u57FA\u672C\u4FE1\u606F")
2501
+ methodType: z.literal("\u767B\u5F55\u57FA\u672C\u4FE1\u606F", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u767B\u5F55\u57FA\u672C\u4FE1\u606F"' })
2331
2502
  });
2332
2503
  var BilibiliQrcodeParamsSchema = z.object({
2333
- methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801")
2504
+ methodType: z.literal("\u7533\u8BF7\u4E8C\u7EF4\u7801", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u7533\u8BF7\u4E8C\u7EF4\u7801"' })
2334
2505
  });
2335
2506
  var BilibiliQrcodeStatusParamsSchema = z.object({
2336
- methodType: z.literal("\u4E8C\u7EF4\u7801\u72B6\u6001"),
2337
- qrcode_key: z.string({ required_error: "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A")
2507
+ methodType: z.literal("\u4E8C\u7EF4\u7801\u72B6\u6001", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u4E8C\u7EF4\u7801\u72B6\u6001"' }),
2508
+ qrcode_key: z.string({ required_error: "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u4E8C\u7EF4\u7801key\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u4E8C\u7EF4\u7801key\u4E0D\u80FD\u4E3A\u7A7A")
2338
2509
  });
2339
2510
  var BilibiliAv2BvParamsSchema = z.object({
2340
- methodType: z.literal("AV\u8F6CBV"),
2341
- avid: z.coerce.number({ required_error: "AVID\u4E0D\u80FD\u4E3A\u7A7A" }).int().positive()
2511
+ methodType: z.literal("AV\u8F6CBV", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"AV\u8F6CBV"' }),
2512
+ avid: z.coerce.number({
2513
+ required_error: "AVID\u4E0D\u80FD\u4E3A\u7A7A",
2514
+ invalid_type_error: "AVID\u5FC5\u987B\u662F\u6570\u5B57"
2515
+ }).int({ message: "AVID\u5FC5\u987B\u662F\u6574\u6570" }).positive({ message: "AVID\u5FC5\u987B\u662F\u6B63\u6570" })
2342
2516
  });
2343
2517
  var BilibiliBv2AvParamsSchema = z.object({
2344
- methodType: z.literal("BV\u8F6CAV"),
2345
- bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2518
+ methodType: z.literal("BV\u8F6CAV", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"BV\u8F6CAV"' }),
2519
+ bvid: z.string({ required_error: "BVID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "BVID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "BVID\u4E0D\u80FD\u4E3A\u7A7A")
2346
2520
  });
2347
2521
  var BilibiliValidationSchemas2 = {
2348
2522
  "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E": BilibiliVideoParamsSchema,
@@ -2365,15 +2539,15 @@ var BilibiliValidationSchemas2 = {
2365
2539
  "BV\u8F6CAV": BilibiliBv2AvParamsSchema
2366
2540
  };
2367
2541
  var KuaishouVideoParamsSchema = z.object({
2368
- methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"),
2369
- photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2542
+ methodType: z.literal("\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E"' }),
2543
+ photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2370
2544
  });
2371
2545
  var KuaishouCommentParamsSchema = z.object({
2372
- methodType: z.literal("\u8BC4\u8BBA\u6570\u636E"),
2373
- photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2546
+ methodType: z.literal("\u8BC4\u8BBA\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"\u8BC4\u8BBA\u6570\u636E"' }),
2547
+ photoId: z.string({ required_error: "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A", invalid_type_error: "\u89C6\u9891ID\u5FC5\u987B\u662F\u5B57\u7B26\u4E32" }).min(1, "\u89C6\u9891ID\u4E0D\u80FD\u4E3A\u7A7A")
2374
2548
  });
2375
2549
  var KuaishouEmojiParamsSchema = z.object({
2376
- methodType: z.literal("Emoji\u6570\u636E")
2550
+ methodType: z.literal("Emoji\u6570\u636E", { invalid_type_error: '\u65B9\u6CD5\u7C7B\u578B\u5FC5\u987B\u662F"Emoji\u6570\u636E"' })
2377
2551
  });
2378
2552
  var KuaishouValidationSchemas2 = {
2379
2553
  "\u5355\u4E2A\u89C6\u9891\u4F5C\u54C1\u6570\u636E": KuaishouVideoParamsSchema,
@@ -2443,8 +2617,8 @@ async function getDouyinData(methodType, optionsOrCookie, cookieOrOptions, reque
2443
2617
  ...validatedParams
2444
2618
  };
2445
2619
  const rawData = await DouyinData(apiParams, cookie, config);
2446
- if (rawData.data === "") {
2447
- return createErrorResponse(rawData.amagiError, "\u6296\u97F3\u6570\u636E\u83B7\u53D6\u5931\u8D25");
2620
+ if (rawData.data === "" || rawData.status_code !== 0) {
2621
+ return createErrorResponse(rawData.amagiError, rawData.status_msg || "\u6296\u97F3\u6570\u636E\u83B7\u53D6\u5931\u8D25");
2448
2622
  }
2449
2623
  return createSuccessResponse(rawData, "\u83B7\u53D6\u6210\u529F", 200);
2450
2624
  } catch (error) {
@@ -3089,7 +3263,13 @@ var douyin = {
3089
3263
  * @param cookie 有效的用户 Cookie
3090
3264
  * @returns 统一格式的API响应,包含直播间详细信息
3091
3265
  */
3092
- getLiveRoomInfo: createDouyinApiMethod("\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E")
3266
+ getLiveRoomInfo: createDouyinApiMethod("\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E"),
3267
+ /**
3268
+ * 获取弹幕数据
3269
+ * @param options 请求参数,包含 aweme_id, 可选的 start_time, end_time, duration 和 typeMode
3270
+ * @returns 统一格式的API响应,包含弹幕数据
3271
+ */
3272
+ getDanmaku: createDouyinApiMethod("\u5F39\u5E55\u6570\u636E")
3093
3273
  };
3094
3274
  var createBoundDouyinApi = (cookie, requestConfig) => {
3095
3275
  return {
@@ -3182,7 +3362,13 @@ var createBoundDouyinApi = (cookie, requestConfig) => {
3182
3362
  * @param options 请求参数,包含 sec_uid 和可选的 typeMode
3183
3363
  * @returns 统一格式的API响应,包含直播间详细信息
3184
3364
  */
3185
- getLiveRoomInfo: createBoundDouyinApiMethod("\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E", cookie, requestConfig)
3365
+ getLiveRoomInfo: createBoundDouyinApiMethod("\u76F4\u64AD\u95F4\u4FE1\u606F\u6570\u636E", cookie, requestConfig),
3366
+ /**
3367
+ * 获取弹幕数据
3368
+ * @param options 请求参数,包含 aweme_id, 可选的 start_time, end_time, duration 和 typeMode
3369
+ * @returns 统一格式的API响应,包含弹幕数据
3370
+ */
3371
+ getDanmaku: createBoundDouyinApiMethod("\u5F39\u5E55\u6570\u636E", cookie, requestConfig)
3186
3372
  };
3187
3373
  };
3188
3374
  var createDouyinRouteHandler = (dataFetcher, methodType, cookie, requestConfig = getDouyinDefaultConfig(cookie)) => {
@@ -3274,6 +3460,11 @@ var createDouyinRoutes = (cookie, requestConfig = getDouyinDefaultConfig(cookie)
3274
3460
  createDouyinValidationMiddleware("\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E"),
3275
3461
  createDouyinRouteHandler(getDouyinData, "\u6307\u5B9A\u8BC4\u8BBA\u56DE\u590D\u6570\u636E", cookie, requestConfig)
3276
3462
  );
3463
+ router.get(
3464
+ "/fetch_work_danmaku",
3465
+ createDouyinValidationMiddleware("\u5F39\u5E55\u6570\u636E"),
3466
+ createDouyinRouteHandler(getDouyinData, "\u5F39\u5E55\u6570\u636E", cookie, requestConfig)
3467
+ );
3277
3468
  return router;
3278
3469
  };
3279
3470
 
@@ -3507,4 +3698,4 @@ var amagi = Client;
3507
3698
  * GPL-3.0 Licensed
3508
3699
  */
3509
3700
 
3510
- export { AdditionalType, ApiError, BilibiliAv2BvParamsSchema, BilibiliBangumiInfoParamsSchema, BilibiliBangumiStreamParamsSchema, BilibiliBv2AvParamsSchema, BilibiliCommentParamsSchema, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, BilibiliLiveParamsSchema, BilibiliLoginParamsSchema, BilibiliQrcodeParamsSchema, BilibiliQrcodeStatusParamsSchema, BilibiliUserParamsSchema, BilibiliValidationSchemas2 as BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, BilibiliVideoParamsSchema, CreateApp, DouyinCommentParamsSchema, DouyinCommentReplyParamsSchema, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, DouyinMusicParamsSchema, DouyinQrcodeParamsSchema, DouyinSearchParamsSchema, DouyinUserParamsSchema, DouyinValidationSchemas2 as DouyinValidationSchemas, DouyinWorkParamsSchema, DynamicType, KuaishouCommentParamsSchema, KuaishouEmojiParamsSchema, KuaishouValidationSchemas2 as KuaishouValidationSchemas, KuaishouVideoParamsSchema, MajorType, ValidationError, amagi, amagiClient, av2bv, bilibili, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBoundBilibiliApi, createBoundDouyinApi, createBoundKuaishouApi, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, Client as default, douyin, douyinApiUrls, douyinSign, douyinUtils, fetchData, fetchResponse, getBilibiliData, getDouyinData, getHeadersAndData, getKuaishouData, handleError, httpLogger, kuaishou, kuaishouApiUrls, kuaishouUtils, logMiddleware, logger, qtparam, createBilibiliRoutes as registerBilibiliRoutes, createDouyinRoutes as registerDouyinRoutes, createKuaishouRoutes as registerKuaishouRoutes, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, wbi_sign };
3701
+ export { AdditionalType, ApiError, BilibiliAv2BvParamsSchema, BilibiliBangumiInfoParamsSchema, BilibiliBangumiStreamParamsSchema, BilibiliBv2AvParamsSchema, BilibiliCommentParamsSchema, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, BilibiliLiveParamsSchema, BilibiliLoginParamsSchema, BilibiliQrcodeParamsSchema, BilibiliQrcodeStatusParamsSchema, BilibiliUserParamsSchema, BilibiliValidationSchemas2 as BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, BilibiliVideoParamsSchema, CreateApp, DouyinCommentParamsSchema, DouyinCommentReplyParamsSchema, DouyinDanmakuParamsSchema, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, DouyinMusicParamsSchema, DouyinQrcodeParamsSchema, DouyinSearchParamsSchema, DouyinUserParamsSchema, DouyinValidationSchemas2 as DouyinValidationSchemas, DouyinWorkParamsSchema, DynamicType, KuaishouCommentParamsSchema, KuaishouEmojiParamsSchema, KuaishouValidationSchemas2 as KuaishouValidationSchemas, KuaishouVideoParamsSchema, MajorType, ValidationError, amagi, amagiClient, av2bv, bilibili, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBoundBilibiliApi, createBoundDouyinApi, createBoundKuaishouApi, createDouyinRoutes, createErrorResponse, createKuaishouRoutes, createSuccessResponse, Client as default, douyin, douyinApiUrls, douyinSign, douyinUtils, fetchData, fetchResponse, getBilibiliData, getDouyinData, getHeadersAndData, getKuaishouData, handleError, httpLogger, kuaishou, kuaishouApiUrls, kuaishouUtils, logMiddleware, logger, qtparam, createBilibiliRoutes as registerBilibiliRoutes, createDouyinRoutes as registerDouyinRoutes, createKuaishouRoutes as registerKuaishouRoutes, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, wbi_sign };