karin-plugin-kkk 2.11.1 → 2.11.3

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/lib/apps/admin.js +3 -3
  3. package/lib/apps/help.js +3 -3
  4. package/lib/apps/push.js +3 -3
  5. package/lib/apps/tools.js +3 -3
  6. package/lib/apps/update.js +3 -3
  7. package/lib/build-metadata.json +5 -5
  8. package/lib/core_chunk/{main-DAXkrkdv.js → main-Cj28ePzx.js} +38 -19
  9. package/lib/core_chunk/{template-C96NMWLM.d.ts → template-Dq51xu-v.d.ts} +20 -1
  10. package/lib/core_chunk/{template-DsgAckrG.js → template-Tik4Jw3F.js} +216 -131
  11. package/lib/core_chunk/template.js +2 -2
  12. package/lib/core_chunk/{vendor-BjR6OHPI.js → vendor-4CM806JY.js} +62 -47
  13. package/lib/index.js +3 -3
  14. package/lib/karin-plugin-kkk.css +30 -8
  15. package/lib/root.js +1 -1
  16. package/lib/web.config.js +3 -3
  17. package/lib/web_chunk/assets/{Combination-CWufCwBk.js → Combination-DtPKUwx2.js} +1 -1
  18. package/lib/web_chunk/assets/{avatar-Chey9JBE.js → avatar-BBBP690e.js} +1 -1
  19. package/lib/web_chunk/assets/{core-CJPc7-OY.js → core-B-7utY9l.js} +1 -1
  20. package/lib/web_chunk/assets/{eye-GveI3wVV.js → eye-cxTA4trG.js} +1 -1
  21. package/lib/web_chunk/assets/{index-DNsC3V17.js → index-dMRO5klm.js} +6 -6
  22. package/lib/web_chunk/assets/{jszip.min-D_NubP3F.js → jszip.min-gn2UlVrt.js} +1 -1
  23. package/lib/web_chunk/assets/{page-WcmBRMfE.js → page-6C-nVlZh.js} +1 -1
  24. package/lib/web_chunk/assets/{page-BoQkLIdl.js → page-BTfyAvTJ.js} +1 -1
  25. package/lib/web_chunk/assets/{page-DnYRBWd8.js → page-BUdMcFHS.js} +2 -2
  26. package/lib/web_chunk/assets/{page-DLwxUyHq.js → page-DfilHwK-.js} +1 -1
  27. package/lib/web_chunk/assets/{page-Db2VFIJj.js → page-FhtQLah8.js} +4 -4
  28. package/lib/web_chunk/assets/{parsers-CjnEdSCi.js → parsers-DUp7Qn4t.js} +1 -1
  29. package/lib/web_chunk/assets/{request-uKt83bs3.js → request-B_PlHZWr.js} +1 -1
  30. package/lib/web_chunk/assets/{select-y-g1pFjh.js → select-D-QMYw60.js} +1 -1
  31. package/lib/web_chunk/assets/{separator-CilkSuuT.js → separator-JfZ4Z_-v.js} +1 -1
  32. package/lib/web_chunk/index.html +1 -1
  33. package/lib/web_chunk/sw.js +1 -1
  34. package/package.json +2 -2
  35. package/resources/image//346/265/201/346/263/252.png +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [2.11.3](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.11.2...v2.11.3) (2025-11-13)
6
+
7
+
8
+ ### 🐛 错误修复
9
+
10
+ * 提高兼容性 ([c147834](https://github.com/ikenxuan/karin-plugin-kkk/commit/c147834ddd43fd027e5621b689773a15d90b6f36))
11
+
12
+
13
+ ### 💄 UI 优化
14
+
15
+ * **error-handler:** Enhance error page with new crying emoji and text refinements ([618e437](https://github.com/ikenxuan/karin-plugin-kkk/commit/618e437f43f73fb456547aff98cfd220a822863d))
16
+ * 更新提示浅色模式下不显示新版本号 ([435a21e](https://github.com/ikenxuan/karin-plugin-kkk/commit/435a21e879677fc6c0d5b22dab02db12e81c1e9e))
17
+
18
+ ## [2.11.2](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.11.1...v2.11.2) (2025-11-11)
19
+
20
+
21
+ ### 💄 UI 优化
22
+
23
+ * **bilibili:** 同步评论图头部样式 ([5c808ff](https://github.com/ikenxuan/karin-plugin-kkk/commit/5c808ffed74ef9cde952ce81eeeabc143fbf7c3c))
24
+ * **error-handler:** Enhance error reporting with adapter information and improved UI ([ffbd3e5](https://github.com/ikenxuan/karin-plugin-kkk/commit/ffbd3e5c929e9d6c362312626acccd4332d52058))
25
+
5
26
  ## [2.11.1](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.11.0...v2.11.1) (2025-11-11)
6
27
 
7
28
 
package/lib/apps/admin.js CHANGED
@@ -1,4 +1,4 @@
1
- import "../core_chunk/vendor-BjR6OHPI.js";
2
- import { C as removeAllFiles, E as task, S as dylogin, T as setdyck, w as setbilick, x as biLogin } from "../core_chunk/main-DAXkrkdv.js";
3
- import "../core_chunk/template-DsgAckrG.js";
1
+ import "../core_chunk/vendor-4CM806JY.js";
2
+ import { C as removeAllFiles, E as task, S as dylogin, T as setdyck, w as setbilick, x as biLogin } from "../core_chunk/main-Cj28ePzx.js";
3
+ import "../core_chunk/template-Tik4Jw3F.js";
4
4
  export { biLogin, dylogin, removeAllFiles, setbilick, setdyck, task };
package/lib/apps/help.js CHANGED
@@ -1,4 +1,4 @@
1
- import "../core_chunk/vendor-BjR6OHPI.js";
2
- import { b as version, y as help } from "../core_chunk/main-DAXkrkdv.js";
3
- import "../core_chunk/template-DsgAckrG.js";
1
+ import "../core_chunk/vendor-4CM806JY.js";
2
+ import { b as version, y as help } from "../core_chunk/main-Cj28ePzx.js";
3
+ import "../core_chunk/template-Tik4Jw3F.js";
4
4
  export { help, version };
package/lib/apps/push.js CHANGED
@@ -1,4 +1,4 @@
1
- import "../core_chunk/vendor-BjR6OHPI.js";
2
- import { _ as setdyPush, d as bilibiliPushList, f as changeBotID, g as setbiliPush, h as forcePush, m as douyinPushList, p as douyinPush, u as bilibiliPush, v as testDouyinPush } from "../core_chunk/main-DAXkrkdv.js";
3
- import "../core_chunk/template-DsgAckrG.js";
1
+ import "../core_chunk/vendor-4CM806JY.js";
2
+ import { _ as setdyPush, d as bilibiliPushList, f as changeBotID, g as setbiliPush, h as forcePush, m as douyinPushList, p as douyinPush, u as bilibiliPush, v as testDouyinPush } from "../core_chunk/main-Cj28ePzx.js";
3
+ import "../core_chunk/template-Tik4Jw3F.js";
4
4
  export { bilibiliPush, bilibiliPushList, changeBotID, douyinPush, douyinPushList, forcePush, setbiliPush, setdyPush, testDouyinPush };
package/lib/apps/tools.js CHANGED
@@ -1,4 +1,4 @@
1
- import "../core_chunk/vendor-BjR6OHPI.js";
2
- import { a as bilibiliAPP, c as prefix, l as xiaohongshuAPP, o as douyinAPP, s as kuaishouAPP } from "../core_chunk/main-DAXkrkdv.js";
3
- import "../core_chunk/template-DsgAckrG.js";
1
+ import "../core_chunk/vendor-4CM806JY.js";
2
+ import { a as bilibiliAPP, c as prefix, l as xiaohongshuAPP, o as douyinAPP, s as kuaishouAPP } from "../core_chunk/main-Cj28ePzx.js";
3
+ import "../core_chunk/template-Tik4Jw3F.js";
4
4
  export { bilibiliAPP, douyinAPP, kuaishouAPP, prefix, xiaohongshuAPP };
@@ -1,4 +1,4 @@
1
- import "../core_chunk/vendor-BjR6OHPI.js";
2
- import { i as update, n as kkkUpdateCommand, r as kkkUpdateTest, t as kkkUpdate } from "../core_chunk/main-DAXkrkdv.js";
3
- import "../core_chunk/template-DsgAckrG.js";
1
+ import "../core_chunk/vendor-4CM806JY.js";
2
+ import { i as update, n as kkkUpdateCommand, r as kkkUpdateTest, t as kkkUpdate } from "../core_chunk/main-Cj28ePzx.js";
3
+ import "../core_chunk/template-Tik4Jw3F.js";
4
4
  export { kkkUpdate, kkkUpdateCommand, kkkUpdateTest, update };
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "2.11.1",
3
- "buildTime": "2025-11-11T07:19:29.979Z",
4
- "buildTimestamp": 1762845569979,
2
+ "version": "2.11.3",
3
+ "buildTime": "2025-11-13T02:16:05.636Z",
4
+ "buildTimestamp": 1763000165637,
5
5
  "name": "karin-plugin-kkk",
6
6
  "description": "Karin 的「抖音」「B 站」视频解析/动态推送插件",
7
7
  "homepage": "https://github.com/ikenxuan/karin-plugin-kkk",
8
- "commitHash": "7a69caa7ff42d375735810c20ff058e04ba41a6a",
9
- "shortCommitHash": "7a69caa7"
8
+ "commitHash": "35fd936671f9064ce5990c19a45fb84898cf0d18",
9
+ "shortCommitHash": "35fd9366"
10
10
  }
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin, o as __toESM, r as __export } from "./rolldown-runtime-DWBZqjDW.js";
2
- import { At as amagi, Bt as wbi_sign, Dt as Client, Et as require_lib, Ft as getBilibiliData, Ht as init_dist, It as getDouyinData, Lt as init_default, Mt as createBilibiliRoutes, Nt as createDouyinRoutes, Ot as DynamicType, Pt as createKuaishouRoutes, Rt as logMiddleware, Tt as require_lib$1, Vt as app$1, jt as bilibiliApiUrls, kt as MajorType, n as require_browser, t as require_heic_convert, wt as require_dist, zt as logger$1 } from "./vendor-BjR6OHPI.js";
3
- import { n as init_client, r as reactServerRender } from "./template-DsgAckrG.js";
2
+ import { At as amagi, Bt as wbi_sign, Dt as Client, Et as require_lib, Ft as getBilibiliData, Ht as init_dist, It as getDouyinData, Lt as init_default, Mt as createBilibiliRoutes, Nt as createDouyinRoutes, Ot as DynamicType, Pt as createKuaishouRoutes, Rt as logMiddleware, Tt as require_lib$1, Vt as app$1, jt as bilibiliApiUrls, kt as MajorType, n as require_browser, t as require_heic_convert, wt as require_dist, zt as logger$1 } from "./vendor-4CM806JY.js";
3
+ import { n as init_client, r as reactServerRender } from "./template-Tik4Jw3F.js";
4
4
  import path, { resolve } from "node:path";
5
5
  import fs from "node:fs";
6
6
  import { fileURLToPath } from "node:url";
@@ -247,10 +247,15 @@ var init_build_metadata = __esmMin(() => {
247
247
  return `${date.getFullYear()}年${String(date.getMonth() + 1).padStart(2, "0")}月${String(date.getDate()).padStart(2, "0")}日 ${String(date.getHours()).padStart(2, "0")}:${String(date.getMinutes()).padStart(2, "0")}`;
248
248
  };
249
249
  });
250
+ var init_module = __esmMin(async () => {
251
+ init_db();
252
+ init_utils();
253
+ });
250
254
  var Tools, Common;
251
- var init_Common = __esmMin(() => {
252
- init_Config();
253
- init_root();
255
+ var init_Common = __esmMin(async () => {
256
+ await init_Config();
257
+ await init_root();
258
+ await init_module();
254
259
  Tools = class {
255
260
  tempDri;
256
261
  constructor() {
@@ -406,15 +411,20 @@ var init_Common = __esmMin(() => {
406
411
  return resolvedPath;
407
412
  }
408
413
  count(num) {
409
- if (num > 1e4) return (num / 1e4).toFixed(1) + "万";
410
- return num.toString();
414
+ return Count(num);
415
+ }
416
+ formatFileSize(sizeInMB) {
417
+ const size = typeof sizeInMB === "string" ? parseFloat(sizeInMB) : sizeInMB;
418
+ if (size < 1024) return `${size.toFixed(2)}MB`;
419
+ else if (size < 1024 * 1024) return `${(size / 1024).toFixed(2)}GB`;
420
+ else return `${(size / (1024 * 1024)).toFixed(2)}TB`;
411
421
  }
412
422
  };
413
423
  Common = new Tools();
414
424
  });
415
425
  var mergeFile, FFmpeg;
416
- var init_FFmpeg = __esmMin(() => {
417
- init_utils();
426
+ var init_FFmpeg = __esmMin(async () => {
427
+ await init_utils();
418
428
  mergeFile = async (type, options) => await new FFmpeg(type).FFmpeg(options);
419
429
  FFmpeg = class {
420
430
  type;
@@ -823,10 +833,6 @@ var init_Networks = __esmMin(() => {
823
833
  }
824
834
  };
825
835
  });
826
- var init_module = __esmMin(async () => {
827
- init_db();
828
- init_utils();
829
- });
830
836
  var import_browser, createQrCodePlugin;
831
837
  var init_plugins = __esmMin(() => {
832
838
  import_browser = __toESM(require_browser());
@@ -4304,9 +4310,10 @@ var Bilibili = class extends Base {
4304
4310
  CommentLength: Config.bilibili.realCommentCount ? Count(infoData.data.data.stat.reply) : String(commentsdata.length),
4305
4311
  share_url: "https://b23.tv/" + infoData.data.data.bvid,
4306
4312
  Clarity: Config.bilibili.videoQuality !== 0 && Config.bilibili.videoQuality < 64 ? nockData.data.accept_description[nockData.data.accept_description.length - 1] : playUrlData.data.data.accept_description[0],
4307
- VideoSize: Config.bilibili.videoQuality !== 0 && Config.bilibili.videoQuality < 64 ? (nockData.data.durl[0].size / (1024 * 1024)).toFixed(2) : videoSize,
4313
+ VideoSize: Config.bilibili.videoQuality !== 0 && Config.bilibili.videoQuality < 64 ? Common.formatFileSize((nockData.data.durl[0].size / (1024 * 1024)).toFixed(2)) : Common.formatFileSize(videoSize),
4308
4314
  ImageLength: 0,
4309
- shareurl: "https://b23.tv/" + infoData.data.data.bvid
4315
+ shareurl: "https://b23.tv/" + infoData.data.data.bvid,
4316
+ Resolution: Config.bilibili.videoQuality !== 0 && Config.bilibili.videoQuality < 64 ? null : `${playUrlData.data.data.dash.video[0].width} x ${playUrlData.data.data.dash.video[0].height}`
4310
4317
  });
4311
4318
  this.e.reply(img$1);
4312
4319
  }
@@ -4431,7 +4438,8 @@ var Bilibili = class extends Base {
4431
4438
  CommentLength: String(commentsdata?.length ?? 0),
4432
4439
  share_url: "https://t.bilibili.com/" + dynamicInfo.data.data.item.id_str,
4433
4440
  ImageLength: dynamicInfo.data.data.item.modules?.module_dynamic?.major?.draw?.items?.length ?? 0,
4434
- shareurl: "动态分享链接"
4441
+ shareurl: "动态分享链接",
4442
+ Resolution: null
4435
4443
  });
4436
4444
  if (imgArray.length === 1) this.e.reply(imgArray[0]);
4437
4445
  if (imgArray.length > 1) {
@@ -4585,7 +4593,8 @@ var Bilibili = class extends Base {
4585
4593
  CommentLength: String(bilibiliComments(commentsData.data, dynamicInfo.data.data.item.modules.module_author.mid.toString())?.length ? bilibiliComments(commentsData.data, dynamicInfo.data.data.item.modules.module_author.mid.toString()).length : 0),
4586
4594
  share_url: "https://www.bilibili.com/video/" + bvid,
4587
4595
  ImageLength: dynamicInfo.data.data.item.modules?.module_dynamic?.major?.draw?.items?.length ?? 0,
4588
- shareurl: "动态分享链接"
4596
+ shareurl: "动态分享链接",
4597
+ Resolution: null
4589
4598
  }));
4590
4599
  img$1 = await Render("bilibili/dynamic/DYNAMIC_TYPE_AV", {
4591
4600
  image_url: INFODATA.data.data.pic,
@@ -6403,7 +6412,9 @@ var DouYin = class extends Base {
6403
6412
  if (!douyinCommentsRes.CommentsData.length) await this.e.reply("这个作品没有评论 ~");
6404
6413
  else {
6405
6414
  const suggest = [];
6406
- for (const item of VideoData.data.aweme_detail.suggest_words.suggest_words) if (item.words && item.scene === "comment_top_rec") for (const v of item.words) v.word && suggest.push(v.word);
6415
+ if (VideoData.data.aweme_detail?.suggest_words?.suggest_words) {
6416
+ for (const item of VideoData.data.aweme_detail.suggest_words.suggest_words) if (item.words && item.scene === "comment_top_rec") for (const v of item.words) v.word && suggest.push(v.word);
6417
+ }
6407
6418
  const img$2 = await Render("douyin/comment", {
6408
6419
  Type: this.is_mp4 ? "视频" : this.is_slides ? "合辑" : "图集",
6409
6420
  CommentsData: douyinCommentsRes.CommentsData,
@@ -7878,6 +7889,13 @@ var handleBusinessError = async (error, options, logs$1, event) => {
7878
7889
  logger.debug(`[ErrorHandler] 开始处理业务错误: ${options.businessName}`);
7879
7890
  const triggerCommand = event?.msg || "未知命令或处于非消息环境";
7880
7891
  const buildMetadata = getBuildMetadata();
7892
+ const adapterInfo = event?.bot?.adapter ? {
7893
+ name: event.bot.adapter.name,
7894
+ version: event.bot.adapter.version,
7895
+ platform: event.bot.adapter.platform,
7896
+ protocol: event.bot.adapter.protocol,
7897
+ standard: event.bot.adapter.standard
7898
+ } : void 0;
7881
7899
  logger.debug("[ErrorHandler] 正在渲染错误页面...");
7882
7900
  const img$2 = await Render("other/handlerError", {
7883
7901
  type: "business_error",
@@ -7895,7 +7913,8 @@ var handleBusinessError = async (error, options, logs$1, event) => {
7895
7913
  frameworkVersion: Root.karinVersion,
7896
7914
  pluginVersion: Root.pluginVersion,
7897
7915
  buildTime: buildMetadata?.buildTime ? formatBuildTime(buildMetadata.buildTime) : void 0,
7898
- commitHash: buildMetadata?.commitHash
7916
+ commitHash: buildMetadata?.commitHash,
7917
+ adapterInfo
7899
7918
  });
7900
7919
  logger.debug("[ErrorHandler] 错误页面渲染完成");
7901
7920
  if (event && Config.app.errorLogSendTo.some((item) => item === "trigger")) try {
@@ -526,11 +526,13 @@ interface BilibiliCommentProps extends BaseComponentProps {
526
526
  shareurl: string;
527
527
  /** 分享URL */
528
528
  share_url: string;
529
+ /** 视频分辨率 */
530
+ Resolution: string | null;
529
531
  /** 评论数据 */
530
532
  CommentsData: CommentItem[];
531
533
  };
532
534
  /** 预生成的二维码数据URL */
533
- qrCodeDataUrl?: string;
535
+ qrCodeDataUrl: string;
534
536
  }
535
537
  /**
536
538
  * 粉丝卡片信息接口
@@ -1440,6 +1442,21 @@ interface BusinessError {
1440
1442
  businessName: string;
1441
1443
  }
1442
1444
  /**
1445
+ * 适配器信息接口
1446
+ */
1447
+ interface AdapterInfo {
1448
+ /** 适配器名称 */
1449
+ name: string;
1450
+ /** 适配器版本 */
1451
+ version: string;
1452
+ /** 平台名称 */
1453
+ platform: string;
1454
+ /** 协议名称 */
1455
+ protocol: string;
1456
+ /** 标准协议 */
1457
+ standard?: string;
1458
+ }
1459
+ /**
1443
1460
  * API错误组件属性接口
1444
1461
  */
1445
1462
  interface ApiErrorProps extends BaseComponentProps {
@@ -1467,6 +1484,8 @@ interface ApiErrorProps extends BaseComponentProps {
1467
1484
  buildTime?: string;
1468
1485
  /** Commit ID */
1469
1486
  commitHash?: string;
1487
+ /** 适配器信息 */
1488
+ adapterInfo?: AdapterInfo;
1470
1489
  };
1471
1490
  /** 分享链接 */
1472
1491
  qrCodeDataUrl: string;