karin-plugin-kkk 2.26.0 → 2.26.2

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,32 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [2.26.2](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.26.1...v2.26.2) (2026-03-15)
6
+
7
+
8
+ ### 🐛 错误修复
9
+
10
+ * **bilibili:** 延迟加载动态评论数据以优化性能 ([78bfb24](https://github.com/ikenxuan/karin-plugin-kkk/commit/78bfb24626bc26db4f6a27fdf04e9b0764a18749))
11
+ * **douyin:** aweme_type === 55 判断为视频 ([12e23d4](https://github.com/ikenxuan/karin-plugin-kkk/commit/12e23d4fcfce40ed0f8becf3561452760ae81cc5))
12
+ * **douyin:** 修复 live 图检测逻辑,使用空值合并运算符确保 clip_type 判断安全 ([036f786](https://github.com/ikenxuan/karin-plugin-kkk/commit/036f7860ebfd3243217ef91d483b71c34db9d227))
13
+
14
+
15
+ ### 💯 细节优化
16
+
17
+ * **douyin:** 将抖音音频文件下载处理统一为本地缓存后发送 base64 格式,提升兼容性 ([036f786](https://github.com/ikenxuan/karin-plugin-kkk/commit/036f7860ebfd3243217ef91d483b71c34db9d227))
18
+
19
+ ## [2.26.1](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.26.0...v2.26.1) (2026-03-14)
20
+
21
+
22
+ ### 🐛 错误修复
23
+
24
+ * referer 错误 ([cd53fb7](https://github.com/ikenxuan/karin-plugin-kkk/commit/cd53fb7fc2e0a9759d904318b1cb7fdb86561c15))
25
+
26
+
27
+ ### 💯 细节优化
28
+
29
+ * 自动获取最新浏览器版本 ([618244f](https://github.com/ikenxuan/karin-plugin-kkk/commit/618244fd32a3a917cadf35177e534782b2eafdbf))
30
+
5
31
  ## [2.26.0](https://github.com/ikenxuan/karin-plugin-kkk/compare/v2.25.2...v2.26.0) (2026-03-13)
6
32
 
7
33
 
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export {};
package/lib/apps/admin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { C as biLogin, E as task, T as removeOldFiles, w as dylogin } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { C as biLogin, E as task, T as removeOldFiles, w as dylogin } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { biLogin, dylogin, removeOldFiles, task };
package/lib/apps/help.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { S as version, x as help } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { S as version, x as help } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { help, version };
package/lib/apps/push.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { _ as forcePush, b as testDouyinPush, f as bilibiliPush, g as douyinPushList, h as douyinPush, m as changeBotID, p as bilibiliPushList, v as setbiliPush, y as setdyPush } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { _ as forcePush, b as testDouyinPush, f as bilibiliPush, g as douyinPushList, h as douyinPush, m as changeBotID, p as bilibiliPushList, v as setbiliPush, y as setdyPush } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { bilibiliPush, bilibiliPushList, changeBotID, douyinPush, douyinPushList, forcePush, setbiliPush, setdyPush, testDouyinPush };
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { d as qrLogin } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { d as qrLogin } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { qrLogin };
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { l as globalStatistics, u as groupStatistics } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { l as globalStatistics, u as groupStatistics } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { globalStatistics, groupStatistics };
package/lib/apps/tools.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { a as douyinAPP, c as xiaohongshuAPP, i as bilibiliAPP, o as kuaishouAPP, s as prefix } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { a as douyinAPP, c as xiaohongshuAPP, i as bilibiliAPP, o as kuaishouAPP, s as prefix } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { bilibiliAPP, douyinAPP, kuaishouAPP, prefix, xiaohongshuAPP };
@@ -1,5 +1,5 @@
1
1
  import "../core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { n as kkkUpdateCommand, r as update, t as kkkUpdate } from "../core_chunk/main-1REuSilK.js";
3
- import "../core_chunk/vendor-ewZQ4koY.js";
4
- import "../core_chunk/template-Da1NbX6g.js";
2
+ import { n as kkkUpdateCommand, r as update, t as kkkUpdate } from "../core_chunk/main-BuOo6a93.js";
3
+ import "../core_chunk/vendor-CG_otLgW.js";
4
+ import "../core_chunk/template-D4tlYzyu.js";
5
5
  export { kkkUpdate, kkkUpdateCommand, update };
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "2.26.0",
3
- "buildTime": "2026-03-13T22:03:13.675Z",
4
- "buildTimestamp": 1773439393675,
2
+ "version": "2.26.2",
3
+ "buildTime": "2026-03-15T08:38:38.779Z",
4
+ "buildTimestamp": 1773563918779,
5
5
  "name": "karin-plugin-kkk",
6
6
  "description": "Karin 的「抖音」「B 站」视频解析/动态推送插件",
7
7
  "homepage": "https://github.com/ikenxuan/karin-plugin-kkk",
8
- "commitHash": "9e2238109613c18e4369602614ac75d6920d6f01",
9
- "shortCommitHash": "9e223810"
8
+ "commitHash": "040a8dd283cb66650be291175843c6b3c4411ada",
9
+ "shortCommitHash": "040a8dd2"
10
10
  }
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin, o as __toESM, r as __export } from "./rolldown-runtime-BMXAG3ag.js";
2
- import { An as init_zod, Cn as Chalk, Dn as axios_default, En as init_axios, O as init_locale, On as Xhshow, Sn as require_protobufjs, Tn as AxiosError$1, _n as require_jpeg_js, bn as require_lib, dt as formatDistanceToNow, ft as format, gn as require_jsQR, hn as require_png, jn as zod_default, k as zhCN, kn as init_dist, lt as init_date_fns, n as init_lib, pt as differenceInSeconds, r as Window, t as require_qr_code_styling, ut as fromUnixTime, vn as require_heic_decode, wn as init_source, xn as require_express, yn as require_dist } from "./vendor-ewZQ4koY.js";
3
- import { i as renderVideoPreviewPage, n as init_client, r as reactServerRender } from "./template-Da1NbX6g.js";
2
+ import { An as init_zod, Cn as Chalk, Dn as axios_default, En as init_axios, O as init_locale, On as Xhshow, Sn as require_protobufjs, Tn as AxiosError$1, _n as require_jpeg_js, bn as require_lib, dt as formatDistanceToNow, ft as format, gn as require_jsQR, hn as require_png, jn as zod_default, k as zhCN, kn as init_dist, lt as init_date_fns, n as init_lib, pt as differenceInSeconds, r as Window, t as require_qr_code_styling, ut as fromUnixTime, vn as require_heic_decode, wn as init_source, xn as require_express, yn as require_dist } from "./vendor-CG_otLgW.js";
3
+ import { i as renderVideoPreviewPage, n as init_client, r as reactServerRender } from "./template-D4tlYzyu.js";
4
4
  import { createRequire } from "node:module";
5
5
  import path, { resolve } from "node:path";
6
6
  import URL$1, { fileURLToPath } from "node:url";
@@ -7201,8 +7201,8 @@ var init_FFmpeg = __esmMin(async () => {
7201
7201
  return { success: result.status };
7202
7202
  };
7203
7203
  });
7204
- var ERROR_CODE_MAP, RECOVERABLE_ERROR_CODES, RECOVERABLE_KEYWORDS, BASE_HEADERS;
7205
- var init_constants = __esmMin(() => {
7204
+ var ERROR_CODE_MAP, RECOVERABLE_ERROR_CODES, RECOVERABLE_KEYWORDS, CHROME_VERSIONS_URL, PROXY_PREFIX, buildUserAgent, fetchLatestChromeVersion, DEFAULT_UA, RESOLVED_UA, BASE_HEADERS;
7205
+ var init_constants = __esmMin(async () => {
7206
7206
  ERROR_CODE_MAP = {
7207
7207
  ECONNRESET: "连接被重置",
7208
7208
  ECONNREFUSED: "连接被拒绝",
@@ -7247,15 +7247,36 @@ var init_constants = __esmMin(() => {
7247
7247
  "socket hang up",
7248
7248
  "connection reset"
7249
7249
  ];
7250
+ CHROME_VERSIONS_URL = "https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json";
7251
+ PROXY_PREFIX = "https://jiashu.1win.eu.org/";
7252
+ buildUserAgent = (version$1) => `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${version$1} Safari/537.36 Edg/${version$1}`;
7253
+ fetchLatestChromeVersion = async (url, proxyPrefix) => {
7254
+ try {
7255
+ const version$1 = (await axios.get(url, { timeout: 15e3 })).data?.channels?.Stable?.version;
7256
+ return typeof version$1 === "string" && version$1.length > 0 ? version$1 : null;
7257
+ } catch {
7258
+ try {
7259
+ const version$1 = (await axios.get(`${proxyPrefix}${url}`, { timeout: 15e3 })).data?.channels?.Stable?.version;
7260
+ return typeof version$1 === "string" && version$1.length > 0 ? version$1 : null;
7261
+ } catch {
7262
+ return null;
7263
+ }
7264
+ }
7265
+ };
7266
+ DEFAULT_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0";
7267
+ RESOLVED_UA = await (async () => {
7268
+ const latest = await fetchLatestChromeVersion(CHROME_VERSIONS_URL, PROXY_PREFIX);
7269
+ return latest ? buildUserAgent(latest) : DEFAULT_UA;
7270
+ })();
7250
7271
  BASE_HEADERS = {
7251
7272
  Accept: "*/*",
7252
7273
  "accept-language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
7253
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"
7274
+ "User-Agent": RESOLVED_UA
7254
7275
  };
7255
7276
  });
7256
7277
  var getErrorDescription, sanitizeHeaders, isRecoverableNetworkError, isThrottlingError, calculateBackoffDelay, formatBytes, sanitizeFilename;
7257
- var init_helpers = __esmMin(() => {
7258
- init_constants();
7278
+ var init_helpers = __esmMin(async () => {
7279
+ await init_constants();
7259
7280
  getErrorDescription = (error) => {
7260
7281
  const code = error?.code || (error instanceof AxiosError ? error.code : null);
7261
7282
  const message = error?.message || String(error);
@@ -7373,10 +7394,10 @@ var init_types = __esmMin(() => {
7373
7394
  };
7374
7395
  });
7375
7396
  var Downloader;
7376
- var init_Downloader = __esmMin(() => {
7377
- init_helpers();
7378
- init_ThrottleStream();
7379
- init_types();
7397
+ var init_Downloader = __esmMin(async () => {
7398
+ await init_helpers();
7399
+ await init_ThrottleStream();
7400
+ await init_types();
7380
7401
  Downloader = class {
7381
7402
  axiosInstance;
7382
7403
  url;
@@ -7586,9 +7607,9 @@ var init_Downloader = __esmMin(() => {
7586
7607
  };
7587
7608
  });
7588
7609
  var ImageDownloader;
7589
- var init_ImageDownloader = __esmMin(() => {
7590
- init_Config();
7591
- init_helpers();
7610
+ var init_ImageDownloader = __esmMin(async () => {
7611
+ await init_Config();
7612
+ await init_helpers();
7592
7613
  ImageDownloader = class {
7593
7614
  axiosInstance;
7594
7615
  tempDir;
@@ -7705,10 +7726,10 @@ var init_ImageDownloader = __esmMin(() => {
7705
7726
  };
7706
7727
  });
7707
7728
  var Network;
7708
- var init_Network$1 = __esmMin(() => {
7709
- init_constants();
7710
- init_Downloader();
7711
- init_helpers();
7729
+ var init_Network$1 = __esmMin(async () => {
7730
+ await init_constants();
7731
+ await init_Downloader();
7732
+ await init_helpers();
7712
7733
  Network = class {
7713
7734
  url;
7714
7735
  method;
@@ -7908,14 +7929,14 @@ var init_Network$1 = __esmMin(() => {
7908
7929
  }
7909
7930
  };
7910
7931
  });
7911
- var init_Network = __esmMin(() => {
7912
- init_Downloader();
7913
- init_helpers();
7914
- init_ImageDownloader();
7915
- init_Network$1();
7916
- init_ThrottleStream();
7917
- init_types();
7918
- init_constants();
7932
+ var init_Network = __esmMin(async () => {
7933
+ await init_constants();
7934
+ await init_Downloader();
7935
+ await init_helpers();
7936
+ await init_ImageDownloader();
7937
+ await init_Network$1();
7938
+ await init_ThrottleStream();
7939
+ await init_types();
7919
7940
  });
7920
7941
  function getImageDownloader() {
7921
7942
  if (!imageDownloader) imageDownloader = new ImageDownloader(axios.create({
@@ -7933,8 +7954,8 @@ var init_ImageHelper = __esmMin(async () => {
7933
7954
  await init_Network();
7934
7955
  imageDownloader = null;
7935
7956
  });
7936
- var init_Networks = __esmMin(() => {
7937
- init_Network();
7957
+ var init_Networks = __esmMin(async () => {
7958
+ await init_Network();
7938
7959
  });
7939
7960
  var isSemverGreater;
7940
7961
  var init_semver = __esmMin(() => {
@@ -16130,12 +16151,6 @@ var Bilibili = class extends Base {
16130
16151
  dynamic_id: dynamicInfo.data.data.item.id_str,
16131
16152
  typeMode: "strict"
16132
16153
  });
16133
- const commentsData = dynamicInfo.data.data.item.type !== DynamicType.LIVE_RCMD && await this.amagi.bilibili.fetcher.fetchComments({
16134
- type: mapping_table(dynamicInfo.data.data.item.type),
16135
- oid: oid(dynamicInfo.data, dynamicInfoCard.data),
16136
- number: Config.bilibili.numcomment,
16137
- typeMode: "strict"
16138
- });
16139
16154
  const dynamicCARD = JSON.parse(dynamicInfoCard.data.data.card.card);
16140
16155
  const userProfileData = await this.amagi.bilibili.fetcher.fetchUserCard({
16141
16156
  host_mid: dynamicInfo.data.data.item.modules.module_author.mid,
@@ -16534,8 +16549,13 @@ var Bilibili = class extends Base {
16534
16549
  break;
16535
16550
  }
16536
16551
  }
16537
- if (Config.bilibili.sendContent.some((content) => content === "comment") && commentsData && dynamicInfo.data.data.item.type !== DynamicType.LIVE_RCMD) {
16538
- const { comments: commentsdata, image_urls } = bilibiliComments(commentsData.data, dynamicInfo.data.data.item.modules.module_author.mid.toString());
16552
+ if (Config.bilibili.sendContent.some((content) => content === "comment") && dynamicInfo.data.data.item.type !== DynamicType.LIVE_RCMD) {
16553
+ const { comments: commentsdata, image_urls } = bilibiliComments((await this.amagi.bilibili.fetcher.fetchComments({
16554
+ type: mapping_table(dynamicInfo.data.data.item.type),
16555
+ oid: oid(dynamicInfo.data, dynamicInfoCard.data),
16556
+ number: Config.bilibili.numcomment,
16557
+ typeMode: "strict"
16558
+ })).data, dynamicInfo.data.data.item.modules.module_author.mid.toString());
16539
16559
  if (commentsdata && commentsdata.length > 0) {
16540
16560
  if (Config.bilibili.commentImageCollection && image_urls.length > 0) {
16541
16561
  const messageElements = [];
@@ -18884,7 +18904,7 @@ var DouYin = class extends Base {
18884
18904
  });
18885
18905
  const aweme_type = VideoData.data.aweme_detail.aweme_type;
18886
18906
  const isArticle = aweme_type === 163;
18887
- const isVideo = aweme_type === 0;
18907
+ const isVideo = aweme_type === 0 || aweme_type === 55;
18888
18908
  const CommentsData = await this.amagi.douyin.fetcher.fetchWorkComments({
18889
18909
  aweme_id: data$1.aweme_id,
18890
18910
  number: Config.douyin.numcomment,
@@ -18901,7 +18921,7 @@ var DouYin = class extends Base {
18901
18921
  const imageres = [];
18902
18922
  let image_url = "";
18903
18923
  const images = VideoData.data.aweme_detail.images ?? [];
18904
- if (images.some((item) => item.clip_type !== 2)) {
18924
+ if (images.some((item) => (item.clip_type ?? 2) !== 2)) {
18905
18925
  const processedImages = [];
18906
18926
  const temp = [];
18907
18927
  let hasGeneratedLivePhoto = false;
@@ -19205,7 +19225,17 @@ var DouYin = class extends Base {
19205
19225
  } catch (error) {
19206
19226
  console.log(error);
19207
19227
  }
19208
- music_url && !isVideo && music_url !== void 0 && !this.hasProcessedLiveImage && await this.e.reply(segment.record(music_url, false));
19228
+ if (music_url && !isVideo && music_url !== void 0 && !this.hasProcessedLiveImage) {
19229
+ const audioFile = await downloadFile(music_url, {
19230
+ title: `Douyin_BGM_${Date.now()}.mp3`,
19231
+ headers: this.headers
19232
+ });
19233
+ if (audioFile.filepath) {
19234
+ const audioBase64 = `base64://${fs.readFileSync(audioFile.filepath).toString("base64")}`;
19235
+ await this.e.reply(segment.record(audioBase64, false));
19236
+ await Common.removeFile(audioFile.filepath, true);
19237
+ }
19238
+ }
19209
19239
  }
19210
19240
  let FPS;
19211
19241
  let video = null;
@@ -19479,7 +19509,15 @@ var DouYin = class extends Base {
19479
19509
  `作曲: ${MusicData.data.music_info.original_musician_display_name || MusicData.data.music_info.owner_nickname === "" ? MusicData.data.music_info.author : MusicData.data.music_info.owner_nickname}\n`,
19480
19510
  `music_id: ${MusicData.data.music_info.id}`
19481
19511
  ]);
19482
- await this.e.reply(segment.record(MusicData.data.music_info.play_url.uri, false));
19512
+ const musicFile = await downloadFile(MusicData.data.music_info.play_url.uri, {
19513
+ title: `Douyin_Music_${Date.now()}.mp3`,
19514
+ headers: this.headers
19515
+ });
19516
+ if (musicFile.filepath) {
19517
+ const musicBase64 = `base64://${fs.readFileSync(musicFile.filepath).toString("base64")}`;
19518
+ await this.e.reply(segment.record(musicBase64, false));
19519
+ await Common.removeFile(musicFile.filepath, true);
19520
+ }
19483
19521
  return true;
19484
19522
  }
19485
19523
  case "live_room_detail": {
@@ -22125,7 +22163,11 @@ var Xiaohongshu = class extends Base {
22125
22163
  const staticImg = await downloadFile(staticImageUrl, {
22126
22164
  title: `static_${Date.now()}_${index}.jpg`,
22127
22165
  filepath: staticImgTempPath,
22128
- headers: BASE_HEADERS
22166
+ headers: {
22167
+ ...BASE_HEADERS,
22168
+ Referer: "https://www.xiaohongshu.com",
22169
+ Cookie: Config.cookies.xiaohongshu
22170
+ }
22129
22171
  });
22130
22172
  let staticImgPath = "";
22131
22173
  if (staticImg.filepath) staticImgPath = staticImg.filepath;
@@ -22137,7 +22179,8 @@ var Xiaohongshu = class extends Base {
22137
22179
  filepath: livePhotoPath,
22138
22180
  headers: {
22139
22181
  ...BASE_HEADERS,
22140
- Referer: livePhotoVideo.master_url
22182
+ Referer: "https://www.xiaohongshu.com",
22183
+ Cookie: Config.cookies.xiaohongshu
22141
22184
  }
22142
22185
  });
22143
22186
  if (livePhoto.filepath) {
@@ -22238,7 +22281,8 @@ var Xiaohongshu = class extends Base {
22238
22281
  },
22239
22282
  headers: {
22240
22283
  ...BASE_HEADERS,
22241
- Referer: selectedVideo.master_url
22284
+ Referer: "https://www.xiaohongshu.com",
22285
+ Cookie: Config.cookies.xiaohongshu
22242
22286
  }
22243
22287
  }, { message_id: this.e.messageId });
22244
22288
  else await this.e.reply(segment.video(video.url_default));
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin, o as __toESM, r as __export } from "./rolldown-runtime-BMXAG3ag.js";
2
- import { $ as RiThumbUpFill, $t as CircleAlert, A as RiArrowRightFill, At as Radio, B as RiListCheck2, Bt as Hash, C as FaCommentDots, Ct as Terminal, D as init_ai, Dt as ShieldCheck, E as AiFillStar, Et as Shield, F as RiHeart2Line, Ft as Music, G as RiQuestionFill, Gt as ExternalLink, H as RiLoginCircleFill, Ht as Gamepad2, I as RiHeart3Fill, It as MessageCircle, J as RiSendPlaneFill, Jt as Coins, K as RiRefreshLine, Kt as Crown, L as RiHeart3Line, Lt as MapPin, M as RiBellFill, Mt as QrCode, N as RiGroupLine, Nt as Plug2, O as init_locale, Ot as Share2, P as RiHashtag, Pt as Play, Q as RiStarLine, Qt as CircleCheckBig, R as RiLineChartFill, Rt as Info, S as FaCodeBranch, St as ThumbsUp, T as AiFillHeart, Tt as Smartphone, U as RiMessage3Fill, Ut as FileText, V as RiLiveLine, Vt as Gift, W as RiPieChart2Fill, Wt as Eye, X as RiSparkling2Fill, Xt as CircleFadingArrowUp, Y as RiShareForwardFill, Yt as Clock, Z as RiStarFill, Zt as CircleEllipsis, _ as init_si, _t as Zap, a as VictoryScatter, an as require_server_node, at as init_react_markdown, b as HiOutlineMenuAlt2, bt as UserPlus, c as VictoryChart, cn as chip_default, ct as init_lu, d as VictoryTheme, dn as require_jsx_runtime, dt as formatDistanceToNow, en as ChartColumn, et as RiTiktokFill, f as init_rehype_highlight, fn as clsx_default, ft as format, g as SiBilibili, gt as init_lucide_react, h as init_md, ht as init_io5, i as init_es, in as Bell, it as init_ri, j as RiBarChartFill, jt as Quote, k as zhCN, kt as ScanLine, l as VictoryAxis, ln as button_default, lt as init_date_fns, m as MdAccessTime, mn as require_react, mt as IoSearch, nn as Bookmark, nt as RiUserFollowLine, o as VictoryPie, on as init_dist, ot as Markdown, p as rehypeHighlight, pn as init_clsx, q as RiRobot2Fill, qt as CornerDownLeft, rn as BookOpen, rt as RiVideoLine, s as VictoryLine, sn as code_default, st as LuFullscreen, tn as Calendar, tt as RiTrophyFill, u as VictoryLabel, un as HeroUIProvider, v as TbScan, vt as Users, w as init_fa6, wt as Star, x as init_hi, xt as TriangleAlert, y as init_tb, yt as User, z as RiLinkM, zt as Heart } from "./vendor-ewZQ4koY.js";
2
+ import { $ as RiThumbUpFill, $t as CircleAlert, A as RiArrowRightFill, At as Radio, B as RiListCheck2, Bt as Hash, C as FaCommentDots, Ct as Terminal, D as init_ai, Dt as ShieldCheck, E as AiFillStar, Et as Shield, F as RiHeart2Line, Ft as Music, G as RiQuestionFill, Gt as ExternalLink, H as RiLoginCircleFill, Ht as Gamepad2, I as RiHeart3Fill, It as MessageCircle, J as RiSendPlaneFill, Jt as Coins, K as RiRefreshLine, Kt as Crown, L as RiHeart3Line, Lt as MapPin, M as RiBellFill, Mt as QrCode, N as RiGroupLine, Nt as Plug2, O as init_locale, Ot as Share2, P as RiHashtag, Pt as Play, Q as RiStarLine, Qt as CircleCheckBig, R as RiLineChartFill, Rt as Info, S as FaCodeBranch, St as ThumbsUp, T as AiFillHeart, Tt as Smartphone, U as RiMessage3Fill, Ut as FileText, V as RiLiveLine, Vt as Gift, W as RiPieChart2Fill, Wt as Eye, X as RiSparkling2Fill, Xt as CircleFadingArrowUp, Y as RiShareForwardFill, Yt as Clock, Z as RiStarFill, Zt as CircleEllipsis, _ as init_si, _t as Zap, a as VictoryScatter, an as require_server_node, at as init_react_markdown, b as HiOutlineMenuAlt2, bt as UserPlus, c as VictoryChart, cn as chip_default, ct as init_lu, d as VictoryTheme, dn as require_jsx_runtime, dt as formatDistanceToNow, en as ChartColumn, et as RiTiktokFill, f as init_rehype_highlight, fn as clsx_default, ft as format, g as SiBilibili, gt as init_lucide_react, h as init_md, ht as init_io5, i as init_es, in as Bell, it as init_ri, j as RiBarChartFill, jt as Quote, k as zhCN, kt as ScanLine, l as VictoryAxis, ln as button_default, lt as init_date_fns, m as MdAccessTime, mn as require_react, mt as IoSearch, nn as Bookmark, nt as RiUserFollowLine, o as VictoryPie, on as init_dist, ot as Markdown, p as rehypeHighlight, pn as init_clsx, q as RiRobot2Fill, qt as CornerDownLeft, rn as BookOpen, rt as RiVideoLine, s as VictoryLine, sn as code_default, st as LuFullscreen, tn as Calendar, tt as RiTrophyFill, u as VictoryLabel, un as HeroUIProvider, v as TbScan, vt as Users, w as init_fa6, wt as Star, x as init_hi, xt as TriangleAlert, y as init_tb, yt as User, z as RiLinkM, zt as Heart } from "./vendor-CG_otLgW.js";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import fs from "node:fs";
@@ -1,4 +1,4 @@
1
1
  import "./rolldown-runtime-BMXAG3ag.js";
2
- import "./vendor-ewZQ4koY.js";
3
- import { i as renderVideoPreviewPage, r as reactServerRender, t as template_default } from "./template-Da1NbX6g.js";
2
+ import "./vendor-CG_otLgW.js";
3
+ import { i as renderVideoPreviewPage, r as reactServerRender, t as template_default } from "./template-D4tlYzyu.js";
4
4
  export { template_default as default, reactServerRender, renderVideoPreviewPage };
@@ -148946,7 +148946,6 @@ var init_victory_brush_line = __esmMin(() => {
148946
148946
  __toESM(require_react());
148947
148947
  __toESM(require_defaults());
148948
148948
  __toESM(require_pick());
148949
- init_es$27();
148950
148949
  __toESM(require_react_fast_compare());
148951
148950
  1 / Number.MAX_SAFE_INTEGER;
148952
148951
  });
@@ -149539,7 +149538,6 @@ var init_use_canvas_context = __esmMin(() => {
149539
149538
  var import_react$32;
149540
149539
  var init_canvas_bar = __esmMin(() => {
149541
149540
  __toESM(require_react());
149542
- init_es$24();
149543
149541
  });
149544
149542
  var import_react$31, CanvasGroup;
149545
149543
  var init_canvas_group = __esmMin(() => {
@@ -149580,12 +149578,10 @@ var init_canvas_group = __esmMin(() => {
149580
149578
  var import_react$30;
149581
149579
  var init_canvas_curve = __esmMin(() => {
149582
149580
  __toESM(require_react());
149583
- init_es$27();
149584
149581
  });
149585
149582
  var import_react$29;
149586
149583
  var init_canvas_point = __esmMin(() => {
149587
149584
  __toESM(require_react());
149588
- init_es$27();
149589
149585
  });
149590
149586
  var init_es$19 = __esmMin(() => {
149591
149587
  init_canvas_bar();
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  globalThis.__kkkLoadStart ??= typeof process !== "undefined" && process.hrtime?.bigint ? process.hrtime.bigint() : BigInt(Date.now());
2
2
  import "./core_chunk/rolldown-runtime-BMXAG3ag.js";
3
- import "./core_chunk/main-1REuSilK.js";
4
- import "./core_chunk/vendor-ewZQ4koY.js";
5
- import "./core_chunk/template-Da1NbX6g.js";
3
+ import "./core_chunk/main-BuOo6a93.js";
4
+ import "./core_chunk/vendor-CG_otLgW.js";
5
+ import "./core_chunk/template-D4tlYzyu.js";
6
6
  export {};
package/lib/root.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import "./core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { A as init_root, k as Root } from "./core_chunk/main-1REuSilK.js";
2
+ import { A as init_root, k as Root } from "./core_chunk/main-BuOo6a93.js";
3
3
  init_root();
4
4
  export { Root };
package/lib/web.config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./core_chunk/rolldown-runtime-BMXAG3ag.js";
2
- import { D as webConfig, O as web_config_default } from "./core_chunk/main-1REuSilK.js";
3
- import "./core_chunk/vendor-ewZQ4koY.js";
4
- import "./core_chunk/template-Da1NbX6g.js";
2
+ import { D as webConfig, O as web_config_default } from "./core_chunk/main-BuOo6a93.js";
3
+ import "./core_chunk/vendor-CG_otLgW.js";
4
+ import "./core_chunk/template-D4tlYzyu.js";
5
5
  export { web_config_default as default, webConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "karin-plugin-kkk",
3
- "version": "2.26.0",
3
+ "version": "2.26.2",
4
4
  "description": "Karin 的「抖音」「B 站」视频解析/动态推送插件",
5
5
  "keywords": [
6
6
  "karin-plugin",