koishi-plugin-bilibili-notify 1.2.12-alpha.1 → 1.2.12-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/lib/biliAPI.d.ts CHANGED
@@ -3,7 +3,7 @@ import { CookieJar } from 'tough-cookie';
3
3
  import { Notifier } from "@koishijs/plugin-notifier";
4
4
  declare module 'koishi' {
5
5
  interface Context {
6
- biliAPI: BiliAPI;
6
+ ba: BiliAPI;
7
7
  }
8
8
  }
9
9
  declare class BiliAPI extends Service {
package/lib/biliAPI.js CHANGED
@@ -32,7 +32,7 @@ class BiliAPI extends koishi_1.Service {
32
32
  refreshCookieTimer;
33
33
  loginInfoIsLoaded = false;
34
34
  constructor(ctx, config) {
35
- super(ctx, 'biliAPI');
35
+ super(ctx, 'ba');
36
36
  this.apiConfig = config;
37
37
  }
38
38
  start() {
@@ -15,7 +15,7 @@ var LiveType;
15
15
  LiveType[LiveType["LiveBroadcast"] = 2] = "LiveBroadcast";
16
16
  })(LiveType || (LiveType = {}));
17
17
  class ComRegister {
18
- static inject = ['biliAPI', 'gimg', 'wbi', 'database', 'sm'];
18
+ static inject = ['ba', 'gi', 'wbi', 'database', 'sm'];
19
19
  logger;
20
20
  config;
21
21
  loginTimer;
@@ -37,7 +37,13 @@ class ComRegister {
37
37
  // Chronocat机器人
38
38
  chronocatBot;
39
39
  constructor(ctx, config) {
40
- this.logger = ctx.logger('commandRegister');
40
+ this.logger = ctx.logger('cr');
41
+ ctx.on('ready', () => {
42
+ this.logger.info('工作中');
43
+ });
44
+ ctx.on('dispose', () => {
45
+ this.logger.info('已停止工作');
46
+ });
41
47
  this.config = config;
42
48
  // 拿到各类机器人
43
49
  ctx.bots.forEach(bot => {
@@ -73,8 +79,8 @@ class ComRegister {
73
79
  .usage('测试指令,用于测试从数据库读取cookies')
74
80
  .action(async () => {
75
81
  this.logger.info('调用test cookies指令')
76
- // await ctx.biliAPI.loadCookiesFromDatabase()
77
- console.log(JSON.parse(ctx.biliAPI.getCookies()));
82
+ // await ctx.ba.loadCookiesFromDatabase()
83
+ console.log(JSON.parse(ctx.ba.getCookies()));
78
84
  })
79
85
 
80
86
  testCom
@@ -82,7 +88,7 @@ class ComRegister {
82
88
  .usage('测试指令,用于测试获取自己信息')
83
89
  .example('test.my')
84
90
  .action(async () => {
85
- const content = await ctx.biliAPI.getMyselfInfo()
91
+ const content = await ctx.ba.getMyselfInfo()
86
92
  console.log(content);
87
93
  })
88
94
 
@@ -91,7 +97,7 @@ class ComRegister {
91
97
  .usage('测试指令,用于测试获取用户信息')
92
98
  .example('test.user 用户UID')
93
99
  .action(async (_, mid) => {
94
- const content = await ctx.biliAPI.getUserInfo(mid)
100
+ const content = await ctx.ba.getUserInfo(mid)
95
101
  console.log(content);
96
102
  })
97
103
 
@@ -100,7 +106,7 @@ class ComRegister {
100
106
  .usage('测试时间接口')
101
107
  .example('test.time')
102
108
  .action(async ({ session }) => {
103
- session.send(await ctx.biliAPI.getTimeNow())
109
+ session.send(await ctx.ba.getTimeNow())
104
110
  })
105
111
 
106
112
  testCom
@@ -111,9 +117,9 @@ class ComRegister {
111
117
  // logger
112
118
  this.logger.info('调用test gimg指令')
113
119
  // 获取用户空间动态数据
114
- const { data } = await ctx.biliAPI.getUserSpaceDynamic(uid)
120
+ const { data } = await ctx.ba.getUserSpaceDynamic(uid)
115
121
  // 获取动态推送图片
116
- const { pic, buffer } = await ctx.gimg.generateDynamicImg(data.items[index])
122
+ const { pic, buffer } = await ctx.gi.generateDynamicImg(data.items[index])
117
123
  // 如果pic存在,则直接返回pic
118
124
  if (pic) return pic
119
125
  // pic不存在,说明使用的是page模式
@@ -141,7 +147,7 @@ class ComRegister {
141
147
  .usage('获取当前UTC+8 Unix时间戳')
142
148
  .example('test utc')
143
149
  .action(async ({ session }) => {
144
- session.send((await ctx.biliAPI.getServerUTCTime()).toString())
150
+ session.send((await ctx.ba.getServerUTCTime()).toString())
145
151
  })
146
152
 
147
153
  testCom
@@ -152,7 +158,7 @@ class ComRegister {
152
158
  // logger
153
159
  this.logger.info('调用test gimg指令')
154
160
  // 获取主播信息
155
- const { data } = await ctx.biliAPI.getMasterInfo('686127')
161
+ const { data } = await ctx.ba.getMasterInfo('686127')
156
162
  let resizedImage: Buffer
157
163
  try {
158
164
  resizedImage = await Jimp.read(data.info.face).then(async image => {
@@ -186,7 +192,7 @@ class ComRegister {
186
192
  // 获取二维码
187
193
  let content;
188
194
  try {
189
- content = await ctx.biliAPI.getLoginQRCode();
195
+ content = await ctx.ba.getLoginQRCode();
190
196
  }
191
197
  catch (e) {
192
198
  return 'bili login getLoginQRCode() 本次网络请求失败';
@@ -222,7 +228,7 @@ class ComRegister {
222
228
  // 获取登录信息
223
229
  let loginContent;
224
230
  try {
225
- loginContent = await ctx.biliAPI.getLoginStatus(content.data.qrcode_key);
231
+ loginContent = await ctx.ba.getLoginStatus(content.data.qrcode_key);
226
232
  }
227
233
  catch (e) {
228
234
  this.logger.error(e);
@@ -237,7 +243,7 @@ class ComRegister {
237
243
  return await session.send('二维码已失效,请重新登录');
238
244
  }
239
245
  if (loginContent.data.code === 0) { // 登录成功
240
- const encryptedCookies = ctx.wbi.encrypt(ctx.biliAPI.getCookies());
246
+ const encryptedCookies = ctx.wbi.encrypt(ctx.ba.getCookies());
241
247
  const encryptedRefreshToken = ctx.wbi.encrypt(loginContent.data.refresh_token);
242
248
  await ctx.database.upsert('loginBili', [{
243
249
  id: 1,
@@ -249,13 +255,13 @@ class ComRegister {
249
255
  // 订阅之前的订阅
250
256
  await this.getSubFromDatabase(ctx);
251
257
  // 清除控制台通知
252
- ctx.biliAPI.disposeNotifier();
258
+ ctx.ba.disposeNotifier();
253
259
  // 发送成功登录推送
254
260
  await session.send('登录成功');
255
261
  // bili show
256
262
  await session.execute('bili show');
257
263
  // 开启cookies刷新检测
258
- ctx.biliAPI.enableRefreshCookiesDetect();
264
+ ctx.ba.enableRefreshCookiesDetect();
259
265
  return;
260
266
  }
261
267
  }
@@ -361,7 +367,7 @@ class ComRegister {
361
367
  // 获取用户信息
362
368
  let content;
363
369
  try {
364
- content = await ctx.biliAPI.getUserInfo(mid);
370
+ content = await ctx.ba.getUserInfo(mid);
365
371
  }
366
372
  catch (e) {
367
373
  return 'bili sub getUserInfo() 发生了错误,错误为:' + e.message;
@@ -497,7 +503,7 @@ class ComRegister {
497
503
  // 获取用户信息
498
504
  let userData;
499
505
  try {
500
- const { data } = await ctx.biliAPI.getMasterInfo(sub.uid);
506
+ const { data } = await ctx.ba.getMasterInfo(sub.uid);
501
507
  userData = data;
502
508
  }
503
509
  catch (e) {
@@ -574,7 +580,7 @@ class ComRegister {
574
580
  return session.send('请输入房间号!');
575
581
  let content;
576
582
  try {
577
- content = await ctx.biliAPI.getLiveRoomInfo(roomId);
583
+ content = await ctx.ba.getLiveRoomInfo(roomId);
578
584
  }
579
585
  catch (e) {
580
586
  return 'bili status指令 getLiveRoomInfo() 发生了错误,错误为:' + e.message;
@@ -582,7 +588,7 @@ class ComRegister {
582
588
  const { data } = content;
583
589
  let userData;
584
590
  try {
585
- const { data: userInfo } = await ctx.biliAPI.getMasterInfo(data.uid);
591
+ const { data: userInfo } = await ctx.ba.getMasterInfo(data.uid);
586
592
  userData = userInfo;
587
593
  }
588
594
  catch (e) {
@@ -598,7 +604,7 @@ class ComRegister {
598
604
  }
599
605
  return;
600
606
  }
601
- const { pic, buffer } = await ctx.gimg.generateLiveImg(data, userData, data.live_status !== 1 ?
607
+ const { pic, buffer } = await ctx.gi.generateLiveImg(data, userData, data.live_status !== 1 ?
602
608
  LiveType.NotLiveBroadcast :
603
609
  LiveType.LiveBroadcast);
604
610
  // pic 存在,使用的是render模式
@@ -771,7 +777,7 @@ class ComRegister {
771
777
  // 第一次订阅判断
772
778
  if (firstSubscription) {
773
779
  // 设置第一次的时间点
774
- timePoint = ctx.biliAPI.getTimeOfUTC8();
780
+ timePoint = ctx.ba.getTimeOfUTC8();
775
781
  // 设置第一次为false
776
782
  firstSubscription = false;
777
783
  return;
@@ -779,7 +785,7 @@ class ComRegister {
779
785
  // 获取用户空间动态数据
780
786
  let content;
781
787
  try {
782
- content = await ctx.biliAPI.getUserSpaceDynamic(uid);
788
+ content = await ctx.ba.getUserSpaceDynamic(uid);
783
789
  }
784
790
  catch (e) {
785
791
  return this.logger.error('dynamicDetect getUserSpaceDynamic() 发生了错误,错误为:' + e.message);
@@ -788,23 +794,32 @@ class ComRegister {
788
794
  if (content.code !== 0) {
789
795
  switch (content.code) {
790
796
  case -101: { // 账号未登录
791
- await this.sendPrivateMsg(bot, '账号未登录,请登录后重新订阅动态');
797
+ // 输出日志
798
+ this.logger.error('账号未登录,插件已停止工作,请登录后,输入指令 sys start 启动插件');
799
+ // 发送私聊消息
800
+ await this.sendPrivateMsg(bot, '账号未登录,插件已停止工作,请登录后,输入指令 sys start 启动插件');
801
+ // 停止服务
802
+ await ctx.sm.disposePlugin();
803
+ // 结束循环
792
804
  break;
793
805
  }
794
806
  case -352: { // 风控
807
+ // 输出日志
808
+ this.logger.error('账号被风控,插件已停止工作,请确认风控解除后,输入指令 sys start 启动插件');
795
809
  // 发送私聊消息
796
810
  await this.sendPrivateMsg(bot, '账号被风控,插件已停止工作,请确认风控解除后,输入指令 sys start 启动插件');
797
811
  // 停止服务
798
812
  await ctx.sm.disposePlugin();
799
813
  // 结束循环
800
- return;
814
+ break;
801
815
  }
802
816
  default: { // 未知错误
817
+ // 发送私聊消息
803
818
  await this.sendPrivateMsg(bot, '获取动态信息错误,错误码为:' + content.code + ',错误为:' + content.message); // 未知错误
804
819
  // 取消订阅
805
820
  this.unsubAll(ctx, bot, uid);
806
821
  // 结束循环
807
- return;
822
+ break;
808
823
  }
809
824
  }
810
825
  }
@@ -841,7 +856,7 @@ class ComRegister {
841
856
  // 获取动态推送图片
842
857
  try {
843
858
  // 渲染图片
844
- const { pic: gimgPic, buffer: gimgBuffer } = await ctx.gimg.generateDynamicImg(items[num]);
859
+ const { pic: gimgPic, buffer: gimgBuffer } = await ctx.gi.generateDynamicImg(items[num]);
845
860
  // 赋值
846
861
  pic = gimgPic;
847
862
  buffer = gimgBuffer;
@@ -908,7 +923,7 @@ class ComRegister {
908
923
  for (let i = 0; i < attempts; i++) {
909
924
  try {
910
925
  // 获取直播通知卡片
911
- const { pic: picv, buffer: bufferv } = await ctx.gimg.generateLiveImg(data, uData, liveType);
926
+ const { pic: picv, buffer: bufferv } = await ctx.gi.generateLiveImg(data, uData, liveType);
912
927
  // 赋值
913
928
  pic = picv;
914
929
  buffer = bufferv;
@@ -943,7 +958,7 @@ class ComRegister {
943
958
  for (let i = 0; i < attempts; i++) {
944
959
  try {
945
960
  // 发送请求获取room信息
946
- content = await ctx.biliAPI.getLiveRoomInfo(roomId);
961
+ content = await ctx.ba.getLiveRoomInfo(roomId);
947
962
  // 成功则跳出循环
948
963
  break;
949
964
  }
@@ -964,7 +979,7 @@ class ComRegister {
964
979
  for (let i = 0; i < attempts; i++) {
965
980
  try {
966
981
  // 发送请求获取主播信息
967
- const { data: userInfo } = await ctx.biliAPI.getMasterInfo(data.uid);
982
+ const { data: userInfo } = await ctx.ba.getMasterInfo(data.uid);
968
983
  userData = userInfo;
969
984
  // 成功则跳出循环
970
985
  break;
@@ -1001,7 +1016,7 @@ class ComRegister {
1001
1016
  // 定义下播通知消息
1002
1017
  let liveEndMsg = this.config.customLiveEnd
1003
1018
  .replace('-name', uData.info.uname)
1004
- .replace('-time', await ctx.gimg.getTimeDifference(liveTime));
1019
+ .replace('-time', await ctx.gi.getTimeDifference(liveTime));
1005
1020
  // 获取头像并缩放
1006
1021
  let resizedImage;
1007
1022
  // Jimp无法处理Webp格式,直接跳过
@@ -1034,7 +1049,7 @@ class ComRegister {
1034
1049
  for (let i = 0; i < attempts; i++) {
1035
1050
  try {
1036
1051
  // 获取主播信息
1037
- const { data: userInfo } = await ctx.biliAPI.getMasterInfo(data.uid);
1052
+ const { data: userInfo } = await ctx.ba.getMasterInfo(data.uid);
1038
1053
  userData = userInfo;
1039
1054
  // 成功则跳出循环
1040
1055
  break;
@@ -1051,7 +1066,7 @@ class ComRegister {
1051
1066
  // 定义开播通知语
1052
1067
  let liveStartMsg = this.config.customLiveStart
1053
1068
  .replace('-name', uData.info.uname)
1054
- .replace('-time', await ctx.gimg.getTimeDifference(liveTime))
1069
+ .replace('-time', await ctx.gi.getTimeDifference(liveTime))
1055
1070
  .replace('-link', `https://live.bilibili.com/${data.short_id === 0 ? data.room_id : data.short_id}`);
1056
1071
  // 判断是否需要@全体成员
1057
1072
  if (this.config.liveStartAtAll) {
@@ -1151,7 +1166,7 @@ class ComRegister {
1151
1166
  async checkIfLoginInfoIsLoaded(ctx) {
1152
1167
  return new Promise(resolve => {
1153
1168
  const check = () => {
1154
- if (!ctx.biliAPI.getLoginInfoIsLoaded()) {
1169
+ if (!ctx.ba.getLoginInfoIsLoaded()) {
1155
1170
  ctx.setTimeout(check, 500);
1156
1171
  }
1157
1172
  else {
@@ -1242,7 +1257,7 @@ class ComRegister {
1242
1257
  for (let i = 0; i < attempts; i++) {
1243
1258
  try {
1244
1259
  // 获取用户信息
1245
- content = await ctx.biliAPI.getUserInfo(sub.uid);
1260
+ content = await ctx.ba.getUserInfo(sub.uid);
1246
1261
  // 成功则跳出循环
1247
1262
  break;
1248
1263
  }
@@ -1408,7 +1423,7 @@ class ComRegister {
1408
1423
  async checkIfIsLogin(ctx) {
1409
1424
  if ((await ctx.database.get('loginBili', 1)).length !== 0) { // 数据库中有数据
1410
1425
  // 检查cookie中是否有值
1411
- if (ctx.biliAPI.getCookies() !== '[]') { // 有值说明已登录
1426
+ if (ctx.ba.getCookies() !== '[]') { // 有值说明已登录
1412
1427
  return true;
1413
1428
  }
1414
1429
  }
@@ -1,7 +1,7 @@
1
1
  import { Context, Schema, Service } from "koishi";
2
2
  declare module 'koishi' {
3
3
  interface Context {
4
- gimg: GenerateImg;
4
+ gi: GenerateImg;
5
5
  }
6
6
  }
7
7
  declare class GenerateImg extends Service {
@@ -37,10 +37,10 @@ const ADDITIONAL_TYPE_UP_RCMD = 'ADDITIONAL_TYPE_UP_RCMD'
37
37
  const ADDITIONAL_TYPE_UGC = 'ADDITIONAL_TYPE_UGC' */
38
38
  const ADDITIONAL_TYPE_RESERVE = 'ADDITIONAL_TYPE_RESERVE';
39
39
  class GenerateImg extends koishi_1.Service {
40
- static inject = ['puppeteer', 'biliAPI'];
40
+ static inject = ['puppeteer', 'ba'];
41
41
  giConfig;
42
42
  constructor(ctx, config) {
43
- super(ctx, 'gimg');
43
+ super(ctx, 'gi');
44
44
  this.giConfig = config;
45
45
  }
46
46
  start() {
@@ -1341,7 +1341,7 @@ class GenerateImg extends koishi_1.Service {
1341
1341
  // 获取Unix时间戳(以毫秒为单位)
1342
1342
  const unixTime = date.getTime() / 1000;
1343
1343
  // 获取当前Unix时间戳
1344
- const now = this.ctx.biliAPI.getTimeOfUTC8();
1344
+ const now = this.ctx.ba.getTimeOfUTC8();
1345
1345
  // 计算时间差(以秒为单位)
1346
1346
  const differenceInSeconds = Math.floor(now - unixTime);
1347
1347
  // 获取yyyy:MM:dd HH:mm:ss
package/lib/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export declare const Config: Schema<Config>;
35
35
  declare class ServerManager extends Service {
36
36
  servers: ForkScope[];
37
37
  renderType: number;
38
+ dynamicLoopTime: number;
38
39
  restartCount: number;
39
40
  constructor(ctx: Context);
40
41
  protected start(): void | Promise<void>;
package/lib/index.js CHANGED
@@ -156,6 +156,8 @@ class ServerManager extends koishi_1.Service {
156
156
  servers = [];
157
157
  // 渲染模式
158
158
  renderType;
159
+ // 动态循环时间
160
+ dynamicLoopTime;
159
161
  // 重启次数
160
162
  restartCount = 0;
161
163
  constructor(ctx) {
@@ -197,6 +199,7 @@ class ServerManager extends koishi_1.Service {
197
199
  });
198
200
  }
199
201
  start() {
202
+ // 加载配置
200
203
  // 根据用户设置的渲染模式设置
201
204
  switch (globalConfig.renderType) {
202
205
  case 'render':
@@ -206,6 +209,21 @@ class ServerManager extends koishi_1.Service {
206
209
  this.renderType = 1;
207
210
  break;
208
211
  }
212
+ // 转换为具体时间
213
+ switch (globalConfig.dynamicLoopTime) {
214
+ case '1分钟':
215
+ this.dynamicLoopTime = 60;
216
+ break;
217
+ case '2分钟':
218
+ this.dynamicLoopTime = 120;
219
+ break;
220
+ case '3分钟':
221
+ this.dynamicLoopTime = 180;
222
+ break;
223
+ case '5分钟':
224
+ this.dynamicLoopTime = 300;
225
+ break;
226
+ }
209
227
  // 注册插件
210
228
  this.registerPlugin();
211
229
  }
@@ -215,10 +233,10 @@ class ServerManager extends koishi_1.Service {
215
233
  return false;
216
234
  await new Promise(resolve => {
217
235
  // 注册插件
218
- const biliApi = this.ctx.plugin(biliAPI_1.default, {
236
+ const ba = this.ctx.plugin(biliAPI_1.default, {
219
237
  userAgent: globalConfig.userAgent
220
238
  });
221
- const generateImg = this.ctx.plugin(generateImg_1.default, {
239
+ const gi = this.ctx.plugin(generateImg_1.default, {
222
240
  renderType: this.renderType,
223
241
  filter: globalConfig.filter,
224
242
  removeBorder: globalConfig.removeBorder,
@@ -227,9 +245,24 @@ class ServerManager extends koishi_1.Service {
227
245
  enableLargeFont: globalConfig.enableLargeFont,
228
246
  font: globalConfig.font
229
247
  });
248
+ const wbi = this.ctx.plugin(wbi_1.default, { key: globalConfig.key });
249
+ const cr = this.ctx.plugin(comRegister_1.default, {
250
+ master: globalConfig.master,
251
+ unlockSubLimits: globalConfig.unlockSubLimits,
252
+ liveStartAtAll: globalConfig.liveStartAtAll,
253
+ pushTime: globalConfig.pushTime,
254
+ customLiveStart: globalConfig.customLiveStart,
255
+ customLiveEnd: globalConfig.customLiveEnd,
256
+ dynamicCheckNumber: globalConfig.dynamicCheckNumber,
257
+ dynamicLoopTime: this.dynamicLoopTime,
258
+ dynamicUrl: globalConfig.dynamicUrl,
259
+ filter: globalConfig.filter
260
+ });
230
261
  // 添加服务
231
- this.servers.push(biliApi);
232
- this.servers.push(generateImg);
262
+ this.servers.push(ba);
263
+ this.servers.push(gi);
264
+ this.servers.push(wbi);
265
+ this.servers.push(cr);
233
266
  // 成功
234
267
  resolve('ok');
235
268
  });
@@ -291,40 +324,10 @@ function apply(ctx, config) {
291
324
  content: '过多的订阅可能会导致IP暂时被封禁!'
292
325
  });
293
326
  }
294
- // load config
295
- // 转换为具体时间
296
- let dynamicLoopTime;
297
- switch (config.dynamicLoopTime) {
298
- case '1分钟':
299
- dynamicLoopTime = 60;
300
- break;
301
- case '2分钟':
302
- dynamicLoopTime = 120;
303
- break;
304
- case '3分钟':
305
- dynamicLoopTime = 180;
306
- break;
307
- case '5分钟':
308
- dynamicLoopTime = 300;
309
- break;
310
- }
311
327
  // load database
312
328
  ctx.plugin(Database);
313
- // Regist server
314
- ctx.plugin(wbi_1.default, { key: config.key });
329
+ // Register ServerManager
315
330
  ctx.plugin(ServerManager);
316
- ctx.plugin(comRegister_1.default, {
317
- master: config.master,
318
- unlockSubLimits: config.unlockSubLimits,
319
- liveStartAtAll: config.liveStartAtAll,
320
- pushTime: config.pushTime,
321
- customLiveStart: config.customLiveStart,
322
- customLiveEnd: config.customLiveEnd,
323
- dynamicCheckNumber: config.dynamicCheckNumber,
324
- dynamicLoopTime,
325
- dynamicUrl: config.dynamicUrl,
326
- filter: config.filter
327
- });
328
331
  // 当用户输入“恶魔兔,启动!”时,执行 help 指令
329
332
  ctx.middleware((session, next) => {
330
333
  if (session.content === '恶魔兔,启动!') {
package/lib/wbi.d.ts CHANGED
@@ -9,6 +9,7 @@ declare class Wbi extends Service {
9
9
  mixinKeyEncTab: number[];
10
10
  constructor(ctx: Context, config: Wbi.Config);
11
11
  protected start(): void | Promise<void>;
12
+ protected stop(): void | Promise<void>;
12
13
  getMixinKey: (orig: any) => string;
13
14
  encWbi(params: any, img_key: any, sub_key: any): string;
14
15
  getWbiKeys(): Promise<{
package/lib/wbi.js CHANGED
@@ -19,7 +19,10 @@ class Wbi extends koishi_1.Service {
19
19
  this.wbiConfig = config;
20
20
  }
21
21
  start() {
22
- // this.logger.info('wbi已被注册到Context中')
22
+ this.logger.info('工作中');
23
+ }
24
+ stop() {
25
+ this.logger.info('已停止工作');
23
26
  }
24
27
  // 对 imgKey 和 subKey 进行字符顺序打乱编码
25
28
  getMixinKey = (orig) => this.mixinKeyEncTab.map(n => orig[n]).join('').slice(0, 32);
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": "1.2.12-alpha.1",
4
+ "version": "1.2.12-alpha.2",
5
5
  "contributors": [
6
6
  "Akokko <admin@akokko.com>"
7
7
  ],
package/readme.md CHANGED
@@ -153,6 +153,7 @@
153
153
  - ver 1.2.11-alpha.1 修复报错 `app TypeError: Cannot read properties of undefined (reading 'toString')`,添加更多日志输出
154
154
  - ver 1.2.12-alpha.0 新增 `sys` 类指令,包括子命令:`start`、`stop`、`restart` 分别为插件的启动、停止和重启,需要权限等级5才能使用。现在,账号出现某些问题后,不会再清除订阅信息,而是停止插件,在排除问题后需要使用指令 `sys start` 手动启动插件。修复一个动态推送的bug
155
155
  - ver 1.2.12-alpha.1 删除直播推送时的多余空格
156
+ - ver 1.2.12-alpha.2 尝试修复版本 `1.2.12-alpha.0 账号出现某些问题后,不会再清除订阅信息` 仍然会清除订阅信息的bug
156
157
 
157
158
  ## 交流群
158
159