koishi-plugin-bilibili-notify 2.0.0-alpha.20 → 2.0.0-alpha.21
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 +15 -0
- package/lib/blive.d.ts +1 -1
- package/lib/blive.js +38 -8
- package/lib/comRegister.js +1 -1
- package/lib/generateImg.js +1 -1
- package/lib/index.js +4 -0
- package/package.json +2 -1
- package/readme.md +1 -0
package/lib/biliAPI.d.ts
CHANGED
package/lib/biliAPI.js
CHANGED
|
@@ -375,6 +375,21 @@ class BiliAPI extends koishi_1.Service {
|
|
|
375
375
|
const cookies = JSON.stringify(this.jar.serializeSync().cookies);
|
|
376
376
|
return cookies;
|
|
377
377
|
}
|
|
378
|
+
async getCookiesForHeader() {
|
|
379
|
+
try {
|
|
380
|
+
// 获取cookies对象
|
|
381
|
+
const cookies = this.jar.serializeSync().cookies;
|
|
382
|
+
// 将每个 cookie 对象转换为 "key=value" 形式,并用 "; " 连接起来
|
|
383
|
+
const cookieHeader = cookies
|
|
384
|
+
.map(cookie => `${cookie.key}=${cookie.value}`)
|
|
385
|
+
.join('; ');
|
|
386
|
+
return cookieHeader;
|
|
387
|
+
}
|
|
388
|
+
catch (e) {
|
|
389
|
+
console.error("无效的 JSON 格式:", e);
|
|
390
|
+
return "";
|
|
391
|
+
}
|
|
392
|
+
}
|
|
378
393
|
getLoginInfoIsLoaded() {
|
|
379
394
|
return this.loginInfoIsLoaded;
|
|
380
395
|
}
|
package/lib/blive.d.ts
CHANGED
package/lib/blive.js
CHANGED
|
@@ -1,21 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const blive_message_listener_1 = require("blive-message-listener");
|
|
3
4
|
class BLive {
|
|
4
|
-
//
|
|
5
|
-
static inject = [''];
|
|
5
|
+
// 必要服务
|
|
6
|
+
static inject = ['ba'];
|
|
6
7
|
// 定义类属性
|
|
7
8
|
ctx;
|
|
8
9
|
logger;
|
|
9
|
-
// 构造函数
|
|
10
10
|
constructor(ctx) {
|
|
11
|
-
// 将
|
|
11
|
+
// 将ctx赋值给类属性
|
|
12
12
|
this.ctx = ctx;
|
|
13
|
-
//
|
|
13
|
+
// 创建logger
|
|
14
14
|
this.logger = ctx.logger('bl');
|
|
15
|
+
// TEST
|
|
16
|
+
ctx.setTimeout(() => {
|
|
17
|
+
this.startLiveRoomListener(732);
|
|
18
|
+
}, 1000);
|
|
15
19
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
async startLiveRoomListener(roomId) {
|
|
21
|
+
// 获取cookieStr
|
|
22
|
+
const cookiesStr = await this.ctx.ba.getCookiesForHeader();
|
|
23
|
+
// 构建消息处理函数
|
|
24
|
+
const handler = {
|
|
25
|
+
onOpen: () => {
|
|
26
|
+
this.logger.info('服务器连接成功');
|
|
27
|
+
},
|
|
28
|
+
onClose: () => {
|
|
29
|
+
this.logger.info('服务器连接已断开');
|
|
30
|
+
},
|
|
31
|
+
onIncomeDanmu: (msg) => {
|
|
32
|
+
console.log(msg.id, msg.body);
|
|
33
|
+
},
|
|
34
|
+
onIncomeSuperChat: (msg) => {
|
|
35
|
+
console.log(msg.id, msg.body);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
// 获取自身信息
|
|
39
|
+
const mySelfInfo = await this.ctx.ba.getMyselfInfo();
|
|
40
|
+
// 创建实例
|
|
41
|
+
(0, blive_message_listener_1.startListen)(roomId, handler, {
|
|
42
|
+
ws: {
|
|
43
|
+
headers: {
|
|
44
|
+
Cookie: cookiesStr
|
|
45
|
+
},
|
|
46
|
+
uid: mySelfInfo.data.mid
|
|
47
|
+
}
|
|
48
|
+
});
|
|
19
49
|
}
|
|
20
50
|
}
|
|
21
51
|
exports.default = BLive;
|
package/lib/comRegister.js
CHANGED
|
@@ -677,7 +677,7 @@ class ComRegister {
|
|
|
677
677
|
for (const channel of sendArr) {
|
|
678
678
|
// 判断是否需要推送直播消息
|
|
679
679
|
if (channel.live) {
|
|
680
|
-
await this.sendMsgFunc(bot, channel.channelId, (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [content, channel.atAll ? (0, jsx_runtime_1.jsx)("at", { type: "all" }) :
|
|
680
|
+
await this.sendMsgFunc(bot, channel.channelId, (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [content, channel.atAll ? (0, jsx_runtime_1.jsx)("at", { type: "all" }) : ''] }));
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
683
|
}
|
package/lib/generateImg.js
CHANGED
|
@@ -176,7 +176,7 @@ class GenerateImg extends koishi_1.Service {
|
|
|
176
176
|
</div>
|
|
177
177
|
${this.giConfig.hideDesc ? '' : `<p class="card-text">${data.description ? data.description : '这个主播很懒,什么都简介都没写'}</p>`}
|
|
178
178
|
<p class="card-link">
|
|
179
|
-
${liveStatus !== 3 ? `<span>人气:${data.online > 10000 ? `${(data.online / 10000).toFixed(1)}万` : data.online}</span>` :
|
|
179
|
+
${liveStatus !== 3 ? `<span>人气:${data.online > 10000 ? `${(data.online / 10000).toFixed(1)}万` : data.online}</span>` : ''}
|
|
180
180
|
<span>分区名称:${data.area_name}</span>
|
|
181
181
|
</p>
|
|
182
182
|
<p class="card-link">
|
package/lib/index.js
CHANGED
|
@@ -47,6 +47,7 @@ const Database = __importStar(require("./database"));
|
|
|
47
47
|
// import Service
|
|
48
48
|
const generateImg_1 = __importDefault(require("./generateImg"));
|
|
49
49
|
const biliAPI_1 = __importDefault(require("./biliAPI"));
|
|
50
|
+
const blive_1 = __importDefault(require("./blive"));
|
|
50
51
|
exports.inject = ['puppeteer', 'database', 'notifier'];
|
|
51
52
|
exports.name = 'bilibili-notify';
|
|
52
53
|
let globalConfig;
|
|
@@ -322,10 +323,13 @@ class ServerManager extends koishi_1.Service {
|
|
|
322
323
|
filter: globalConfig.filter,
|
|
323
324
|
dynamicDebugMode: globalConfig.dynamicDebugMode
|
|
324
325
|
});
|
|
326
|
+
// BL = BLive
|
|
327
|
+
const bl = this.ctx.plugin(blive_1.default, {});
|
|
325
328
|
// 添加服务
|
|
326
329
|
this.servers.push(ba);
|
|
327
330
|
this.servers.push(gi);
|
|
328
331
|
this.servers.push(cr);
|
|
332
|
+
this.servers.push(bl);
|
|
329
333
|
}
|
|
330
334
|
catch (e) {
|
|
331
335
|
this.logger.error('插件注册失败', e);
|
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.21",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Akokko <admin@akokko.com>"
|
|
7
7
|
],
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"axios": "^1.7.9",
|
|
31
31
|
"axios-cookiejar-support": "^5.0.5",
|
|
32
|
+
"blive-message-listener": "^0.5.0",
|
|
32
33
|
"jsdom": "^24.1.3",
|
|
33
34
|
"luxon": "^3.5.0",
|
|
34
35
|
"md5": "^2.3.0",
|
package/readme.md
CHANGED
|
@@ -207,6 +207,7 @@
|
|
|
207
207
|
- ver 2.0.0-alpha.18 修复:手动订阅无法推送直播通知;自定义直播中通知语不会发送
|
|
208
208
|
- ver 2.0.0-alpha.19 修复:开播通知后带false;下播通知卡片人气位置显示false
|
|
209
209
|
- ver 2.0.0-alpha.20 修复:直播推送失败 `Error with request send_group_msg`
|
|
210
|
+
- ver 2.0.0-alpha.21 修复:在某些场景下仍会出现 `2.0.0-alpha.19` 和 `2.0.0-alpha.20` 版本已修复的问题
|
|
210
211
|
|
|
211
212
|
## 交流群
|
|
212
213
|
|