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 CHANGED
@@ -11,7 +11,6 @@ declare class BiliAPI extends Service {
11
11
  static inject: string[];
12
12
  jar: CookieJar;
13
13
  client: AxiosInstance;
14
- cacheable: any;
15
14
  apiConfig: BiliAPI.Config;
16
15
  loginData: any;
17
16
  loginNotifier: Notifier;
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
@@ -1,5 +1,5 @@
1
1
  import { type Awaitable, type Context, Service } from "koishi";
2
- import { type MsgHandler } from "blive-message-listener";
2
+ import { type MsgHandler } from "@akokko/blive-message-listener";
3
3
  declare module "koishi" {
4
4
  interface Context {
5
5
  bl: BLive;
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
  // 判断直播间监听器是否关闭
@@ -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: this.loginDBData.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
@@ -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-alpha.9",
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-plugin-puppeteer": "^3.9.0"
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