koishi-plugin-kkk 3.10.0 → 3.10.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 3.10.1
|
|
4
|
+
|
|
5
|
+
> B站的复制跳转修一下:3.10.0 改成用用户发的那条链接后,B站 App 复制了反而不跳。
|
|
6
|
+
|
|
7
|
+
### B站跳转链接改回标准视频页
|
|
8
|
+
|
|
9
|
+
- 3.10.0 让跳转块统一用用户发出来的那条链接,B站照做之后反而不能用:
|
|
10
|
+
用户发的多半是 `b23.tv/xxx` 短链,**B站 App 复制了不跳转**。
|
|
11
|
+
- B站的跳转块固定用 `https://www.bilibili.com/video/<bvid>`(分 P 带 `?p=N`),
|
|
12
|
+
不再用用户发的那条。卡片右下角的二维码同步改成这条,两边一致。
|
|
13
|
+
- 抖音、快手、小红书仍按 3.10.0 的规则:用用户原样发的那条短链。
|
|
14
|
+
|
|
3
15
|
## 3.10.0
|
|
4
16
|
|
|
5
17
|
> 解析消息底部的「打开原站」链接换成了**代码块形式的跳转卡片**:
|
package/lib/build-metadata.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.10.
|
|
3
|
-
"buildTime": "2026-09-
|
|
4
|
-
"buildTimestamp":
|
|
2
|
+
"version": "3.10.1",
|
|
3
|
+
"buildTime": "2026-09-30T02:30:42.608Z",
|
|
4
|
+
"buildTimestamp": 1790735442631,
|
|
5
5
|
"name": "koishi-plugin-kkk",
|
|
6
6
|
"description": "抖音 / B站 / 快手 / 小红书 视频解析与动态推送,带 QQ 交互面板与弹幕烧录(karin-plugin-kkk 的 Koishi 移植版)",
|
|
7
7
|
"homepage": "https://github.com/maimai993/koishi-plugin-kkk#readme",
|
|
8
|
-
"commitHash": "
|
|
9
|
-
"shortCommitHash": "
|
|
8
|
+
"commitHash": "faa50bc98b4adaa32a0dda5bdf68de39539794f1",
|
|
9
|
+
"shortCommitHash": "faa50bc"
|
|
10
10
|
}
|
package/lib/karin/apps/tools.js
CHANGED
|
@@ -326,12 +326,11 @@ const handleBilibili = (0, ParseForward_1.withParseForward)((0, ErrorHandler_1.w
|
|
|
326
326
|
platform: 'bilibili',
|
|
327
327
|
url: 'https://www.bilibili.com/video/' + iddata.bvid + (iddata.p ? '?p=' + iddata.p : ''),
|
|
328
328
|
id: String(iddata.bvid),
|
|
329
|
-
page: iddata.p
|
|
329
|
+
page: iddata.p
|
|
330
330
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
331
|
+
* B站**不传 jumpUrl**:跳转块固定用 `www.bilibili.com/video/<bvid>` 这种标准形态
|
|
332
|
+
* (b23.tv 短链 App 复制了不跳转),由面板自己按 bvid + 分P 拼,见 `bilibiliShareUrl`。
|
|
333
333
|
*/
|
|
334
|
-
jumpUrl: String(url)
|
|
335
334
|
}, flags)) {
|
|
336
335
|
return;
|
|
337
336
|
}
|
|
@@ -401,13 +401,18 @@ function douyinShareUrl(awemeId, detailShareUrl) {
|
|
|
401
401
|
return String(detailShareUrl ?? '') || ('https://www.douyin.com/video/' + String(awemeId));
|
|
402
402
|
}
|
|
403
403
|
/**
|
|
404
|
-
* B
|
|
404
|
+
* B站的跳转链接:**固定用标准视频页** `https://www.bilibili.com/video/<bvid>`。
|
|
405
405
|
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
406
|
+
* 试过 b23.tv 短链(`https://b23.tv/<bvid>`),实测 B站 App 认不出来 —— 复制后打开 App
|
|
407
|
+
* 没反应,必须是完整的 `www.bilibili.com/video/BV…` 这种形态。分 P 走 `?p=N` 查询参数。
|
|
408
|
+
*
|
|
409
|
+
* 卡片右下角的二维码也走这条(扫码不受长度影响,和跳转块保持一致)。
|
|
410
|
+
* @param bvid BV 号
|
|
411
|
+
* @param page 分 P(1 表示第一 P,不用带参数)
|
|
408
412
|
*/
|
|
409
|
-
function bilibiliShareUrl(bvid) {
|
|
410
|
-
|
|
413
|
+
function bilibiliShareUrl(bvid, page) {
|
|
414
|
+
const url = 'https://www.bilibili.com/video/' + String(bvid);
|
|
415
|
+
return page && page > 1 ? url + '?p=' + page : url;
|
|
411
416
|
}
|
|
412
417
|
/** 快手作品页链接(App 认的是自家域名下的链接,短链最终也是跳到这里) */
|
|
413
418
|
function kuaishouShareUrl(photoId) {
|
|
@@ -1178,18 +1183,20 @@ async function sendQqParsePanel(e, request) {
|
|
|
1178
1183
|
* B站 / 抖音给的是「复制后打开 XX 自动跳转」代码块:各家 App 都认剪贴板里的自家链接,
|
|
1179
1184
|
* 不依赖 QQ 会不会把 markdown 链接渲染成可点的东西。快手之类仍给普通链接。
|
|
1180
1185
|
*
|
|
1181
|
-
*
|
|
1182
|
-
*
|
|
1183
|
-
*
|
|
1184
|
-
*
|
|
1185
|
-
*
|
|
1186
|
+
* 链接**优先用用户原样发的那条**(`request.jumpUrl`):我们拼的链接往往偏长,
|
|
1187
|
+
* App 剪贴板识别不了;用户发出来的 `v.douyin.com/xxx`、`v.kuaishou.com/xxx` 本来就是
|
|
1188
|
+
* 各家 App 自己生成的分享形态,最短也最容易被识别。
|
|
1189
|
+
*
|
|
1190
|
+
* **B站是唯一的例外**:它反过来 —— b23.tv 短链 App 不认,必须是完整的
|
|
1191
|
+
* `www.bilibili.com/video/BV…`,所以那支固定走 `bilibiliShareUrl()`,不用用户发的那条。
|
|
1192
|
+
* 二维码(卡片右下角)不受影响,和上面各平台一样保持自己的链接。
|
|
1186
1193
|
*/
|
|
1187
1194
|
const linkStart = lines.length;
|
|
1188
1195
|
if (runtime.config.qqPanelSourceLink !== false && request.url) {
|
|
1189
|
-
// 优先用户原样发的那条:我们拼的链接偏长,App 剪贴板识别不了;App 自家分享的短链才稳
|
|
1190
1196
|
const jumpUrl = request.jumpUrl || request.url;
|
|
1191
1197
|
const block = request.platform === 'bilibili'
|
|
1192
|
-
|
|
1198
|
+
// B站固定用 BV 规范链接(短链 App 不识别),分 P 靠 request.page 带上
|
|
1199
|
+
? copyJumpBlock('b站', bilibiliShareUrl(String(request.id), request.page))
|
|
1193
1200
|
: request.platform === 'douyin'
|
|
1194
1201
|
? copyJumpBlock('抖音', jumpUrl, DOUYIN_JUMP_TOKEN)
|
|
1195
1202
|
: [sourceLink('打开原站', jumpUrl)];
|
package/package.json
CHANGED
package/src/karin/apps/tools.ts
CHANGED
|
@@ -319,12 +319,11 @@ const handleBilibili = withParseForward(wrapWithErrorHandler(
|
|
|
319
319
|
platform: 'bilibili',
|
|
320
320
|
url: 'https://www.bilibili.com/video/' + iddata.bvid + (iddata.p ? '?p=' + iddata.p : ''),
|
|
321
321
|
id: String(iddata.bvid),
|
|
322
|
-
page: iddata.p
|
|
322
|
+
page: iddata.p
|
|
323
323
|
/**
|
|
324
|
-
*
|
|
325
|
-
*
|
|
324
|
+
* B站**不传 jumpUrl**:跳转块固定用 `www.bilibili.com/video/<bvid>` 这种标准形态
|
|
325
|
+
* (b23.tv 短链 App 复制了不跳转),由面板自己按 bvid + 分P 拼,见 `bilibiliShareUrl`。
|
|
326
326
|
*/
|
|
327
|
-
jumpUrl: String(url)
|
|
328
327
|
}, flags)
|
|
329
328
|
) {
|
|
330
329
|
return
|
|
@@ -407,13 +407,18 @@ export function douyinShareUrl (awemeId: string, detailShareUrl?: string): strin
|
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
/**
|
|
410
|
-
* B
|
|
410
|
+
* B站的跳转链接:**固定用标准视频页** `https://www.bilibili.com/video/<bvid>`。
|
|
411
411
|
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
412
|
+
* 试过 b23.tv 短链(`https://b23.tv/<bvid>`),实测 B站 App 认不出来 —— 复制后打开 App
|
|
413
|
+
* 没反应,必须是完整的 `www.bilibili.com/video/BV…` 这种形态。分 P 走 `?p=N` 查询参数。
|
|
414
|
+
*
|
|
415
|
+
* 卡片右下角的二维码也走这条(扫码不受长度影响,和跳转块保持一致)。
|
|
416
|
+
* @param bvid BV 号
|
|
417
|
+
* @param page 分 P(1 表示第一 P,不用带参数)
|
|
414
418
|
*/
|
|
415
|
-
export function bilibiliShareUrl (bvid: string): string {
|
|
416
|
-
|
|
419
|
+
export function bilibiliShareUrl (bvid: string, page?: number): string {
|
|
420
|
+
const url = 'https://www.bilibili.com/video/' + String(bvid)
|
|
421
|
+
return page && page > 1 ? url + '?p=' + page : url
|
|
417
422
|
}
|
|
418
423
|
|
|
419
424
|
/** 快手作品页链接(App 认的是自家域名下的链接,短链最终也是跳到这里) */
|
|
@@ -1185,18 +1190,20 @@ export async function sendQqParsePanel (e: Message, request: PanelRequest): Prom
|
|
|
1185
1190
|
* B站 / 抖音给的是「复制后打开 XX 自动跳转」代码块:各家 App 都认剪贴板里的自家链接,
|
|
1186
1191
|
* 不依赖 QQ 会不会把 markdown 链接渲染成可点的东西。快手之类仍给普通链接。
|
|
1187
1192
|
*
|
|
1188
|
-
*
|
|
1189
|
-
*
|
|
1190
|
-
*
|
|
1191
|
-
*
|
|
1192
|
-
*
|
|
1193
|
+
* 链接**优先用用户原样发的那条**(`request.jumpUrl`):我们拼的链接往往偏长,
|
|
1194
|
+
* App 剪贴板识别不了;用户发出来的 `v.douyin.com/xxx`、`v.kuaishou.com/xxx` 本来就是
|
|
1195
|
+
* 各家 App 自己生成的分享形态,最短也最容易被识别。
|
|
1196
|
+
*
|
|
1197
|
+
* **B站是唯一的例外**:它反过来 —— b23.tv 短链 App 不认,必须是完整的
|
|
1198
|
+
* `www.bilibili.com/video/BV…`,所以那支固定走 `bilibiliShareUrl()`,不用用户发的那条。
|
|
1199
|
+
* 二维码(卡片右下角)不受影响,和上面各平台一样保持自己的链接。
|
|
1193
1200
|
*/
|
|
1194
1201
|
const linkStart = lines.length
|
|
1195
1202
|
if (runtime.config.qqPanelSourceLink !== false && request.url) {
|
|
1196
|
-
// 优先用户原样发的那条:我们拼的链接偏长,App 剪贴板识别不了;App 自家分享的短链才稳
|
|
1197
1203
|
const jumpUrl = request.jumpUrl || request.url
|
|
1198
1204
|
const block = request.platform === 'bilibili'
|
|
1199
|
-
|
|
1205
|
+
// B站固定用 BV 规范链接(短链 App 不识别),分 P 靠 request.page 带上
|
|
1206
|
+
? copyJumpBlock('b站', bilibiliShareUrl(String(request.id), request.page))
|
|
1200
1207
|
: request.platform === 'douyin'
|
|
1201
1208
|
? copyJumpBlock('抖音', jumpUrl, DOUYIN_JUMP_TOKEN)
|
|
1202
1209
|
: [sourceLink('打开原站', jumpUrl)]
|