koishi-plugin-bilibili-notify 2.0.0-alpha.1 → 2.0.0-alpha.3
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 +7 -1
- package/lib/comRegister.js +122 -71
- 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 +3 -1
package/lib/biliAPI.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ declare class BiliAPI extends Service {
|
|
|
36
36
|
getAllDynamic(updateBaseline?: string): Promise<any>;
|
|
37
37
|
hasNewDynamic(updateBaseline: string): Promise<any>;
|
|
38
38
|
follow(fid: string): Promise<any>;
|
|
39
|
+
getRelationGroupDetail(tagid: string): Promise<any>;
|
|
39
40
|
getCookieInfo(refreshToken: string): Promise<any>;
|
|
40
41
|
getUserInfo(mid: string): Promise<any>;
|
|
41
42
|
getWbiKeys(): Promise<{
|
package/lib/biliAPI.js
CHANGED
|
@@ -40,6 +40,7 @@ const CREATE_GROUP = 'https://api.bilibili.com/x/relation/tag/create';
|
|
|
40
40
|
const MODIFY_GROUP_MEMBER = 'https://api.bilibili.com/x/relation/tags/addUsers';
|
|
41
41
|
const GET_ALL_GROUP = 'https://api.bilibili.com/x/relation/tags';
|
|
42
42
|
const COPY_USER_TO_GROUP = 'https://api.bilibili.com/x/relation/tags/copyUsers';
|
|
43
|
+
const GET_RELATION_GROUP_DETAIL = 'https://api.bilibili.com/x/relation/tag';
|
|
43
44
|
class BiliAPI extends koishi_1.Service {
|
|
44
45
|
static inject = ['database', 'notifier'];
|
|
45
46
|
jar;
|
|
@@ -240,6 +241,15 @@ class BiliAPI extends koishi_1.Service {
|
|
|
240
241
|
throw new Error('网络异常,本次请求失败!');
|
|
241
242
|
}
|
|
242
243
|
}
|
|
244
|
+
async getRelationGroupDetail(tagid) {
|
|
245
|
+
try {
|
|
246
|
+
const { data } = await this.client.get(`${GET_RELATION_GROUP_DETAIL}?tagid=${tagid}`);
|
|
247
|
+
return data;
|
|
248
|
+
}
|
|
249
|
+
catch (e) {
|
|
250
|
+
throw new Error('网络异常,本次请求失败!');
|
|
251
|
+
}
|
|
252
|
+
}
|
|
243
253
|
// Check if Token need refresh
|
|
244
254
|
async getCookieInfo(refreshToken) {
|
|
245
255
|
try {
|
package/lib/comRegister.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Bot, Context, Logger, Schema, Session } from "koishi";
|
|
1
|
+
import { Bot, Context, FlatPick, Logger, Schema, Session } from "koishi";
|
|
2
2
|
import { Notifier } from "@koishijs/plugin-notifier";
|
|
3
|
+
import { LoginBili } from "./database";
|
|
3
4
|
type SubItem = {
|
|
4
5
|
id: number;
|
|
5
6
|
uid: string;
|
|
@@ -20,6 +21,7 @@ declare class ComRegister {
|
|
|
20
21
|
rebootCount: number;
|
|
21
22
|
subNotifier: Notifier;
|
|
22
23
|
subManager: SubManager;
|
|
24
|
+
loginDBData: FlatPick<LoginBili, "dynamic_group_id">;
|
|
23
25
|
bot: Bot<Context>;
|
|
24
26
|
dynamicDispose: Function;
|
|
25
27
|
sendMsgFunc: (guild: string, content: any) => Promise<void>;
|
|
@@ -35,6 +37,10 @@ declare class ComRegister {
|
|
|
35
37
|
checkIfNeedSub(liveSub: boolean, dynamicSub: boolean, session: Session, data?: any): Promise<Array<boolean>>;
|
|
36
38
|
updateSubNotifier(ctx: Context): void;
|
|
37
39
|
checkIfLoginInfoIsLoaded(ctx: Context): Promise<unknown>;
|
|
40
|
+
subUserInBili(ctx: Context, mid: string): Promise<{
|
|
41
|
+
flag: boolean;
|
|
42
|
+
msg: string;
|
|
43
|
+
}>;
|
|
38
44
|
getSubFromDatabase(ctx: Context): Promise<void>;
|
|
39
45
|
unsubSingle(ctx: Context, id: string, type: number): string;
|
|
40
46
|
checkIfUserThatIsSubDynAndUnsub(): void;
|
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'];
|
|
@@ -26,6 +26,8 @@ class ComRegister {
|
|
|
26
26
|
rebootCount = 0;
|
|
27
27
|
subNotifier;
|
|
28
28
|
subManager = [];
|
|
29
|
+
// 检查登录数据库是否有数据
|
|
30
|
+
loginDBData;
|
|
29
31
|
// 机器人实例
|
|
30
32
|
bot;
|
|
31
33
|
// 动态销毁函数
|
|
@@ -45,6 +47,8 @@ class ComRegister {
|
|
|
45
47
|
});
|
|
46
48
|
this.logger.error('未找到对应机器人实例,请检查配置是否正确或重新配置适配器!');
|
|
47
49
|
}
|
|
50
|
+
// 检查登录数据库是否有数据
|
|
51
|
+
ctx.database.get('loginBili', 1, ['dynamic_group_id']).then(data => this.loginDBData = data[0]);
|
|
48
52
|
// 从数据库获取订阅
|
|
49
53
|
this.getSubFromDatabase(ctx);
|
|
50
54
|
// 判断消息发送方式
|
|
@@ -216,6 +220,7 @@ class ComRegister {
|
|
|
216
220
|
await session.send(this.unsubSingle(ctx, sub.uid, 1)); /* 1为取消订阅Dynamic */
|
|
217
221
|
// 将存在flag设置为true
|
|
218
222
|
exist = true;
|
|
223
|
+
// 结束循环
|
|
219
224
|
return;
|
|
220
225
|
}
|
|
221
226
|
// 取消全部订阅 执行dispose方法,销毁定时器
|
|
@@ -228,9 +233,12 @@ class ComRegister {
|
|
|
228
233
|
// 将订阅对象移出订阅关注组
|
|
229
234
|
const removeUserFromGroupData = await ctx.ba.removeUserFromGroup(sub.uid);
|
|
230
235
|
// 判断是否移出成功 22105关注对象为自己
|
|
231
|
-
if (removeUserFromGroupData.code !== 0
|
|
236
|
+
if (removeUserFromGroupData.code !== 0 && removeUserFromGroupData.code !== 22105) {
|
|
232
237
|
// 移出失败
|
|
233
238
|
await session.send('取消订阅对象失败,请稍后重试');
|
|
239
|
+
// 将存在flag设置为true
|
|
240
|
+
exist = true;
|
|
241
|
+
// 结束循环
|
|
234
242
|
return;
|
|
235
243
|
}
|
|
236
244
|
// id--
|
|
@@ -283,7 +291,8 @@ class ComRegister {
|
|
|
283
291
|
case 'satori':
|
|
284
292
|
case 'chronocat':
|
|
285
293
|
case 'qq':
|
|
286
|
-
case 'qqguild':
|
|
294
|
+
case 'qqguild':
|
|
295
|
+
case 'discord': break;
|
|
287
296
|
default: return '暂不支持该平台';
|
|
288
297
|
}
|
|
289
298
|
// 检查是否登录
|
|
@@ -294,56 +303,7 @@ class ComRegister {
|
|
|
294
303
|
// 检查必选参数是否已填
|
|
295
304
|
if (!mid)
|
|
296
305
|
return '请输入用户uid';
|
|
297
|
-
//
|
|
298
|
-
const loginDBData = (await ctx.database.get('loginBili', 1, ['dynamic_group_id']))[0];
|
|
299
|
-
// 判断是否有数据
|
|
300
|
-
if (loginDBData.dynamic_group_id === '' || loginDBData.dynamic_group_id === null) {
|
|
301
|
-
// 没有数据,没有创建分组,尝试创建分组
|
|
302
|
-
const createGroupData = await ctx.ba.createGroup("订阅");
|
|
303
|
-
// 如果分组已创建,则获取分组id
|
|
304
|
-
if (createGroupData.code === 22106) {
|
|
305
|
-
// 分组已存在,拿到之前的分组id
|
|
306
|
-
const allGroupData = await ctx.ba.getAllGroup();
|
|
307
|
-
// 遍历所有分组
|
|
308
|
-
for (const group of allGroupData.data) {
|
|
309
|
-
// 找到订阅分组
|
|
310
|
-
if (group.name === '订阅') {
|
|
311
|
-
// 拿到分组id
|
|
312
|
-
loginDBData.dynamic_group_id = group.tagid;
|
|
313
|
-
// 结束循环
|
|
314
|
-
break;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
else if (createGroupData.code !== 0) {
|
|
319
|
-
// 创建分组失败
|
|
320
|
-
return '创建关注分组出错';
|
|
321
|
-
}
|
|
322
|
-
// 创建成功,保存到数据库
|
|
323
|
-
ctx.database.set('loginBili', 1, { dynamic_group_id: loginDBData.dynamic_group_id });
|
|
324
|
-
}
|
|
325
|
-
// 订阅对象
|
|
326
|
-
const subUserData = await ctx.ba.follow(mid);
|
|
327
|
-
// 判断是否订阅成功
|
|
328
|
-
switch (subUserData.code) {
|
|
329
|
-
case -101: return '账号未登录,请使用指令bili login登录后再进行订阅操作';
|
|
330
|
-
case -102: return '账号被封停,无法进行订阅操作';
|
|
331
|
-
case 22002: return '因对方隐私设置,无法进行订阅操作';
|
|
332
|
-
case 22003: return '你已将对方拉黑,无法进行订阅操作';
|
|
333
|
-
case 22013: return '账号已注销,无法进行订阅操作';
|
|
334
|
-
case 40061: return '账号不存在,请检查uid输入是否正确或用户是否存在';
|
|
335
|
-
case 22001: break; // 订阅对象为自己 无需添加到分组
|
|
336
|
-
case 22014: // 已关注订阅对象 无需再次关注
|
|
337
|
-
case 0: { // 执行订阅成功
|
|
338
|
-
// 把订阅对象添加到分组中
|
|
339
|
-
const copyUserToGroupData = await ctx.ba.copyUserToGroup(mid, loginDBData.dynamic_group_id);
|
|
340
|
-
// 判断是否添加成功
|
|
341
|
-
if (copyUserToGroupData.code !== 0) {
|
|
342
|
-
// 添加失败
|
|
343
|
-
return '添加订阅对象到分组失败,请稍后重试';
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
306
|
+
// 订阅对象 TODO
|
|
347
307
|
// 定义外围变量
|
|
348
308
|
let content;
|
|
349
309
|
try {
|
|
@@ -509,7 +469,6 @@ class ComRegister {
|
|
|
509
469
|
this.logger.error('bili sub指令 getMasterInfo() 发生了错误,错误为:' + e.message);
|
|
510
470
|
return '订阅出错啦,请重试';
|
|
511
471
|
}
|
|
512
|
-
console.log(liveMsg, dynamicMsg);
|
|
513
472
|
// 订阅直播
|
|
514
473
|
if (liveMsg) {
|
|
515
474
|
await session.execute(`bili live ${roomId} ${targetId.split(',').join(' ')}`);
|
|
@@ -1217,22 +1176,10 @@ class ComRegister {
|
|
|
1217
1176
|
const liveEndMsg = this.config.customLiveEnd
|
|
1218
1177
|
.replace('-name', username)
|
|
1219
1178
|
.replace('-time', await ctx.gi.getTimeDifference(liveTime));
|
|
1220
|
-
//
|
|
1221
|
-
|
|
1222
|
-
//
|
|
1223
|
-
|
|
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] }));
|
|
1179
|
+
// 更改直播时长
|
|
1180
|
+
data.live_time = liveTime;
|
|
1181
|
+
// 发送@全体成员通知
|
|
1182
|
+
await sendLiveNotifyCard(data, LiveType.StopBroadcast, liveEndMsg);
|
|
1236
1183
|
}
|
|
1237
1184
|
// 未进循环,还未开播,继续循环
|
|
1238
1185
|
break;
|
|
@@ -1370,6 +1317,97 @@ class ComRegister {
|
|
|
1370
1317
|
check();
|
|
1371
1318
|
});
|
|
1372
1319
|
}
|
|
1320
|
+
async subUserInBili(ctx, mid) {
|
|
1321
|
+
// 获取关注分组信息
|
|
1322
|
+
const checkGroupIsReady = async () => {
|
|
1323
|
+
// 判断是否有数据
|
|
1324
|
+
if (this.loginDBData.dynamic_group_id === '' || this.loginDBData.dynamic_group_id === null) {
|
|
1325
|
+
// 没有数据,没有创建分组,尝试创建分组
|
|
1326
|
+
const createGroupData = await ctx.ba.createGroup("订阅");
|
|
1327
|
+
// 如果分组已创建,则获取分组id
|
|
1328
|
+
if (createGroupData.code === 22106) {
|
|
1329
|
+
// 分组已存在,拿到之前的分组id
|
|
1330
|
+
const allGroupData = await ctx.ba.getAllGroup();
|
|
1331
|
+
// 遍历所有分组
|
|
1332
|
+
for (const group of allGroupData.data) {
|
|
1333
|
+
// 找到订阅分组
|
|
1334
|
+
if (group.name === '订阅') {
|
|
1335
|
+
// 拿到分组id
|
|
1336
|
+
this.loginDBData.dynamic_group_id = group.tagid;
|
|
1337
|
+
// 结束循环
|
|
1338
|
+
break;
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
else if (createGroupData.code !== 0) {
|
|
1343
|
+
console.log(createGroupData);
|
|
1344
|
+
// 创建分组失败
|
|
1345
|
+
return false;
|
|
1346
|
+
}
|
|
1347
|
+
// 创建成功,保存到数据库
|
|
1348
|
+
ctx.database.set('loginBili', 1, { dynamic_group_id: this.loginDBData.dynamic_group_id });
|
|
1349
|
+
// 创建成功
|
|
1350
|
+
return true;
|
|
1351
|
+
}
|
|
1352
|
+
return true;
|
|
1353
|
+
};
|
|
1354
|
+
// 判断分组是否准备好
|
|
1355
|
+
const flag = await checkGroupIsReady();
|
|
1356
|
+
// 判断是否创建成功
|
|
1357
|
+
if (!flag) {
|
|
1358
|
+
// 创建分组失败
|
|
1359
|
+
return { flag: false, msg: '创建分组失败,请尝试重启插件' };
|
|
1360
|
+
}
|
|
1361
|
+
// 获取分组明细
|
|
1362
|
+
const relationGroupDetailData = await ctx.ba.getRelationGroupDetail(this.loginDBData.dynamic_group_id);
|
|
1363
|
+
// 判断分组信息是否获取成功
|
|
1364
|
+
if (relationGroupDetailData.code !== 0) {
|
|
1365
|
+
if (relationGroupDetailData.code === 22104) {
|
|
1366
|
+
// 将原先的分组id置空
|
|
1367
|
+
this.loginDBData.dynamic_group_id = null;
|
|
1368
|
+
// 分组不存在
|
|
1369
|
+
const flag = await checkGroupIsReady();
|
|
1370
|
+
// 判断是否创建成功
|
|
1371
|
+
if (!flag) {
|
|
1372
|
+
// 创建分组失败
|
|
1373
|
+
return { flag: false, msg: '创建分组失败,请尝试重启插件' };
|
|
1374
|
+
}
|
|
1375
|
+
return { flag: true, msg: '分组不存在,已重新创建分组' };
|
|
1376
|
+
}
|
|
1377
|
+
// 获取分组明细失败
|
|
1378
|
+
return { flag: false, msg: '获取分组明细失败' };
|
|
1379
|
+
}
|
|
1380
|
+
relationGroupDetailData.data.forEach(user => {
|
|
1381
|
+
if (user.mid === mid) {
|
|
1382
|
+
// 已关注订阅对象
|
|
1383
|
+
return { flag: true, msg: '订阅对象已存在于分组中' };
|
|
1384
|
+
}
|
|
1385
|
+
});
|
|
1386
|
+
// 订阅对象
|
|
1387
|
+
const subUserData = await ctx.ba.follow(mid);
|
|
1388
|
+
// 判断是否订阅成功
|
|
1389
|
+
switch (subUserData.code) {
|
|
1390
|
+
case -101: return { flag: false, msg: '账号未登录,请使用指令bili login登录后再进行订阅操作' };
|
|
1391
|
+
case -102: return { flag: false, msg: '账号被封停,无法进行订阅操作' };
|
|
1392
|
+
case 22002: return { flag: false, msg: '因对方隐私设置,无法进行订阅操作' };
|
|
1393
|
+
case 22003: return { flag: false, msg: '你已将对方拉黑,无法进行订阅操作' };
|
|
1394
|
+
case 22013: return { flag: false, msg: '账号已注销,无法进行订阅操作' };
|
|
1395
|
+
case 40061: return { flag: false, msg: '账号不存在,请检查uid输入是否正确或用户是否存在' };
|
|
1396
|
+
case 22001: break; // 订阅对象为自己 无需添加到分组
|
|
1397
|
+
case 22014: // 已关注订阅对象 无需再次关注
|
|
1398
|
+
case 0: { // 执行订阅成功
|
|
1399
|
+
// 把订阅对象添加到分组中
|
|
1400
|
+
const copyUserToGroupData = await ctx.ba.copyUserToGroup(mid, this.loginDBData.dynamic_group_id);
|
|
1401
|
+
// 判断是否添加成功
|
|
1402
|
+
if (copyUserToGroupData.code !== 0) {
|
|
1403
|
+
// 添加失败
|
|
1404
|
+
return { flag: false, msg: '添加订阅对象到分组失败,请稍后重试' };
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
// 订阅成功
|
|
1409
|
+
return { flag: true, msg: '用户订阅成功' };
|
|
1410
|
+
}
|
|
1373
1411
|
async getSubFromDatabase(ctx) {
|
|
1374
1412
|
// 判断登录信息是否已加载完毕
|
|
1375
1413
|
await this.checkIfLoginInfoIsLoaded(ctx);
|
|
@@ -1397,6 +1435,19 @@ class ComRegister {
|
|
|
1397
1435
|
// 跳过下面的步骤
|
|
1398
1436
|
continue;
|
|
1399
1437
|
}
|
|
1438
|
+
// 判断用户是否在B站中订阅了
|
|
1439
|
+
const subUserData = await this.subUserInBili(ctx, sub.uid);
|
|
1440
|
+
// 判断是否订阅
|
|
1441
|
+
if (!subUserData.flag) {
|
|
1442
|
+
// log
|
|
1443
|
+
this.logger.warn(`UID:${sub.uid} ${subUserData.msg},自动取消订阅`);
|
|
1444
|
+
// 发送私聊消息
|
|
1445
|
+
await this.sendPrivateMsg(`UID:${sub.uid} ${subUserData.msg},自动取消订阅`);
|
|
1446
|
+
// 删除该条数据
|
|
1447
|
+
await ctx.database.remove('bilibili', { id: sub.id });
|
|
1448
|
+
// 跳过下面的步骤
|
|
1449
|
+
continue;
|
|
1450
|
+
}
|
|
1400
1451
|
// 获取推送目标数组
|
|
1401
1452
|
const targetIdArr = sub.targetId.split(' ');
|
|
1402
1453
|
/* 判断数据库是否被篡改 */
|
|
@@ -1448,7 +1499,7 @@ class ComRegister {
|
|
|
1448
1499
|
}
|
|
1449
1500
|
}
|
|
1450
1501
|
// 检测房间号是否被篡改
|
|
1451
|
-
if (sub.live && (!data.live_room || data.live_room.roomid
|
|
1502
|
+
if (sub.live && (!data.live_room || data.live_room.roomid != sub.room_id)) {
|
|
1452
1503
|
// 房间号被篡改,删除该订阅
|
|
1453
1504
|
await deleteSub();
|
|
1454
1505
|
// log
|
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.3",
|
|
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
|
@@ -178,7 +178,9 @@
|
|
|
178
178
|
- ver 1.3.7 新增设置项:插件重启后是否进行直播推送。优化直播人气显示
|
|
179
179
|
|
|
180
180
|
- ver 2.0.0-alpha.0 重构:对动态订阅进行了重构,优化了订阅流程
|
|
181
|
-
- ver 2.0.0-alpha.1
|
|
181
|
+
- ver 2.0.0-alpha.1 修复:无法成功取消订阅自己、用户没有直播间订阅直播出错。对直播订阅进行了限制,继承自以前的unlockSubLimits配置项。优化了一些配置项
|
|
182
|
+
- ver 2.0.0-alpha.2 新增:支持Discord平台。优化了下播通知
|
|
183
|
+
- ver 2.0.0-alpha.3 修复:订阅和取消订阅的bug,下播通知的bug
|
|
182
184
|
|
|
183
185
|
## 交流群
|
|
184
186
|
|