koishi-plugin-bilibili-notify 2.0.0-alpha.1 → 2.0.0-alpha.11
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/lib/biliAPI.d.ts +1 -0
- package/lib/biliAPI.js +10 -0
- package/lib/comRegister.d.ts +28 -11
- package/lib/comRegister.js +383 -353
- package/lib/database.d.ts +1 -2
- package/lib/database.js +1 -2
- package/lib/generateImg.js +8 -9
- package/lib/index.d.ts +1 -2
- package/lib/index.js +9 -11
- package/package.json +1 -2
- package/readme.md +30 -11
package/lib/database.d.ts
CHANGED
package/lib/database.js
CHANGED
package/lib/generateImg.js
CHANGED
|
@@ -44,14 +44,7 @@ class GenerateImg extends koishi_1.Service {
|
|
|
44
44
|
super(ctx, 'gi');
|
|
45
45
|
this.giConfig = config;
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
this.logger.info('工作中');
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
protected stop(): void | Promise<void> {
|
|
52
|
-
this.logger.info('已停止工作')
|
|
53
|
-
} */
|
|
54
|
-
async generateLiveImg(data, username, userface, liveStatus /*0未开播 1刚开播 2已开播 */) {
|
|
47
|
+
async generateLiveImg(data, username, userface, liveStatus /*0未开播 1刚开播 2已开播 3停止直播*/) {
|
|
55
48
|
const [titleStatus, liveTime, cover] = await this.getLiveStatus(data.live_time, liveStatus);
|
|
56
49
|
// 加载字体
|
|
57
50
|
const fontURL = (0, url_1.pathToFileURL)((0, path_1.resolve)(__dirname, 'font/HYZhengYuan-75W.ttf'));
|
|
@@ -183,7 +176,7 @@ class GenerateImg extends koishi_1.Service {
|
|
|
183
176
|
</div>
|
|
184
177
|
${this.giConfig.hideDesc ? '' : `<p class="card-text">${data.description ? data.description : '这个主播很懒,什么都简介都没写'}</p>`}
|
|
185
178
|
<p class="card-link">
|
|
186
|
-
|
|
179
|
+
${liveStatus !== 3 && `<span>人气:${data.online > 10000 ? `${(data.online / 10000).toFixed(1)}万` : data.online}</span>`}
|
|
187
180
|
<span>分区名称:${data.area_name}</span>
|
|
188
181
|
</p>
|
|
189
182
|
<p class="card-link">
|
|
@@ -1437,6 +1430,12 @@ class GenerateImg extends koishi_1.Service {
|
|
|
1437
1430
|
cover = false;
|
|
1438
1431
|
break;
|
|
1439
1432
|
}
|
|
1433
|
+
case 3: {
|
|
1434
|
+
titleStatus = '下播啦';
|
|
1435
|
+
liveTime = `直播时长:${await this.getTimeDifference(time)}`;
|
|
1436
|
+
cover = true;
|
|
1437
|
+
break;
|
|
1438
|
+
}
|
|
1440
1439
|
}
|
|
1441
1440
|
return [titleStatus, liveTime, cover];
|
|
1442
1441
|
}
|
package/lib/index.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ declare module 'koishi' {
|
|
|
9
9
|
export interface Config {
|
|
10
10
|
require: {};
|
|
11
11
|
key: string;
|
|
12
|
-
platform: 'qq' | 'qqguild' | 'onebot' | 'red' | 'telegram' | 'satori' | 'chronocat' | 'lark';
|
|
13
12
|
master: {};
|
|
14
13
|
basicSettings: {};
|
|
15
14
|
unlockSubLimits: boolean;
|
|
@@ -24,9 +23,9 @@ export interface Config {
|
|
|
24
23
|
changeMasterInfoApi: boolean;
|
|
25
24
|
liveStartAtAll: boolean;
|
|
26
25
|
restartPush: boolean;
|
|
27
|
-
pushUrl: boolean;
|
|
28
26
|
pushTime: number;
|
|
29
27
|
customLiveStart: string;
|
|
28
|
+
customLive: string;
|
|
30
29
|
customLiveEnd: string;
|
|
31
30
|
hideDesc: boolean;
|
|
32
31
|
style: {};
|
package/lib/index.js
CHANGED
|
@@ -57,10 +57,6 @@ exports.Config = koishi_1.Schema.object({
|
|
|
57
57
|
.role('secret')
|
|
58
58
|
.required()
|
|
59
59
|
.description('请输入一个32位小写字母的十六进制密钥(例如:9b8db7ae562b9864efefe06289cc5530),使用此密钥将你的B站登录信息存储在数据库中,请一定保存好此密钥。如果你忘记了此密钥,必须重新登录。你可以自行生成,或到这个网站生成:https://www.sexauth.com/'),
|
|
60
|
-
platform: koishi_1.Schema.union(['qq', 'qqguild', 'onebot', 'red', 'telegram', 'satori', 'chronocat', 'lark'])
|
|
61
|
-
.role('')
|
|
62
|
-
.required()
|
|
63
|
-
.description('请选择你的机器人平台,目前支持QQ、QQ群、OneBot、RedBot、Telegram、Satori、ChronoCat、Lark。从2.0版本开始,只能在一个平台下使用本插件'),
|
|
64
60
|
master: koishi_1.Schema.intersect([
|
|
65
61
|
koishi_1.Schema.object({
|
|
66
62
|
enable: koishi_1.Schema.boolean()
|
|
@@ -70,6 +66,8 @@ exports.Config = koishi_1.Schema.object({
|
|
|
70
66
|
koishi_1.Schema.union([
|
|
71
67
|
koishi_1.Schema.object({
|
|
72
68
|
enable: koishi_1.Schema.const(true).required(),
|
|
69
|
+
platform: koishi_1.Schema.union(['qq', 'qqguild', 'onebot', 'discord', 'red', 'telegram', 'satori', 'chronocat', 'lark'])
|
|
70
|
+
.description('请选择您的私人机器人平台,目前支持QQ、QQ群、OneBot、Discord、RedBot、Telegram、Satori、ChronoCat、Lark。从2.0版本开始,只能在一个平台下使用本插件'),
|
|
73
71
|
masterAccount: koishi_1.Schema.string()
|
|
74
72
|
.role('secret')
|
|
75
73
|
.required()
|
|
@@ -120,9 +118,6 @@ exports.Config = koishi_1.Schema.object({
|
|
|
120
118
|
restartPush: koishi_1.Schema.boolean()
|
|
121
119
|
.default(true)
|
|
122
120
|
.description('插件重启后,如果订阅的主播正在直播,是否进行一次推送,默认开启'),
|
|
123
|
-
pushUrl: koishi_1.Schema.boolean()
|
|
124
|
-
.default(false)
|
|
125
|
-
.description('推送直播状态时是否同时发送链接。注意:如果使用的是QQ官方机器人不能开启此项!'),
|
|
126
121
|
pushTime: koishi_1.Schema.number()
|
|
127
122
|
.min(0)
|
|
128
123
|
.max(12)
|
|
@@ -132,6 +127,8 @@ exports.Config = koishi_1.Schema.object({
|
|
|
132
127
|
customLiveStart: koishi_1.Schema.string()
|
|
133
128
|
.default('-name开播啦 -link')
|
|
134
129
|
.description('自定义开播提示语,-name代表UP昵称,-link代表直播间链接(如果使用的是QQ官方机器人,请不要使用)。例如-name开播啦,会发送为xxxUP开播啦'),
|
|
130
|
+
customLive: koishi_1.Schema.string()
|
|
131
|
+
.description('自定义直播中提示语,-name代表UP昵称,-time代表开播时长,-link代表直播间链接(如果使用的是QQ官方机器人,请不要使用)。例如-name正在直播,会发送为xxxUP正在直播xxx'),
|
|
135
132
|
customLiveEnd: koishi_1.Schema.string()
|
|
136
133
|
.default('-name下播啦,本次直播了-time')
|
|
137
134
|
.description('自定义下播提示语,-name代表UP昵称,-time代表开播时长。例如-name下播啦,本次直播了-time,会发送为xxxUP下播啦,直播时长为xx小时xx分钟xx秒'),
|
|
@@ -293,14 +290,12 @@ class ServerManager extends koishi_1.Service {
|
|
|
293
290
|
});
|
|
294
291
|
// CR = ComRegister
|
|
295
292
|
const cr = this.ctx.plugin(comRegister_1.default, {
|
|
296
|
-
platform: globalConfig.platform,
|
|
297
293
|
master: globalConfig.master,
|
|
298
294
|
unlockSubLimits: globalConfig.unlockSubLimits,
|
|
299
295
|
automaticResend: globalConfig.automaticResend,
|
|
300
296
|
changeMasterInfoApi: globalConfig.changeMasterInfoApi,
|
|
301
297
|
liveStartAtAll: globalConfig.liveStartAtAll,
|
|
302
298
|
restartPush: globalConfig.restartPush,
|
|
303
|
-
pushUrl: globalConfig.pushUrl,
|
|
304
299
|
pushTime: globalConfig.pushTime,
|
|
305
300
|
customLiveStart: globalConfig.customLiveStart,
|
|
306
301
|
customLiveEnd: globalConfig.customLiveEnd,
|
|
@@ -346,9 +341,9 @@ class ServerManager extends koishi_1.Service {
|
|
|
346
341
|
await this.disposePlugin();
|
|
347
342
|
// 隔一秒启动插件
|
|
348
343
|
return new Promise(resolve => {
|
|
349
|
-
this.ctx.setTimeout(
|
|
344
|
+
this.ctx.setTimeout(() => {
|
|
350
345
|
try {
|
|
351
|
-
|
|
346
|
+
this.registerPlugin();
|
|
352
347
|
}
|
|
353
348
|
catch (e) {
|
|
354
349
|
this.logger.error('重启插件失败', e);
|
|
@@ -363,6 +358,9 @@ function apply(ctx, config) {
|
|
|
363
358
|
// 设置config
|
|
364
359
|
globalConfig = config;
|
|
365
360
|
// 设置提示
|
|
361
|
+
ctx.notifier.create({
|
|
362
|
+
content: '从2.0.0-alpha.9以前版本更新需重新订阅'
|
|
363
|
+
});
|
|
366
364
|
ctx.notifier.create({
|
|
367
365
|
content: '请使用Auth插件创建超级管理员账号,没有权限将无法使用该插件提供的指令。'
|
|
368
366
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-bilibili-notify",
|
|
3
3
|
"description": "Koishi bilibili notify plugin",
|
|
4
|
-
"version": "2.0.0-alpha.
|
|
4
|
+
"version": "2.0.0-alpha.11",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Akokko <admin@akokko.com>"
|
|
7
7
|
],
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"axios": "^1.7.9",
|
|
31
31
|
"axios-cookiejar-support": "^5.0.5",
|
|
32
|
-
"jimp": "^1.6.0",
|
|
33
32
|
"jsdom": "^24.1.3",
|
|
34
33
|
"luxon": "^3.5.0",
|
|
35
34
|
"md5": "^2.3.0",
|
package/readme.md
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
- koishi-plugin-bilibili-notify [](https://www.npmjs.com/package/koishi-plugin-bilibili-notify)
|
|
8
|
+
- [重新订阅](#重新订阅)
|
|
8
9
|
- [功能](#功能)
|
|
9
10
|
- [注意事项](#注意事项)
|
|
10
11
|
- [安装](#安装)
|
|
@@ -14,6 +15,10 @@
|
|
|
14
15
|
- [感谢](#感谢)
|
|
15
16
|
- [License](#License)
|
|
16
17
|
|
|
18
|
+
## 重新订阅
|
|
19
|
+
|
|
20
|
+
由于版本 `2.0.0-alpha.7` 重构了订阅功能,从 `2.0.0-alpha.7` 以前版本升级到以后版本的需重新订阅
|
|
21
|
+
|
|
17
22
|
## 功能
|
|
18
23
|
|
|
19
24
|
订阅B站UP主动态
|
|
@@ -48,23 +53,27 @@
|
|
|
48
53
|
|
|
49
54
|
订阅UP主:订阅你想要推送的UP主
|
|
50
55
|
|
|
51
|
-
- 使用指令 `bili sub <uid> [
|
|
56
|
+
- 使用指令 `bili sub <uid> [...groupId]` 订阅需要订阅的UP主
|
|
52
57
|
- 参数说明:
|
|
53
58
|
- `uid` 为必填参数,为 `up主` 的 `uid`
|
|
54
|
-
- `
|
|
55
|
-
- 选项说明:`bili sub <uid>`
|
|
59
|
+
- `groupId` 为可选参数,为需要推送的群号/频道号,可输入多个群号
|
|
60
|
+
- 选项说明:`bili sub <uid>` 有四个选项:-l -d -m -a
|
|
56
61
|
- `-l` 为订阅UP主直播间,包括直播开播通知,定时推送直播内容,下播通知
|
|
57
62
|
- `-d` 为订阅UP主动态推送,目前实现推送的动态类型有:普通图文动态,转发动态,直播预约动态
|
|
63
|
+
- `-m` 为多平台动态推送,格式为:群号/频道号,群号/频道号,群号/频道号.平台名;群号/频道号,群号/频道号.平台号。如果群号/频道号为 `all` 代表推送该平台下的所有群聊或/频道。在群号/频道号后加 `@` 则代表这个群聊/频道需要@全体成员
|
|
64
|
+
- `-a` 为是否艾特全体成员,对 `-m` 参数不生效
|
|
65
|
+
|
|
66
|
+
例如:
|
|
67
|
+
`-m 3247293,324389,89874324.qq;EDBWIUBIU.qqguild;79324792,3247892.onebot` 代表推送QQ下3247293,324389,89874324这三个群聊,QQ频道下EDBWIUBIU这个频道,Onebot平台下79324792,3247892这两个群聊
|
|
68
|
+
`-m 3247293,324389@,89874324.qq` 代表推送QQ下3247293,324389,89874324这三个群聊,其中群聊324389需要艾特全体成员
|
|
69
|
+
所有分隔符均为英文符号
|
|
58
70
|
|
|
59
71
|
- 例如:
|
|
60
|
-
- `bili sub 1194210119 ` 订阅UID为1194210119的UP
|
|
72
|
+
- `bili sub 1194210119 ` 订阅UID为1194210119的UP主动态推送和直播间
|
|
61
73
|
- `bili sub 1194210119 -d` 订阅UID为1194210119的UP主动态推送
|
|
62
|
-
- `bili sub 1194210119 -
|
|
63
|
-
- `bili sub 1194210119
|
|
64
|
-
- `bili sub 1194210119
|
|
65
|
-
- Tips:
|
|
66
|
-
- 除非使用指令 `bili sub 1194210119 -ld` ,没有加选项或只加了一个选项的指令都会再次询问是否需要订阅另一项。例如:使用指令 `bili sub 1194210119 -d` 机器人会询问是否需要订阅直播间
|
|
67
|
-
- `[Q群号]` 这个可选参数仅支持Q群
|
|
74
|
+
- `bili sub 1194210119 -l` 订阅UID为1194210119的UP主直播间
|
|
75
|
+
- `bili sub 1194210119 -m 3247293,324389,89874324.qq;all.onebot;EHUIWDBUAWD.qqguild` 订阅UID为1194210119的UP主,向群号为3247293,324389,89874324的QQ群,所有onebot平台下的群聊,频道号为EHUIWDBUAWD的QQ频道平台进行推送
|
|
76
|
+
- `bili sub 1194210119 -a` 订阅UID为1194210119的UP主动态推送和直播间并艾特全体成员
|
|
68
77
|
|
|
69
78
|
取消订阅UP主:取消订阅不需要推送的UP主
|
|
70
79
|
|
|
@@ -178,7 +187,17 @@
|
|
|
178
187
|
- ver 1.3.7 新增设置项:插件重启后是否进行直播推送。优化直播人气显示
|
|
179
188
|
|
|
180
189
|
- ver 2.0.0-alpha.0 重构:对动态订阅进行了重构,优化了订阅流程
|
|
181
|
-
- ver 2.0.0-alpha.1
|
|
190
|
+
- ver 2.0.0-alpha.1 修复:无法成功取消订阅自己、用户没有直播间订阅直播出错。对直播订阅进行了限制,继承自以前的unlockSubLimits配置项。优化了一些配置项
|
|
191
|
+
- ver 2.0.0-alpha.2 新增:支持Discord平台。优化了下播通知
|
|
192
|
+
- ver 2.0.0-alpha.3 修复:订阅和取消订阅的bug,下播通知的bug
|
|
193
|
+
- ver 2.0.0-alpha.4 修复:初次订阅后不推送动态的bug 优化:下播不再发送链接
|
|
194
|
+
- ver 2.0.0-alpha.5 移除:选项pushUrl,选项platform 新增:选项customLive,主人账号中platform选项。支持多平台,且可同时推送不同平台,单个UP主只能推送一个平台
|
|
195
|
+
- ver 2.0.0-alpha.6 修复:直播推送发送失败的bug
|
|
196
|
+
- ver 2.0.0-alpha.7 重构:现已支持同一UP多平台推送
|
|
197
|
+
- ver 2.0.0-alpha.8 新增:重新订阅提示
|
|
198
|
+
- ver 2.0.0-alpha.9 修复:订阅反复提示未加入群组的bug,实际已加入
|
|
199
|
+
- ver 2.0.0-alpha.10 新增:可对每个群聊针对性设置是否艾特全体成员 优化:直播下播通知
|
|
200
|
+
- ver 2.0.0-alpha.11 回档:订阅时可直接接收群号/频道号 修复:直播过程推送消息不成功的bug
|
|
182
201
|
|
|
183
202
|
## 交流群
|
|
184
203
|
|