koishi-plugin-bilibili-notify 3.2.1-alpha.9 → 3.2.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/lib/biliAPI.d.ts +0 -1
- package/lib/biliAPI.js +0 -2
- package/lib/blive.d.ts +1 -1
- package/lib/blive.js +1 -3
- package/lib/comRegister.js +33 -4
- package/lib/font/HYZhengYuan-75W.ttf +0 -0
- package/lib/type/index.d.ts +19 -0
- package/package.json +27 -3
- package/readme.md +3 -0
package/lib/biliAPI.d.ts
CHANGED
package/lib/biliAPI.js
CHANGED
|
@@ -53,8 +53,6 @@ class BiliAPI extends koishi_1.Service {
|
|
|
53
53
|
static inject = ["database", "notifier"];
|
|
54
54
|
jar;
|
|
55
55
|
client;
|
|
56
|
-
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
57
|
-
cacheable;
|
|
58
56
|
apiConfig;
|
|
59
57
|
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
60
58
|
loginData;
|
package/lib/blive.d.ts
CHANGED
package/lib/blive.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const koishi_1 = require("koishi");
|
|
4
|
-
const blive_message_listener_1 = require("blive-message-listener");
|
|
4
|
+
const blive_message_listener_1 = require("@akokko/blive-message-listener");
|
|
5
5
|
class BLive extends koishi_1.Service {
|
|
6
6
|
// 必要服务
|
|
7
7
|
static inject = ["ba"];
|
|
@@ -32,8 +32,6 @@ class BLive extends koishi_1.Service {
|
|
|
32
32
|
uid: mySelfInfo.data.mid,
|
|
33
33
|
},
|
|
34
34
|
});
|
|
35
|
-
// logger
|
|
36
|
-
this.logger.info(`[${roomId}]开始监听直播间消息!`);
|
|
37
35
|
}
|
|
38
36
|
closeListener(roomId) {
|
|
39
37
|
// 判断直播间监听器是否关闭
|
package/lib/comRegister.js
CHANGED
|
@@ -997,6 +997,10 @@ class ComRegister {
|
|
|
997
997
|
let pushAtTimeTimer;
|
|
998
998
|
// 定义弹幕存放数组
|
|
999
999
|
const currentLiveDanmakuArr = [];
|
|
1000
|
+
// init flag
|
|
1001
|
+
let initFlag = false;
|
|
1002
|
+
// 连接中断flag
|
|
1003
|
+
let connFlag = false;
|
|
1000
1004
|
// 定义开播状态
|
|
1001
1005
|
let liveStatus = false;
|
|
1002
1006
|
// 定义channelIdArr总长度
|
|
@@ -1089,6 +1093,31 @@ class ComRegister {
|
|
|
1089
1093
|
};
|
|
1090
1094
|
// 构建消息处理函数
|
|
1091
1095
|
const handler = {
|
|
1096
|
+
onOpen: () => {
|
|
1097
|
+
if (!initFlag) {
|
|
1098
|
+
// init flag设置为true
|
|
1099
|
+
initFlag = true;
|
|
1100
|
+
// connFlag设置为false
|
|
1101
|
+
connFlag = false;
|
|
1102
|
+
// logger
|
|
1103
|
+
this.logger.info(`[${roomId}]直播间连接已建立!`);
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
onClose: async () => {
|
|
1107
|
+
if (!connFlag) {
|
|
1108
|
+
// 更直播状态
|
|
1109
|
+
liveStatus = false;
|
|
1110
|
+
// 关闭定时推送
|
|
1111
|
+
pushAtTimeTimer?.();
|
|
1112
|
+
// 停止服务
|
|
1113
|
+
this.ctx.bl.closeListener(roomId);
|
|
1114
|
+
// 更改connFlag
|
|
1115
|
+
connFlag = true;
|
|
1116
|
+
// 发送消息
|
|
1117
|
+
await this.sendPrivateMsg(`[${roomId}]直播间连接已中断!`);
|
|
1118
|
+
this.logger.error(`[${roomId}]直播间连接已中断!`);
|
|
1119
|
+
}
|
|
1120
|
+
},
|
|
1092
1121
|
onError: async () => {
|
|
1093
1122
|
// 更直播状态
|
|
1094
1123
|
liveStatus = false;
|
|
@@ -1545,17 +1574,17 @@ class ComRegister {
|
|
|
1545
1574
|
// 判断是否有数据
|
|
1546
1575
|
if (!this.loginDBData?.dynamic_group_id) {
|
|
1547
1576
|
// 没有数据,没有创建分组,尝试创建分组
|
|
1548
|
-
const createGroupData = await this.ctx.ba.createGroup("订阅");
|
|
1577
|
+
const createGroupData = (await this.ctx.ba.createGroup("订阅"));
|
|
1549
1578
|
// 如果分组已创建,则获取分组id
|
|
1550
1579
|
if (createGroupData.code === 22106) {
|
|
1551
1580
|
// 分组已存在,拿到之前的分组id
|
|
1552
|
-
const allGroupData = await this.ctx.ba.getAllGroup();
|
|
1581
|
+
const allGroupData = (await this.ctx.ba.getAllGroup());
|
|
1553
1582
|
// 遍历所有分组
|
|
1554
1583
|
for (const group of allGroupData.data) {
|
|
1555
1584
|
// 找到订阅分组
|
|
1556
1585
|
if (group.name === "订阅") {
|
|
1557
1586
|
// 拿到分组id
|
|
1558
|
-
this.loginDBData.dynamic_group_id = group.tagid;
|
|
1587
|
+
this.loginDBData.dynamic_group_id = group.tagid.toString();
|
|
1559
1588
|
// 保存到数据库
|
|
1560
1589
|
this.ctx.database.set("loginBili", 1, {
|
|
1561
1590
|
dynamic_group_id: this.loginDBData.dynamic_group_id,
|
|
@@ -1571,7 +1600,7 @@ class ComRegister {
|
|
|
1571
1600
|
}
|
|
1572
1601
|
// 创建成功,保存到数据库
|
|
1573
1602
|
this.ctx.database.set("loginBili", 1, {
|
|
1574
|
-
dynamic_group_id:
|
|
1603
|
+
dynamic_group_id: createGroupData.data.tagid.toString(),
|
|
1575
1604
|
});
|
|
1576
1605
|
// 创建成功
|
|
1577
1606
|
return { code: createGroupData.code, msg: createGroupData.message };
|
|
Binary file
|
package/lib/type/index.d.ts
CHANGED
|
@@ -241,3 +241,22 @@ export type Result = {
|
|
|
241
241
|
msg?: string;
|
|
242
242
|
data?: any;
|
|
243
243
|
};
|
|
244
|
+
export type CreateGroup = {
|
|
245
|
+
code: number;
|
|
246
|
+
message: string;
|
|
247
|
+
ttl: number;
|
|
248
|
+
data: {
|
|
249
|
+
tagid: number;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
export type GroupList = {
|
|
253
|
+
code: number;
|
|
254
|
+
message: string;
|
|
255
|
+
ttl: number;
|
|
256
|
+
data: Array<{
|
|
257
|
+
tagid: number;
|
|
258
|
+
name: string;
|
|
259
|
+
count: number;
|
|
260
|
+
tip: string;
|
|
261
|
+
}>;
|
|
262
|
+
};
|
package/package.json
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-bilibili-notify",
|
|
3
3
|
"description": "Koishi bilibili notify plugin",
|
|
4
|
-
"version": "3.2.1
|
|
4
|
+
"version": "3.2.1",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Akokko <admin@akokko.com>"
|
|
7
7
|
],
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"typings": "lib/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "yakumo build",
|
|
12
|
+
"clean": "yakumo clean",
|
|
13
|
+
"bump": "yakumo version",
|
|
14
|
+
"dep": "yakumo upgrade",
|
|
15
|
+
"pub": "yakumo publish"
|
|
16
|
+
},
|
|
10
17
|
"files": [
|
|
11
18
|
"lib",
|
|
12
19
|
"dist"
|
|
@@ -30,7 +37,6 @@
|
|
|
30
37
|
"@akokko/blive-message-listener": "^0.5.1",
|
|
31
38
|
"axios": "^1.7.9",
|
|
32
39
|
"axios-cookiejar-support": "^5.0.5",
|
|
33
|
-
"blive-message-listener": "^0.5.0",
|
|
34
40
|
"cron": "^4.3.0",
|
|
35
41
|
"jsdom": "^24.1.3",
|
|
36
42
|
"luxon": "^3.5.0",
|
|
@@ -40,12 +46,30 @@
|
|
|
40
46
|
},
|
|
41
47
|
"devDependencies": {
|
|
42
48
|
"@biomejs/biome": "1.9.4",
|
|
49
|
+
"@koishijs/cache": "^2.1.0",
|
|
50
|
+
"@koishijs/client": "^5.30.7",
|
|
51
|
+
"@koishijs/plugin-help": "^2.4.5",
|
|
52
|
+
"@koishijs/plugin-hmr": "^1.2.9",
|
|
53
|
+
"@koishijs/plugin-notifier": "^1.2.1",
|
|
54
|
+
"@koishijs/scripts": "^4.6.1",
|
|
43
55
|
"@types/luxon": "^3.4.2",
|
|
44
56
|
"@types/md5": "^2.3.5",
|
|
45
57
|
"@types/qrcode": "^1.5.5",
|
|
46
58
|
"@types/tough-cookie": "^4.0.5",
|
|
59
|
+
"esbuild": "^0.25.5",
|
|
60
|
+
"esbuild-register": "^3.6.0",
|
|
47
61
|
"globals": "^15.14.0",
|
|
48
|
-
"koishi
|
|
62
|
+
"koishi": "^4.18.8",
|
|
63
|
+
"koishi-plugin-puppeteer": "^3.9.0",
|
|
64
|
+
"tsx": "^4.19.4",
|
|
65
|
+
"typescript": "^5.8.3",
|
|
66
|
+
"yakumo": "^1.0.0",
|
|
67
|
+
"yakumo-esbuild": "^1.0.0",
|
|
68
|
+
"yakumo-tsc": "^1.0.0",
|
|
69
|
+
"yml-register": "^1.2.5"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">= 18.0.0"
|
|
49
73
|
},
|
|
50
74
|
"koishi": {
|
|
51
75
|
"service": {
|
package/readme.md
CHANGED
|
@@ -263,6 +263,9 @@ uid为必填参数,为要推送的UP主的UID,index为可选参数,为要
|
|
|
263
263
|
- ver 3.2.1-alpha.4 优化:直播监听初始化没有提示;
|
|
264
264
|
- ver 3.2.1-alpha.4 - ver 3.2.1-alpha.8 `deprecate`
|
|
265
265
|
- ver 3.2.1-alpha.9 修复:`bugs`
|
|
266
|
+
- ver 3.2.1-alpha.10 修复:临时切换依赖 `blive-message-listener` 为 `@akokko/blive-message-listener` 以解决直播检测模式 `WS` 掉线问题、第一次使用插件报错 `TypeError: Cannot set properties of undefined (setting 'dynamic_group_id')`;
|
|
267
|
+
- ver 3.2.1-alpha.11 WARNING:测试版本;
|
|
268
|
+
- ver 3.2.1 优化:移除不必要成员变量、创建自动上传npm `github actions`,添加相关开发依赖;
|
|
266
269
|
|
|
267
270
|
## 交流群
|
|
268
271
|
|