koishi-plugin-kkk 3.8.0 → 3.9.0
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 +17 -0
- package/lib/build-metadata.json +5 -5
- package/lib/index.js +8 -3
- package/lib/karin/module/db/bilibili.js +185 -393
- package/lib/karin/module/db/douyin.js +219 -500
- package/lib/karin/module/db/index.js +30 -5
- package/lib/karin/module/db/model.js +200 -0
- package/lib/karin/module/db/statistics.js +197 -242
- package/lib/karin/setup.js +2 -4
- package/package.json +2 -1
- package/scripts/build.mjs +38 -5
- package/scripts/deploy.mjs +76 -27
- package/scripts/smoke-db-koishi.cjs +170 -0
- package/src/index.ts +8 -3
- package/src/karin/module/db/bilibili.ts +189 -448
- package/src/karin/module/db/douyin.ts +219 -587
- package/src/karin/module/db/index.ts +30 -4
- package/src/karin/module/db/model.ts +439 -0
- package/src/karin/module/db/statistics.ts +213 -380
- package/src/karin/setup.ts +2 -4
- package/lib/compat/sqlite3.js +0 -117
- package/lib/karin/module/db/migration.js +0 -199
- package/src/compat/sqlite3.ts +0 -123
- package/src/karin/module/db/migration.ts +0 -249
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# 更新日志
|
|
2
2
|
|
|
3
|
+
## 3.9.0
|
|
4
|
+
|
|
5
|
+
> 插件不再自己建数据库了,全部改用 Koishi 自带的数据库服务。
|
|
6
|
+
> 数据统一落在宿主配置的那个库里(sqlite / mysql / postgres 都行),备份和迁移跟着宿主走,
|
|
7
|
+
> 不用再单独惦记插件数据目录里那几个 `.db` 文件。
|
|
8
|
+
> **代价:过滤词 / 过滤标签和解析统计历史会从零开始**(订阅关系不受影响,每次启动自动从推送列表重建)。
|
|
9
|
+
|
|
10
|
+
### 数据库改用 Koishi 原生数据库服务
|
|
11
|
+
|
|
12
|
+
- 以前插件自己在数据目录里开三个 sqlite 文件(`douyin.db` / `bilibili.db` / `statistics.db`);
|
|
13
|
+
现在所有数据都走 Koishi 的 `ctx.database`,表由插件注册(`kkk.douyin.*` / `kkk.bilibili.*` / `kkk.statistics.*`),
|
|
14
|
+
落在宿主配置的那一个库里(sqlite / mysql / postgres 都行),插件不再创建任何 sqlite 文件。
|
|
15
|
+
- **`database` 服务变成必选**:没有配置数据库插件时 Koishi 会直接不加载本插件(以前是可选的,因为那时插件自己建库)。
|
|
16
|
+
- **旧库不迁移**:三个旧 `.db` 文件保留不动,但不再被读取。订阅关系每次启动都会从配置里的推送列表
|
|
17
|
+
(`config.json` 的 `pushlist`)自动重建,**不受影响**;**过滤词 / 过滤标签、解析统计历史会从零开始**。
|
|
18
|
+
- 想保留过滤词或统计历史的,可以在切换前自己从旧 `.db` 里导出,或改配置里的推送列表重新加过滤规则。
|
|
19
|
+
|
|
3
20
|
## 3.8.0
|
|
4
21
|
|
|
5
22
|
> 抖音解析修好了。抖音那边改了风控规则,**换 cookie 是没用的** —— 问题出在解析用的那个库太旧;
|
package/lib/build-metadata.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.
|
|
3
|
-
"buildTime": "2026-09-
|
|
4
|
-
"buildTimestamp":
|
|
2
|
+
"version": "3.9.0",
|
|
3
|
+
"buildTime": "2026-09-29T04:52:03.418Z",
|
|
4
|
+
"buildTimestamp": 1790657523454,
|
|
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": "e58bb629886c203412e751fa87ef69b52dc44f52",
|
|
9
|
+
"shortCommitHash": "e58bb62"
|
|
10
10
|
}
|
package/lib/index.js
CHANGED
|
@@ -119,13 +119,18 @@ try {
|
|
|
119
119
|
catch { /* 同上 */ }
|
|
120
120
|
exports.name = 'kkk';
|
|
121
121
|
exports.inject = {
|
|
122
|
+
// database:**必选**。订阅关系、推送缓存、解析统计全走 Koishi 原生数据库服务
|
|
123
|
+
// (表由 ctx.model.extend 注册,落在宿主自己的库里,插件不再自己开 sqlite 文件)。
|
|
124
|
+
// 之前它是 optional,因为那会儿插件自己建库;现在没有数据库服务就没有地方存数据,
|
|
125
|
+
// 直接声明成必选,让 Koishi 在没有配置数据库插件时明确地不加载本插件。
|
|
126
|
+
required: ['database'],
|
|
122
127
|
// server 只给「插件自带控制台」用,已经移除;这里留着不需要的服务反而会拖慢加载
|
|
123
128
|
// ffmpeg:由 koishi-plugin-ffmpeg-path 提供,兼容层的 ffmpeg()/ffprobe() 会优先用它
|
|
124
129
|
// assets:koishi-plugin-assets-qqbot-part-file 之类提供的图床服务,
|
|
125
130
|
// 面板卡片要上传成 https 地址才能放进 QQ 的 markdown 图片里
|
|
126
131
|
// 渲染:只用浏览器渲染服务(koishi-plugin-puppeteer 或同类插件)
|
|
127
132
|
// 3.5.0 起不再支持 shotkit 内核(它在 Windows 上加载不了 https 资源,卡片会缺图)
|
|
128
|
-
optional: ['puppeteer', '
|
|
133
|
+
optional: ['puppeteer', 'http', 'ffmpeg', 'assets', 'server', 'console']
|
|
129
134
|
};
|
|
130
135
|
/**
|
|
131
136
|
* 配置表单 = 「Koishi 集成选项」 + 「上游插件配置」。
|
|
@@ -1112,11 +1117,11 @@ async function apply(ctx, rawConfig) {
|
|
|
1112
1117
|
logger.warn('加载 app %s 失败(该功能暂不可用): %s', app, error?.message ?? error);
|
|
1113
1118
|
}
|
|
1114
1119
|
}
|
|
1115
|
-
//
|
|
1120
|
+
// 初始化数据库实例(走 Koishi 原生数据库服务 ctx.database)
|
|
1116
1121
|
// 原实现用顶层 await 立即初始化,CJS 下改成在这里显式引导,否则 module/db 导出的实例是 null
|
|
1117
1122
|
try {
|
|
1118
1123
|
const { bootstrapDatabases } = await Promise.resolve().then(() => __importStar(require('./karin/module/db')));
|
|
1119
|
-
const { douyinDB, bilibiliDB, statisticsDB } = await bootstrapDatabases();
|
|
1124
|
+
const { douyinDB, bilibiliDB, statisticsDB } = await bootstrapDatabases(ctx);
|
|
1120
1125
|
logger.debug('数据库初始化完成:%s / %s / %s', douyinDB.constructor.name, bilibiliDB.constructor.name, statisticsDB.constructor.name);
|
|
1121
1126
|
}
|
|
1122
1127
|
catch (error) {
|