koishi-plugin-bilibili-notify 2.0.0-alpha.1 → 2.0.0-alpha.2
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/{readme.md → README.md} +1 -0
- package/lib/comRegister.js +5 -18
- package/lib/generateImg.js +7 -8
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -2
- package/package.json +1 -2
package/{readme.md → README.md}
RENAMED
package/lib/comRegister.js
CHANGED
|
@@ -10,12 +10,12 @@ const jsx_runtime_1 = require("@satorijs/element/jsx-runtime");
|
|
|
10
10
|
const koishi_1 = require("koishi");
|
|
11
11
|
// 导入qrcode
|
|
12
12
|
const qrcode_1 = __importDefault(require("qrcode"));
|
|
13
|
-
const jimp_1 = require("jimp");
|
|
14
13
|
var LiveType;
|
|
15
14
|
(function (LiveType) {
|
|
16
15
|
LiveType[LiveType["NotLiveBroadcast"] = 0] = "NotLiveBroadcast";
|
|
17
16
|
LiveType[LiveType["StartBroadcasting"] = 1] = "StartBroadcasting";
|
|
18
17
|
LiveType[LiveType["LiveBroadcast"] = 2] = "LiveBroadcast";
|
|
18
|
+
LiveType[LiveType["StopBroadcast"] = 3] = "StopBroadcast";
|
|
19
19
|
})(LiveType || (LiveType = {}));
|
|
20
20
|
class ComRegister {
|
|
21
21
|
static inject = ['ba', 'gi', 'database', 'sm'];
|
|
@@ -283,7 +283,8 @@ class ComRegister {
|
|
|
283
283
|
case 'satori':
|
|
284
284
|
case 'chronocat':
|
|
285
285
|
case 'qq':
|
|
286
|
-
case 'qqguild':
|
|
286
|
+
case 'qqguild':
|
|
287
|
+
case 'discord': break;
|
|
287
288
|
default: return '暂不支持该平台';
|
|
288
289
|
}
|
|
289
290
|
// 检查是否登录
|
|
@@ -1217,22 +1218,8 @@ class ComRegister {
|
|
|
1217
1218
|
const liveEndMsg = this.config.customLiveEnd
|
|
1218
1219
|
.replace('-name', username)
|
|
1219
1220
|
.replace('-time', await ctx.gi.getTimeDifference(liveTime));
|
|
1220
|
-
//
|
|
1221
|
-
|
|
1222
|
-
// Jimp无法处理Webp格式,直接跳过
|
|
1223
|
-
try {
|
|
1224
|
-
resizedImage = await jimp_1.Jimp.read(userface).then(async (image) => {
|
|
1225
|
-
return await image.resize({ w: 100, h: 100 }).getBuffer(jimp_1.JimpMime.png);
|
|
1226
|
-
});
|
|
1227
|
-
}
|
|
1228
|
-
catch (e) {
|
|
1229
|
-
if (e.message === 'Unsupported MIME type: image/webp')
|
|
1230
|
-
console.log('主播使用的是webp格式头像,无法进行渲染');
|
|
1231
|
-
else
|
|
1232
|
-
console.log(e);
|
|
1233
|
-
}
|
|
1234
|
-
// 发送下播通知
|
|
1235
|
-
await this.sendMsg(guildId, (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [resizedImage && koishi_1.h.image(resizedImage, 'image/png'), " ", liveEndMsg] }));
|
|
1221
|
+
// 发送@全体成员通知
|
|
1222
|
+
await sendLiveNotifyCard(data, LiveType.StartBroadcasting, liveEndMsg);
|
|
1236
1223
|
}
|
|
1237
1224
|
// 未进循环,还未开播,继续循环
|
|
1238
1225
|
break;
|
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'));
|
|
@@ -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,7 @@ 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';
|
|
12
|
+
platform: 'qq' | 'qqguild' | 'onebot' | 'discord' | 'red' | 'telegram' | 'satori' | 'chronocat' | 'lark';
|
|
13
13
|
master: {};
|
|
14
14
|
basicSettings: {};
|
|
15
15
|
unlockSubLimits: boolean;
|
package/lib/index.js
CHANGED
|
@@ -57,10 +57,10 @@ 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'])
|
|
60
|
+
platform: koishi_1.Schema.union(['qq', 'qqguild', 'onebot', 'discord', 'red', 'telegram', 'satori', 'chronocat', 'lark'])
|
|
61
61
|
.role('')
|
|
62
62
|
.required()
|
|
63
|
-
.description('请选择你的机器人平台,目前支持QQ、QQ群、OneBot、RedBot、Telegram、Satori、ChronoCat、Lark。从2.0版本开始,只能在一个平台下使用本插件'),
|
|
63
|
+
.description('请选择你的机器人平台,目前支持QQ、QQ群、OneBot、Discord、RedBot、Telegram、Satori、ChronoCat、Lark。从2.0版本开始,只能在一个平台下使用本插件'),
|
|
64
64
|
master: koishi_1.Schema.intersect([
|
|
65
65
|
koishi_1.Schema.object({
|
|
66
66
|
enable: koishi_1.Schema.boolean()
|
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.2",
|
|
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",
|