karin-plugin-kkk 2.45.0-beta.4 → 2.45.0-beta.5

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [2.45.0-beta.5](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.45.0-beta.4...v2.45.0-beta.5) (2026-10-06)
6
+
7
+
8
+ ### 🐛 错误修复
9
+
10
+ * 更新 node-karin 依赖版本至 1.18.0 ([42ef2e2](https://github.com/ikenxuan/karin-plugin-kkk/commit/42ef2e2729556b7a4c75c68f7ee1714b6581ced2))
11
+
5
12
  ## [2.45.0-beta.4](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.45.0-beta.3...v2.45.0-beta.4) (2026-10-06)
6
13
 
7
14
 
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "2.45.0-beta.4",
3
- "buildTime": "2026-10-06T07:34:14.563Z",
4
- "buildTimestamp": 1791272054563,
2
+ "version": "2.45.0-beta.5",
3
+ "buildTime": "2026-10-06T08:25:30.584Z",
4
+ "buildTimestamp": 1791275130584,
5
5
  "name": "karin-plugin-kkk",
6
6
  "description": "Karin 的「抖音」「B 站」视频解析/动态推送插件",
7
7
  "homepage": "https://github.com/ikenxuan/karin-plugin-kkk",
8
- "commitHash": "e6ff6df77f6305256a35f531a2f0c26f95fa3341",
9
- "shortCommitHash": "e6ff6df7"
8
+ "commitHash": "29a1c8b38919021e5788a3ab88067b20104e9d96",
9
+ "shortCommitHash": "29a1c8b3"
10
10
  }
@@ -40474,6 +40474,8 @@ var UPDATE_CHANNELS = [
40474
40474
  /** 各渠道更新提醒锁:记录该渠道上次已推送的版本,检测到新版本推送一次后上锁 */
40475
40475
  var updateLockKey = (channel) => `kkk:update:lock:${channel}`;
40476
40476
  var UPDATE_MSGID_KEY = "kkk:update:msgid";
40477
+ /** 推送图对应的安装目标版本(引用回复推送图「更新」时安装它) */
40478
+ var UPDATE_PUSHED_KEY = "kkk:update:pushed";
40477
40479
  /**
40478
40480
  * 定时更新检测处理器
40479
40481
  * 逐渠道检查远程 dist-tag 版本:检测到该渠道有新版本就推送一次然后上锁,
@@ -40489,7 +40491,13 @@ var Handler = async () => {
40489
40491
  const tagVersions = /* @__PURE__ */ new Map();
40490
40492
  await Promise.all([...new Set(channels.map(tagOf))].map(async (tag) => {
40491
40493
  try {
40492
- tagVersions.set(tag, await getRemotePkgVersion(Root.pluginName, tag) || null);
40494
+ if (!installedIsCanary) {
40495
+ const upd = await checkPkgUpdate(Root.pluginName, {
40496
+ tag,
40497
+ compare: "semver"
40498
+ });
40499
+ tagVersions.set(tag, upd.status === "yes" ? upd.remote : null);
40500
+ } else tagVersions.set(tag, await getRemotePkgVersion(Root.pluginName, tag) || null);
40493
40501
  } catch {
40494
40502
  tagVersions.set(tag, null);
40495
40503
  }
@@ -40514,6 +40522,7 @@ var Handler = async () => {
40514
40522
  pending.add(version);
40515
40523
  }
40516
40524
  if (pending.size === 0) return true;
40525
+ const installTarget = [...pending].sort((a, b) => isSemverGreater(b, a) ? 1 : -1)[0];
40517
40526
  const masters = config.master().filter((id) => id !== "console");
40518
40527
  if (masters.length === 0) return true;
40519
40528
  const botItems = karin.getAllBotList().filter((b) => b.bot.account.name !== "console");
@@ -40555,10 +40564,16 @@ var Handler = async () => {
40555
40564
  }
40556
40565
  if (storedMsgId) try {
40557
40566
  await db.set(UPDATE_MSGID_KEY, storedMsgId);
40567
+ await db.set(UPDATE_PUSHED_KEY, installTarget);
40558
40568
  } catch {}
40559
40569
  return true;
40560
40570
  };
40561
40571
  var handleUpdateHook = wrapWithErrorHandler(async (e) => {
40572
+ const pushedVersion = await db.get(UPDATE_PUSHED_KEY);
40573
+ if (typeof pushedVersion === "string" && pushedVersion) {
40574
+ await installAndRestart(e, pushedVersion);
40575
+ return;
40576
+ }
40562
40577
  e.reply("开始更新 karin-plugin-kkk ...", { reply: true });
40563
40578
  const upd = await checkPkgUpdate(Root.pluginName, { compare: "semver" });
40564
40579
  if (upd.status === "yes") {
@@ -40567,6 +40582,7 @@ var handleUpdateHook = wrapWithErrorHandler(async (e) => {
40567
40582
  const msgResult = await e.reply(`${Root.pluginName} 更新成功!\n${result.local} -> ${result.remote}\n开始执行重启......`);
40568
40583
  if (msgResult.messageId) try {
40569
40584
  await db.del(UPDATE_MSGID_KEY);
40585
+ await db.del(UPDATE_PUSHED_KEY);
40570
40586
  for (const ch of UPDATE_CHANNELS) await db.del(updateLockKey(ch));
40571
40587
  } catch {}
40572
40588
  await restart(e.selfId, e.contact, msgResult.messageId);
@@ -40637,6 +40653,7 @@ var installAndRestart = async (e, version) => {
40637
40653
  const msgResult = await e.reply(`${Root.pluginName} 更新成功!→ ${version}\n开始执行重启......`);
40638
40654
  if (msgResult.messageId) try {
40639
40655
  await db.del(UPDATE_MSGID_KEY);
40656
+ await db.del(UPDATE_PUSHED_KEY);
40640
40657
  for (const ch of UPDATE_CHANNELS) await db.del(updateLockKey(ch));
40641
40658
  } catch {}
40642
40659
  await restart(e.selfId, e.contact, msgResult.messageId);
@@ -40794,6 +40811,7 @@ var kkkUpdateCommand = karin.command(/^#?kkk更新(?:\s*(\S+))?$/, handleKkkUpda
40794
40811
  });
40795
40812
  var kkkUpdateTest = process.env.NODE_ENV === "development" && karin.command("test", async (_e, next) => {
40796
40813
  await db.del(UPDATE_MSGID_KEY);
40814
+ await db.del(UPDATE_PUSHED_KEY);
40797
40815
  for (const ch of UPDATE_CHANNELS) await db.del(updateLockKey(ch));
40798
40816
  await Handler();
40799
40817
  next();
@@ -41767,7 +41785,7 @@ app$1.use(ASSETS_PREFIX, staticRouter);
41767
41785
  app.use(KKK_PREFIX, app$1);
41768
41786
  //#endregion
41769
41787
  //#region src/setup.ts
41770
- var requireVersion = "1.16.3";
41788
+ var requireVersion = "1.18.0";
41771
41789
  if (process.env.NODE_ENV !== "development" && isSemverGreater(requireVersion, Root.karinVersion)) {
41772
41790
  const msg = `插件构建时的 karin 版本 (${requireVersion}) 高于当前运行版本 (${Root.karinVersion}),可能会出现兼容性问题!`;
41773
41791
  logger$1.warn(msg);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "karin-plugin-kkk",
3
- "version": "2.45.0-beta.4",
3
+ "version": "2.45.0-beta.5",
4
4
  "description": "Karin 的「抖音」「B 站」视频解析/动态推送插件",
5
5
  "keywords": [
6
6
  "karin",
@@ -83,7 +83,7 @@
83
83
  "@lobehub/webfont-harmony-sans-sc": "^1.0.0",
84
84
  "emoji-datasource-apple": "16.0.0"
85
85
  },
86
- "timestamp": "2026-10-06T07:32:55.907Z",
86
+ "timestamp": "2026-10-06T08:24:09.485Z",
87
87
  "engines": {
88
88
  "node": ">=18.0.0"
89
89
  }