karin-plugin-kkk 1.1.7 → 1.1.10
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 +29 -0
- package/README.md +44 -49
- package/lib/apps/push.js +4 -0
- package/lib/module/db/bilibili.d.ts +0 -1
- package/lib/module/db/bilibili.js +12 -8
- package/lib/module/db/douyin.js +18 -7
- package/lib/module/utils/index.d.ts +1 -1
- package/lib/module/utils/index.js +1 -1
- package/lib/platform/bilibili/push.js +2 -3
- package/lib/platform/douyin/push.js +1 -1
- package/lib/web.config.js +2 -2
- package/package.json +3 -3
- package/config/PluginConfigView.yaml +0 -271
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
# 变更日志
|
|
2
|
+
|
|
3
|
+
## [1.1.10](https://github.com/ikenxuan/karin-plugin-kkk/compare/v1.1.9...v1.1.10) (2025-04-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* ci ([9d2a907](https://github.com/ikenxuan/karin-plugin-kkk/commit/9d2a907aee3e868b58f78eafddff5402f4cbabab))
|
|
9
|
+
* **config:** 将禁用词汇设置改为禁用标签设置 ([0454751](https://github.com/ikenxuan/karin-plugin-kkk/commit/0454751ccb8e93d5bb68996468ded5cb1c59f5f0))
|
|
10
|
+
|
|
11
|
+
## [1.1.9](https://github.com/ikenxuan/karin-plugin-kkk/compare/v1.1.8...v1.1.9) (2025-03-29)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* ci pub ([#57](https://github.com/ikenxuan/karin-plugin-kkk/issues/57)) ([ced7969](https://github.com/ikenxuan/karin-plugin-kkk/commit/ced79693434dc9a394221e6bf371381c72dcc189))
|
|
17
|
+
* npm run pub ([#56](https://github.com/ikenxuan/karin-plugin-kkk/issues/56)) ([84f10ed](https://github.com/ikenxuan/karin-plugin-kkk/commit/84f10eda0521307ad0f278bc00d3f2ff3a8ef963))
|
|
18
|
+
|
|
19
|
+
## [1.1.8](https://github.com/ikenxuan/karin-plugin-kkk/compare/v1.1.7...v1.1.8) (2025-03-26)
|
|
20
|
+
|
|
21
|
+
### 🐛 修复
|
|
22
|
+
|
|
23
|
+
* ci ([2411982](https://github.com/ikenxuan/karin-plugin-kkk/commit/24119822b2b5a16d47a5f755d5a6cdddd87f6a98))
|
|
24
|
+
* ci ([d43240c](https://github.com/ikenxuan/karin-plugin-kkk/commit/d43240c4069ae23226209f86f0e407a72864e76e))
|
|
25
|
+
|
|
26
|
+
### 🔄 持续集成
|
|
27
|
+
|
|
28
|
+
* 细优 ci/cd ([#55](https://github.com/ikenxuan/karin-plugin-kkk/issues/55)) ([9a586ce](https://github.com/ikenxuan/karin-plugin-kkk/commit/9a586cea89ead72ef5f634258196a80cc63f8f81))
|
|
29
|
+
|
|
1
30
|
# Changelog
|
|
2
31
|
|
|
3
32
|
## [1.1.7](https://github.com/ikenxuan/karin-plugin-kkk/compare/v1.1.6...v1.1.7) (2025-03-26)
|
package/README.md
CHANGED
|
@@ -1,77 +1,59 @@
|
|
|
1
1
|
# karin-plugin-kkk
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
🦄 **_Karin 的「抖音」「B 站」「快手」视频解析/动态推送插件_**
|
|
3
4
|
|
|
4
5
|
PS: 快手暂不支持推送
|
|
5
6
|
|
|
6
7
|
## ⬇️ 安装
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
- 使用 **`包管理器`** 安装(非常推荐)
|
|
9
10
|
<details>
|
|
10
11
|
<summary>点击展开</summary>
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
在 **Karin 根目录** 下运行
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
pnpm add karin-plugin-kkk@latest -w
|
|
17
|
+
```
|
|
18
|
+
|
|
16
19
|
</details>
|
|
17
20
|
|
|
18
21
|
<br />
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
- 克隆编译产物 **`build 分支`**(比较推荐)
|
|
21
24
|
<details>
|
|
22
25
|
<summary>点击展开</summary>
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
1. 克隆源码
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
git clone --depth=1 -b build https://github.com/ikenxuan/karin-plugin-kkk.git ./plugins/karin-plugin-kkk/
|
|
31
|
+
```
|
|
32
|
+
|
|
28
33
|
<details>
|
|
29
34
|
<summary>如果你的 git 无法访问至 Github...点击打开查看解决方法</summary>
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
> 若克隆无法连接到 Github,可以使用 GitHub Proxy 提供的镜像加速克隆
|
|
37
|
+
> 建议收藏 [GitHub Proxy 最新地址发布](https://ghproxy.link/) 站点,以免镜像站被 GFW 封锁导致克隆失败
|
|
38
|
+
>
|
|
39
|
+
> ```sh
|
|
40
|
+
> git clone --depth=1 -b build https://ghgo.xyz/https://github.com/ikenxuan/karin-plugin-kkk.git ./plugins/karin-plugin-kkk/
|
|
41
|
+
> ```
|
|
36
42
|
|
|
37
43
|
</details>
|
|
38
44
|
<br>
|
|
39
45
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
2. 安装依赖
|
|
47
|
+
安装依赖,在 **Karin 根目录** 下运行
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
pnpm install --filter=karin-plugin-kkk
|
|
51
|
+
```
|
|
45
52
|
|
|
46
53
|
</details>
|
|
47
54
|
|
|
48
55
|
<br />
|
|
49
56
|
|
|
50
|
-
* 使用 Release **`发行版`**(不推荐)
|
|
51
|
-
<details>
|
|
52
|
-
<summary>点击展开</summary>
|
|
53
|
-
|
|
54
|
-
<p style="color: red; font-weight: 700;">不推荐该方式,后续只能重复下载 Release 包进行更新,且无法通过 Git 或 包管理器 进行更新</p>
|
|
55
|
-
|
|
56
|
-
1. 打开 Release 页面: https://github.com/ikenxuan/karin-plugin-kkk/releases
|
|
57
|
-
2. 找到最新的版本,下载名为 `build.zip` 的压缩包
|
|
58
|
-
3. 在 `plugins/` 目录下解压该压缩包,选择替换所有文件。
|
|
59
|
-
|
|
60
|
-
* 完成后相关源码应在 `Karin根目录/plugins/karin-plugin-kkk/` 内<br><br>
|
|
61
|
-
|
|
62
|
-
解压完成后在插件目录下运行
|
|
63
|
-
```sh
|
|
64
|
-
pnpm install
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
或者在 **Karin 根目录** 下运行
|
|
68
|
-
```sh
|
|
69
|
-
pnpm install --filter=karin-plugin-kkk
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
</details>
|
|
73
|
-
|
|
74
|
-
|
|
75
57
|
## 📖 功能
|
|
76
58
|
|
|
77
59
|
**更多信息可打开 [文档主页](https://ikenxuan.github.io/karin-plugin-kkk/) 阅读。**<br>
|
|
@@ -84,36 +66,46 @@ PS: 快手暂不支持推送
|
|
|
84
66
|
|
|
85
67
|
1. [fork](https://github.com/ikenxuan/karin-plugin-kkk/fork) 本项目到自己的仓库
|
|
86
68
|
2. 克隆到本地
|
|
69
|
+
|
|
87
70
|
```sh
|
|
88
71
|
git clone https://github.com/你的GitHub用户名/karin-plugin-kkk.git
|
|
89
72
|
```
|
|
73
|
+
|
|
90
74
|
3. 进入项目目录
|
|
75
|
+
|
|
91
76
|
```sh
|
|
92
77
|
cd karin-plugin-kkk/
|
|
93
78
|
```
|
|
79
|
+
|
|
94
80
|
4. 初始化开发环境
|
|
81
|
+
|
|
95
82
|
```sh
|
|
96
83
|
pnpm run init
|
|
97
84
|
```
|
|
85
|
+
|
|
98
86
|
5. 安装依赖
|
|
87
|
+
|
|
99
88
|
```sh
|
|
100
89
|
pnpm install
|
|
101
90
|
```
|
|
102
|
-
|
|
91
|
+
|
|
92
|
+
6. 启动开发环境
|
|
93
|
+
|
|
103
94
|
```sh
|
|
104
95
|
pnpm dev
|
|
105
96
|
```
|
|
97
|
+
|
|
106
98
|
</details>
|
|
107
99
|
|
|
108
100
|
## 🌟 贡献者
|
|
109
101
|
|
|
110
|
-
>
|
|
102
|
+
> 🌟 星光闪烁,你们的智慧如同璀璨的夜空。感谢所有为 **karin-plugin-kkk** 做出贡献的人!
|
|
111
103
|
|
|
112
104
|
<a href="https://github.com/ikenxuan/karin-plugin-kkk/graphs/contributors">
|
|
113
105
|
<img src="https://contrib.rocks/image?repo=ikenxuan/karin-plugin-kkk" />
|
|
114
106
|
</a>
|
|
115
107
|
|
|
116
|
-

|
|
117
109
|
|
|
118
110
|
## Star History
|
|
119
111
|
|
|
@@ -126,6 +118,7 @@ pnpm dev
|
|
|
126
118
|
</a>
|
|
127
119
|
|
|
128
120
|
## 😊 鸣谢
|
|
121
|
+
|
|
129
122
|
**业务站点**
|
|
130
123
|
|
|
131
124
|
- [www.douyin.com](https://www.douyin.com) & [www.bilibili.com](https://www.bilibili.com) & [www.kuaishou.com](https://www.kuaishou.com)
|
|
@@ -148,9 +141,11 @@ pnpm dev
|
|
|
148
141
|
- 更多待补充...
|
|
149
142
|
|
|
150
143
|
**友情链接**
|
|
144
|
+
|
|
151
145
|
- Karin 框架 [**GitHub**](https://github.com/Karinjs/Karin) | [**文档**](https://karin.fun)
|
|
152
146
|
|
|
153
147
|
## 🧷 许可证
|
|
148
|
+
|
|
154
149
|
[**GPL-3.0**](./LICENSE)
|
|
155
150
|
|
|
156
151
|
## ❗ 声明
|
package/lib/apps/push.js
CHANGED
|
@@ -28,6 +28,10 @@ export const setdyPush = karin.command(/^#设置抖音推送/, async (e) => {
|
|
|
28
28
|
return true;
|
|
29
29
|
}, { name: 'kkk-推送功能-设置', event: 'message.group', perm: Config.douyin.push.permission, dsbAdapter: ['qqbot'] });
|
|
30
30
|
export const setbiliPush = karin.command(/^#设置[bB]站推送(?:[Uu][Ii][Dd]:)?(\d+)$/, async (e) => {
|
|
31
|
+
if (!Config.cookies.bilibili) {
|
|
32
|
+
await e.reply('\n请先配置B站Cookie', { at: true });
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
31
35
|
const match = /^#设置[bB]站推送(?:UID:)?(\d+)$/.exec(e.msg);
|
|
32
36
|
if (match && match[1]) {
|
|
33
37
|
const data = await getBilibiliData('用户主页数据', Config.cookies.bilibili, { host_mid: Number(match[1]) });
|
|
@@ -8,9 +8,6 @@ const sequelize = new Sequelize({
|
|
|
8
8
|
storage: join(`${basePath}/${Version.pluginName}/data`, 'bilibili.db'),
|
|
9
9
|
logging: false
|
|
10
10
|
});
|
|
11
|
-
/** 测试数据库连接是否成功 */
|
|
12
|
-
await sequelize.authenticate();
|
|
13
|
-
// 定义模型
|
|
14
11
|
/** Bots表 - 存储机器人信息 */
|
|
15
12
|
const Bot = sequelize.define('Bot', {
|
|
16
13
|
id: {
|
|
@@ -50,10 +47,6 @@ const BilibiliUser = sequelize.define('BilibiliUser', {
|
|
|
50
47
|
remark: {
|
|
51
48
|
type: DataTypes.STRING,
|
|
52
49
|
comment: 'B站用户昵称'
|
|
53
|
-
},
|
|
54
|
-
avatar_img: {
|
|
55
|
-
type: DataTypes.STRING,
|
|
56
|
-
comment: '头像URL'
|
|
57
50
|
}
|
|
58
51
|
}, {
|
|
59
52
|
timestamps: true
|
|
@@ -126,13 +119,21 @@ const DynamicCache = sequelize.define('DynamicCache', {
|
|
|
126
119
|
timestamps: true
|
|
127
120
|
});
|
|
128
121
|
// 建立关联关系
|
|
122
|
+
/** 一个机器人可以管理多个群组,一对多关系 */
|
|
129
123
|
Bot.hasMany(Group, { foreignKey: 'botId' });
|
|
124
|
+
/** 一个群组属于一个机器人,多对一关系 */
|
|
130
125
|
Group.belongsTo(Bot, { foreignKey: 'botId' });
|
|
126
|
+
/** 群组和B站用户是多对多关系,通过 GroupUserSubscription 表关联 */
|
|
131
127
|
Group.belongsToMany(BilibiliUser, { through: GroupUserSubscription, foreignKey: 'groupId' });
|
|
128
|
+
/** B站用户和群组是多对多关系,通过 GroupUserSubscription 表关联 */
|
|
132
129
|
BilibiliUser.belongsToMany(Group, { through: GroupUserSubscription, foreignKey: 'host_mid' });
|
|
130
|
+
/** 一个B站用户可以有多条动态缓存记录,一对多关系 */
|
|
133
131
|
BilibiliUser.hasMany(DynamicCache, { foreignKey: 'host_mid' });
|
|
132
|
+
/** 一条动态缓存记录属于一个B站用户,多对一关系 */
|
|
134
133
|
DynamicCache.belongsTo(BilibiliUser, { foreignKey: 'host_mid' });
|
|
134
|
+
/** 一个群组可以有多条动态缓存记录,一对多关系 */
|
|
135
135
|
Group.hasMany(DynamicCache, { foreignKey: 'groupId' });
|
|
136
|
+
/** 一条动态缓存记录属于一个群组,多对一关系 */
|
|
136
137
|
DynamicCache.belongsTo(Group, { foreignKey: 'groupId' });
|
|
137
138
|
/** 数据库操作类 */
|
|
138
139
|
export class BilibiliDBBase {
|
|
@@ -162,7 +163,6 @@ export class BilibiliDBBase {
|
|
|
162
163
|
* 获取或创建B站用户记录
|
|
163
164
|
* @param host_mid B站用户UID
|
|
164
165
|
* @param remark UP主昵称
|
|
165
|
-
* @param avatar_img 头像URL
|
|
166
166
|
*/
|
|
167
167
|
async getOrCreateBilibiliUser(host_mid, remark = '') {
|
|
168
168
|
const [user] = await BilibiliUser.findOrCreate({
|
|
@@ -307,6 +307,10 @@ export class BilibiliDBBase {
|
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
|
+
/** 测试数据库连接是否成功 */
|
|
311
|
+
await sequelize.authenticate();
|
|
312
|
+
/** 建表 */
|
|
313
|
+
await sequelize.sync();
|
|
310
314
|
export const bilibiliDB = new BilibiliDBBase();
|
|
311
315
|
export { BilibiliUser, Bot, DynamicCache, Group, GroupUserSubscription };
|
|
312
316
|
/** B站数据库模型集合 */
|
package/lib/module/db/douyin.js
CHANGED
|
@@ -8,9 +8,6 @@ const sequelize = new Sequelize({
|
|
|
8
8
|
storage: join(`${basePath}/${Version.pluginName}/data`, 'douyin.db'),
|
|
9
9
|
logging: false
|
|
10
10
|
});
|
|
11
|
-
/** 测试数据库连接是否成功 */
|
|
12
|
-
await sequelize.authenticate();
|
|
13
|
-
// 定义模型
|
|
14
11
|
/** Bots表 - 存储机器人信息 */
|
|
15
12
|
const Bot = sequelize.define('Bot', {
|
|
16
13
|
id: {
|
|
@@ -127,17 +124,27 @@ const AwemeCache = sequelize.define('AwemeCache', {
|
|
|
127
124
|
timestamps: true
|
|
128
125
|
});
|
|
129
126
|
// 建立关联关系
|
|
127
|
+
/** Bot和Group是一对多关系:一个机器人可以管理多个群组 */
|
|
130
128
|
Bot.hasMany(Group, { foreignKey: 'botId' });
|
|
129
|
+
/** Group从属于Bot:每个群组都有一个所属的机器人 */
|
|
131
130
|
Group.belongsTo(Bot, { foreignKey: 'botId' });
|
|
132
|
-
GroupUserSubscription
|
|
133
|
-
Group.hasMany(GroupUserSubscription, { foreignKey: 'groupId' });
|
|
134
|
-
GroupUserSubscription.belongsTo(DouyinUser, { foreignKey: 'sec_uid' });
|
|
135
|
-
DouyinUser.hasMany(GroupUserSubscription, { foreignKey: 'sec_uid' });
|
|
131
|
+
/** Group和DouyinUser是多对多关系:通过GroupUserSubscription表建立关联 */
|
|
136
132
|
Group.belongsToMany(DouyinUser, { through: GroupUserSubscription, foreignKey: 'groupId' });
|
|
133
|
+
/** 一个群组可以订阅多个抖音用户,一个抖音用户也可以被多个群组订阅 */
|
|
137
134
|
DouyinUser.belongsToMany(Group, { through: GroupUserSubscription, foreignKey: 'sec_uid' });
|
|
135
|
+
/** 添加Group和GroupUserSubscription之间的直接关联 */
|
|
136
|
+
Group.hasMany(GroupUserSubscription, { foreignKey: 'groupId' });
|
|
137
|
+
GroupUserSubscription.belongsTo(Group, { foreignKey: 'groupId' });
|
|
138
|
+
/** 添加DouyinUser和GroupUserSubscription之间的直接关联 */
|
|
139
|
+
DouyinUser.hasMany(GroupUserSubscription, { foreignKey: 'sec_uid' });
|
|
140
|
+
GroupUserSubscription.belongsTo(DouyinUser, { foreignKey: 'sec_uid' });
|
|
141
|
+
/** DouyinUser和AwemeCache是一对多关系:一个抖音用户可以有多个作品缓存 */
|
|
138
142
|
DouyinUser.hasMany(AwemeCache, { foreignKey: 'sec_uid' });
|
|
143
|
+
/** AwemeCache从属于DouyinUser:每个作品缓存都属于一个抖音用户 */
|
|
139
144
|
AwemeCache.belongsTo(DouyinUser, { foreignKey: 'sec_uid' });
|
|
145
|
+
/** Group和AwemeCache是一对多关系:一个群组可以有多个作品缓存 */
|
|
140
146
|
Group.hasMany(AwemeCache, { foreignKey: 'groupId' });
|
|
147
|
+
/** AwemeCache从属于Group:每个作品缓存都属于一个群组 */
|
|
141
148
|
AwemeCache.belongsTo(Group, { foreignKey: 'groupId' });
|
|
142
149
|
/** 数据库操作类 */
|
|
143
150
|
export class DouyinDBBase {
|
|
@@ -344,6 +351,10 @@ export class DouyinDBBase {
|
|
|
344
351
|
return await Group.findByPk(groupId);
|
|
345
352
|
}
|
|
346
353
|
}
|
|
354
|
+
/** 测试数据库连接是否成功 */
|
|
355
|
+
await sequelize.authenticate();
|
|
356
|
+
/** 建表 */
|
|
357
|
+
await sequelize.sync();
|
|
347
358
|
export const douyinDB = new DouyinDBBase();
|
|
348
359
|
/** 抖音数据库模型集合 */
|
|
349
360
|
export const douyinModels = {
|
|
@@ -28,7 +28,6 @@ export class Bilibilipush extends Base {
|
|
|
28
28
|
}
|
|
29
29
|
this.force = force; // 保存传入的强制执行标志
|
|
30
30
|
this.amagi = new Client({ bilibili: Config.cookies.bilibili });
|
|
31
|
-
// this.mergeBilibiliItems(Config.pushlist.bilibili)
|
|
32
31
|
}
|
|
33
32
|
/**
|
|
34
33
|
* 执行主要的操作流程,包括检查缓存并根据需要获取和更新用户数据。
|
|
@@ -36,8 +35,7 @@ export class Bilibilipush extends Base {
|
|
|
36
35
|
*/
|
|
37
36
|
async action() {
|
|
38
37
|
try {
|
|
39
|
-
|
|
40
|
-
await bilibiliDB.syncConfigSubscriptions(Config.pushlist.bilibili);
|
|
38
|
+
await this.syncConfigToDatabase();
|
|
41
39
|
// 清理旧的动态缓存记录
|
|
42
40
|
const deletedCount = await cleanOldDynamicCache('bilibili', 1);
|
|
43
41
|
if (deletedCount > 0) {
|
|
@@ -573,6 +571,7 @@ export class Bilibilipush extends Base {
|
|
|
573
571
|
}
|
|
574
572
|
/** 渲染推送列表图片 */
|
|
575
573
|
async renderPushList() {
|
|
574
|
+
await this.syncConfigToDatabase();
|
|
576
575
|
const groupInfo = await this.e.bot.getGroupInfo('groupId' in this.e && this.e.groupId ? this.e.groupId : '');
|
|
577
576
|
const groupId = 'groupId' in this.e && this.e.groupId ? this.e.groupId : '';
|
|
578
577
|
// 获取该群组的所有订阅
|
|
@@ -23,7 +23,6 @@ export class DouYinpush extends Base {
|
|
|
23
23
|
}
|
|
24
24
|
async action() {
|
|
25
25
|
try {
|
|
26
|
-
// 同步配置文件到数据库
|
|
27
26
|
await this.syncConfigToDatabase();
|
|
28
27
|
// 清理旧的动态缓存记录
|
|
29
28
|
const deletedCount = await cleanOldDynamicCache('douyin', 1);
|
|
@@ -408,6 +407,7 @@ export class DouYinpush extends Base {
|
|
|
408
407
|
}
|
|
409
408
|
/** 渲染推送列表图片 */
|
|
410
409
|
async renderPushList() {
|
|
410
|
+
await this.syncConfigToDatabase();
|
|
411
411
|
const groupInfo = await this.e.bot.getGroupInfo('groupId' in this.e && this.e.groupId ? this.e.groupId : '');
|
|
412
412
|
const groupId = 'groupId' in this.e && this.e.groupId ? this.e.groupId : '';
|
|
413
413
|
// 获取该群组的所有订阅
|
package/lib/web.config.js
CHANGED
|
@@ -202,7 +202,7 @@ export default {
|
|
|
202
202
|
label: '作品中有指定标签时,不推送',
|
|
203
203
|
maxRows: 2,
|
|
204
204
|
itemsPerRow: 4,
|
|
205
|
-
data: all.douyin.push.
|
|
205
|
+
data: all.douyin.push.banTags,
|
|
206
206
|
template: components.input.string('push:banTags', {
|
|
207
207
|
placeholder: '',
|
|
208
208
|
label: '',
|
|
@@ -331,7 +331,7 @@ export default {
|
|
|
331
331
|
label: '动态中有指定标签时,不推送',
|
|
332
332
|
maxRows: 2,
|
|
333
333
|
itemsPerRow: 4,
|
|
334
|
-
data: all.bilibili.push.
|
|
334
|
+
data: all.bilibili.push.banTags,
|
|
335
335
|
template: components.input.string('push:banTags', {
|
|
336
336
|
placeholder: '',
|
|
337
337
|
label: '',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "karin-plugin-kkk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "a Karin video parsing tool",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"karin-plugin",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"cors": "^2.8.5",
|
|
47
47
|
"heic-convert": "^2.1.0",
|
|
48
48
|
"http-proxy-middleware": "^3.0.3",
|
|
49
|
-
"playwright": "^1.
|
|
49
|
+
"playwright": "^1.51.1",
|
|
50
50
|
"qrcode": "^1.5.4",
|
|
51
51
|
"sequelize": "6.37.3"
|
|
52
52
|
},
|
|
@@ -73,4 +73,4 @@
|
|
|
73
73
|
"web": "./lib/web.config.js",
|
|
74
74
|
"ts-web": "./src/web.config.ts"
|
|
75
75
|
}
|
|
76
|
-
}
|
|
76
|
+
}
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
-
|
|
2
|
-
# 配置文件描述
|
|
3
|
-
name: Cookies相关
|
|
4
|
-
# 配置文件名
|
|
5
|
-
file: cookies.yaml
|
|
6
|
-
# 视图信息
|
|
7
|
-
view:
|
|
8
|
-
-
|
|
9
|
-
# 配置项
|
|
10
|
-
key: 抖音ck
|
|
11
|
-
# 配置描述
|
|
12
|
-
comment: 抖音ck,用于请求官方API数据
|
|
13
|
-
# 配置路径
|
|
14
|
-
path: 'douyin'
|
|
15
|
-
# 配置类型
|
|
16
|
-
type: 'text'
|
|
17
|
-
-
|
|
18
|
-
key: B站ck
|
|
19
|
-
comment: B站ck,用于请求官方API数据
|
|
20
|
-
path: 'bilibili'
|
|
21
|
-
type: 'text'
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
# 配置文件描述
|
|
25
|
-
name: 应用设置
|
|
26
|
-
# 配置文件名
|
|
27
|
-
file: app.yaml
|
|
28
|
-
# 视图信息
|
|
29
|
-
view:
|
|
30
|
-
-
|
|
31
|
-
# 配置项
|
|
32
|
-
key: 总开关
|
|
33
|
-
# 配置描述
|
|
34
|
-
comment: 视频解析工具总开关,修改后重启生效,关闭后可使用 kkk/kkk解析/解析 + 视频分享链接代替
|
|
35
|
-
# 配置路径
|
|
36
|
-
path: 'videotool'
|
|
37
|
-
# 配置类型
|
|
38
|
-
type: 'boolean'
|
|
39
|
-
-
|
|
40
|
-
key: 默认解析
|
|
41
|
-
comment: 识别最高优先级,修改后重启生效
|
|
42
|
-
path: 'defaulttool'
|
|
43
|
-
type: 'boolean'
|
|
44
|
-
-
|
|
45
|
-
key: 发送合并转发消息
|
|
46
|
-
comment: 可能多用于抖音解析
|
|
47
|
-
path: 'sendforwardmsg'
|
|
48
|
-
type: 'boolean'
|
|
49
|
-
-
|
|
50
|
-
key: 视频文件上传限制
|
|
51
|
-
comment: 开启后会根据解析的视频文件大小判断是否需要上传(B站番剧无影响)
|
|
52
|
-
path: 'usefilelimit'
|
|
53
|
-
type: 'boolean'
|
|
54
|
-
-
|
|
55
|
-
key: 缓存删除
|
|
56
|
-
comment: 非必要不修改!
|
|
57
|
-
path: 'rmmp4'
|
|
58
|
-
type: 'boolean'
|
|
59
|
-
-
|
|
60
|
-
key: API服务
|
|
61
|
-
comment: '将所有api接口放出,作为一个本地的视频解析API服务,默认端口4567'
|
|
62
|
-
path: 'APIServer'
|
|
63
|
-
type: 'boolean'
|
|
64
|
-
-
|
|
65
|
-
key: API服务端口
|
|
66
|
-
comment: 'API服务端口'
|
|
67
|
-
path: 'APIServerPort'
|
|
68
|
-
type: 'number'
|
|
69
|
-
-
|
|
70
|
-
key: API服务日志
|
|
71
|
-
comment: '打开或关闭运行日志'
|
|
72
|
-
path: 'APIServerLog'
|
|
73
|
-
type: 'boolean'
|
|
74
|
-
-
|
|
75
|
-
key: 自定义优先级
|
|
76
|
-
comment: 「默认解析」关闭后才会生效。修改后重启生效
|
|
77
|
-
path: 'priority'
|
|
78
|
-
type: 'number'
|
|
79
|
-
-
|
|
80
|
-
key: 视频文件大小限制
|
|
81
|
-
comment: '视频文件大于该数值则不会上传 单位: MB,「视频文件上传限制」开启后才会生效(B站番剧无影响)'
|
|
82
|
-
path: 'filelimit'
|
|
83
|
-
type: 'number'
|
|
84
|
-
-
|
|
85
|
-
key: 渲染精度
|
|
86
|
-
comment: 可选值50~200,建议100。设置高精度会提高图片的精细度,过高可能会影响渲染与发送速度
|
|
87
|
-
path: 'renderScale'
|
|
88
|
-
type: 'number'
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
# 配置文件描述
|
|
92
|
-
name: 抖音相关
|
|
93
|
-
# 配置文件名
|
|
94
|
-
file: douyin.yaml
|
|
95
|
-
# 视图信息
|
|
96
|
-
view:
|
|
97
|
-
-
|
|
98
|
-
# 配置项
|
|
99
|
-
key: 抖音解析开关
|
|
100
|
-
# 配置描述
|
|
101
|
-
comment: 单独开关,受「总开关」影响
|
|
102
|
-
# 配置路径
|
|
103
|
-
path: 'douyintool'
|
|
104
|
-
# 配置类型
|
|
105
|
-
type: 'boolean'
|
|
106
|
-
-
|
|
107
|
-
key: 抖音解析提示
|
|
108
|
-
comment: 发送提示信息:“检测到抖音链接,开始解析”
|
|
109
|
-
path: 'douyintip'
|
|
110
|
-
type: 'boolean'
|
|
111
|
-
-
|
|
112
|
-
key: 抖音评论解析
|
|
113
|
-
path: 'comments'
|
|
114
|
-
type: 'boolean'
|
|
115
|
-
-
|
|
116
|
-
key: 抖音评论数量
|
|
117
|
-
comment: 范围1~50条
|
|
118
|
-
path: 'numcomments'
|
|
119
|
-
type: 'number'
|
|
120
|
-
-
|
|
121
|
-
key: 发送抖音作品评论图
|
|
122
|
-
path: 'commentsimg'
|
|
123
|
-
type: 'boolean'
|
|
124
|
-
-
|
|
125
|
-
key: 抖音推送
|
|
126
|
-
comment: 开启后需重启;使用[#设置抖音推送+抖音号]配置推送列表
|
|
127
|
-
path: 'douyinpush'
|
|
128
|
-
type: 'boolean'
|
|
129
|
-
-
|
|
130
|
-
key: 抖音推送日志
|
|
131
|
-
comment: 打开或关闭定时任务日志
|
|
132
|
-
path: 'douyinpushlog'
|
|
133
|
-
type: 'boolean'
|
|
134
|
-
-
|
|
135
|
-
key: 抖音推送设置权限
|
|
136
|
-
comment: '0: (all)所有人;1: (admin)群主和管理员;2: (owner)群主;3: (master)主人'
|
|
137
|
-
path: 'douyinpushGroup'
|
|
138
|
-
type: 'select'
|
|
139
|
-
# 是否可以多选
|
|
140
|
-
multiple: false
|
|
141
|
-
# 选项
|
|
142
|
-
item:
|
|
143
|
-
-
|
|
144
|
-
name: 所有人都可以添加
|
|
145
|
-
value: all
|
|
146
|
-
-
|
|
147
|
-
name: 只有群管理员可以添加
|
|
148
|
-
value: admin
|
|
149
|
-
-
|
|
150
|
-
name: 只有群主可以添加
|
|
151
|
-
value: owner
|
|
152
|
-
-
|
|
153
|
-
name: 只有主人可以添加
|
|
154
|
-
value: master
|
|
155
|
-
-
|
|
156
|
-
key: 抖音推送表达式
|
|
157
|
-
path: 'douyinpushcron'
|
|
158
|
-
type: 'boolean'
|
|
159
|
-
-
|
|
160
|
-
key: 图集BGM是否使用高清语音发送
|
|
161
|
-
comment: 高清语音「ios/PC」系统均无法播放,自行衡量开关(仅icqq)
|
|
162
|
-
path: 'sendHDrecord'
|
|
163
|
-
type: 'boolean'
|
|
164
|
-
-
|
|
165
|
-
key: 抖音推送是否一同发送作品视频
|
|
166
|
-
comment: 和推送图一同将新作品内容发送出去(图集暂未支持)
|
|
167
|
-
path: 'senddynamicwork'
|
|
168
|
-
type: 'boolean'
|
|
169
|
-
|
|
170
|
-
-
|
|
171
|
-
# 配置文件描述
|
|
172
|
-
name: bilibili相关
|
|
173
|
-
# 配置文件名
|
|
174
|
-
file: bilibili.yaml
|
|
175
|
-
# 视图信息
|
|
176
|
-
view:
|
|
177
|
-
-
|
|
178
|
-
# 配置项
|
|
179
|
-
key: B站解析开关
|
|
180
|
-
# 配置描述
|
|
181
|
-
comment: 单独开关,受「总开关」影响
|
|
182
|
-
# 配置路径
|
|
183
|
-
path: 'bilibilitool'
|
|
184
|
-
# 配置类型
|
|
185
|
-
type: 'boolean'
|
|
186
|
-
-
|
|
187
|
-
key: B站解析提示
|
|
188
|
-
comment: 发送提示信息:“检测到B站链接,开始解析”
|
|
189
|
-
path: 'bilibilitip'
|
|
190
|
-
type: 'boolean'
|
|
191
|
-
-
|
|
192
|
-
key: B站评论图
|
|
193
|
-
comment: 发送哔哩哔哩作品评论图
|
|
194
|
-
path: 'bilibilicommentsimg'
|
|
195
|
-
type: 'boolean'
|
|
196
|
-
-
|
|
197
|
-
key: B站评论数量
|
|
198
|
-
comment: 范围1~20条
|
|
199
|
-
path: 'bilibilinumcomments'
|
|
200
|
-
type: 'number'
|
|
201
|
-
-
|
|
202
|
-
key: B站推送
|
|
203
|
-
comment: 开启后需重启;使用[#设置B站推送+UID]配置推送列表
|
|
204
|
-
path: 'bilibilipush'
|
|
205
|
-
type: 'boolean'
|
|
206
|
-
-
|
|
207
|
-
key: B站推送日志
|
|
208
|
-
comment: 打开或关闭定时任务日志
|
|
209
|
-
path: 'bilibilipushlog'
|
|
210
|
-
type: 'boolean'
|
|
211
|
-
-
|
|
212
|
-
key: B站推送设置权限
|
|
213
|
-
comment: '0: (all)所有人;1: (admin)群主和管理员;2: (owner)群主;3: (master)主人'
|
|
214
|
-
path: 'bilibilipushGroup'
|
|
215
|
-
type: 'select'
|
|
216
|
-
# 是否可以多选
|
|
217
|
-
multiple: false
|
|
218
|
-
# 选项
|
|
219
|
-
item:
|
|
220
|
-
-
|
|
221
|
-
name: 所有人都可以添加
|
|
222
|
-
value: all
|
|
223
|
-
-
|
|
224
|
-
name: 只有群管理员可以添加
|
|
225
|
-
value: admin
|
|
226
|
-
-
|
|
227
|
-
name: 只有群主可以添加
|
|
228
|
-
value: owner
|
|
229
|
-
-
|
|
230
|
-
name: 只有主人可以添加
|
|
231
|
-
value: master
|
|
232
|
-
-
|
|
233
|
-
key: B站推送表达式
|
|
234
|
-
path: 'bilibilipushcron'
|
|
235
|
-
type: 'boolean'
|
|
236
|
-
-
|
|
237
|
-
key: B站动态视频发送
|
|
238
|
-
comment: 该UP的最新动态可能是视频,可选是否与推送图片一同发送
|
|
239
|
-
path: 'senddynamicvideo'
|
|
240
|
-
type: 'boolean'
|
|
241
|
-
-
|
|
242
|
-
key: B站动态视频发送
|
|
243
|
-
comment: 解析视频是否优先保内容,打开为优先保证上传将使用最低分辨率,关闭为优先保清晰度将使用最高分辨率
|
|
244
|
-
path: 'videopriority'
|
|
245
|
-
type: 'boolean'
|
|
246
|
-
-
|
|
247
|
-
# 配置文件描述
|
|
248
|
-
name: 快手相关
|
|
249
|
-
# 配置文件名
|
|
250
|
-
file: kuaishou.yaml
|
|
251
|
-
# 视图信息
|
|
252
|
-
view:
|
|
253
|
-
-
|
|
254
|
-
# 配置项
|
|
255
|
-
key: 快手解析开关
|
|
256
|
-
# 配置描述
|
|
257
|
-
comment: 单独开关,受「总开关」影响
|
|
258
|
-
# 配置路径
|
|
259
|
-
path: 'kuaishoutool'
|
|
260
|
-
# 配置类型
|
|
261
|
-
type: 'boolean'
|
|
262
|
-
-
|
|
263
|
-
key: 快手解析提示
|
|
264
|
-
comment: 发送提示信息:“检测到快手链接,开始解析”
|
|
265
|
-
path: 'kuaishoutip'
|
|
266
|
-
type: 'boolean'
|
|
267
|
-
-
|
|
268
|
-
key: 快手评论数量
|
|
269
|
-
comment: 范围1~30条
|
|
270
|
-
path: 'kuaishounumcomments'
|
|
271
|
-
type: 'number'
|