koishi-plugin-bilibili-notify 3.2.11-alpha.3 → 3.2.11-alpha.5
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/index.js +44 -37
- package/lib/index.mjs +45 -37
- package/package.json +11 -14
- package/readme.md +6 -0
- package/lib/font/HYZhengYuan-75W.ttf +0 -0
package/lib/index.js
CHANGED
|
@@ -366,10 +366,10 @@ var ComRegister = class {
|
|
|
366
366
|
subNotifier;
|
|
367
367
|
ctx;
|
|
368
368
|
subManager = [];
|
|
369
|
-
dynamicTimelineManager = new Map();
|
|
370
|
-
liveStatusManager = new Map();
|
|
371
|
-
liveMsgManager = new Map();
|
|
372
|
-
pushArrMap = new Map();
|
|
369
|
+
dynamicTimelineManager = /* @__PURE__ */ new Map();
|
|
370
|
+
liveStatusManager = /* @__PURE__ */ new Map();
|
|
371
|
+
liveMsgManager = /* @__PURE__ */ new Map();
|
|
372
|
+
pushArrMap = /* @__PURE__ */ new Map();
|
|
373
373
|
loginDBData;
|
|
374
374
|
privateBot;
|
|
375
375
|
dynamicJob;
|
|
@@ -643,8 +643,14 @@ var ComRegister = class {
|
|
|
643
643
|
await session.send("请手动填入 gt 和 challenge 后点击生成进行验证,验证完成后点击结果,根据提示输入对应validate");
|
|
644
644
|
await session.send(`gt:${data.geetest.gt}`);
|
|
645
645
|
await session.send(`challenge:${data.geetest.challenge}`);
|
|
646
|
-
await session.send("请输入validate");
|
|
647
|
-
const validate = await
|
|
646
|
+
await session.send("请输入validate,格式为 val <validate>");
|
|
647
|
+
const validate = await (async () => {
|
|
648
|
+
while (true) {
|
|
649
|
+
const validate$1 = await session.prompt();
|
|
650
|
+
if (validate$1?.startsWith("val ")) return validate$1.slice(4);
|
|
651
|
+
else await session.send("请输入正确的validate,格式为 val <validate>");
|
|
652
|
+
}
|
|
653
|
+
})();
|
|
648
654
|
const seccode = `${validate}|jordan`;
|
|
649
655
|
const { data: validateCaptchaData } = await ctx.ba.validateCaptcha(data.geetest.challenge, data.token, validate, seccode);
|
|
650
656
|
if (validateCaptchaData?.is_valid !== 1) return "验证不成功!";
|
|
@@ -750,8 +756,8 @@ var ComRegister = class {
|
|
|
750
756
|
}
|
|
751
757
|
async sendPrivateMsgAndRebootService() {
|
|
752
758
|
if (this.rebootCount >= 3) {
|
|
753
|
-
this.logger.error("已重启插件三次,请检查机器人状态后使用指令
|
|
754
|
-
await this.sendPrivateMsg("已重启插件三次,请检查机器人状态后使用指令
|
|
759
|
+
this.logger.error("已重启插件三次,请检查机器人状态后使用指令 bn start 启动插件");
|
|
760
|
+
await this.sendPrivateMsg("已重启插件三次,请检查机器人状态后使用指令 bn start 启动插件");
|
|
755
761
|
await this.ctx.sm.disposePlugin();
|
|
756
762
|
return;
|
|
757
763
|
}
|
|
@@ -760,14 +766,14 @@ var ComRegister = class {
|
|
|
760
766
|
const flag = await this.ctx.sm.restartPlugin();
|
|
761
767
|
if (flag) this.logger.info("重启插件成功");
|
|
762
768
|
else {
|
|
763
|
-
this.logger.error("重启插件失败,请检查机器人状态后使用指令
|
|
764
|
-
await this.sendPrivateMsg("重启插件失败,请检查机器人状态后使用指令
|
|
769
|
+
this.logger.error("重启插件失败,请检查机器人状态后使用指令 bn start 启动插件");
|
|
770
|
+
await this.sendPrivateMsg("重启插件失败,请检查机器人状态后使用指令 bn start 启动插件");
|
|
765
771
|
await this.ctx.sm.disposePlugin();
|
|
766
772
|
}
|
|
767
773
|
}
|
|
768
774
|
async sendPrivateMsgAndStopService() {
|
|
769
|
-
await this.sendPrivateMsg("插件发生未知错误,请检查机器人状态后使用指令
|
|
770
|
-
this.logger.error("插件发生未知错误,请检查机器人状态后使用指令
|
|
775
|
+
await this.sendPrivateMsg("插件发生未知错误,请检查机器人状态后使用指令 bn start 启动插件");
|
|
776
|
+
this.logger.error("插件发生未知错误,请检查机器人状态后使用指令 bn start 启动插件");
|
|
771
777
|
await this.ctx.sm.disposePlugin();
|
|
772
778
|
return;
|
|
773
779
|
}
|
|
@@ -887,14 +893,14 @@ var ComRegister = class {
|
|
|
887
893
|
if (!content) return;
|
|
888
894
|
if (content.code !== 0) switch (content.code) {
|
|
889
895
|
case -101: {
|
|
890
|
-
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令
|
|
891
|
-
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令
|
|
896
|
+
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
897
|
+
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
892
898
|
await this.ctx.sm.disposePlugin();
|
|
893
899
|
break;
|
|
894
900
|
}
|
|
895
901
|
case -352: {
|
|
896
|
-
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
897
|
-
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
902
|
+
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
903
|
+
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
898
904
|
await this.ctx.sm.disposePlugin();
|
|
899
905
|
break;
|
|
900
906
|
}
|
|
@@ -986,14 +992,14 @@ var ComRegister = class {
|
|
|
986
992
|
if (!content) return;
|
|
987
993
|
if (content.code !== 0) switch (content.code) {
|
|
988
994
|
case -101: {
|
|
989
|
-
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令
|
|
990
|
-
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令
|
|
995
|
+
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
996
|
+
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
991
997
|
await this.ctx.sm.disposePlugin();
|
|
992
998
|
break;
|
|
993
999
|
}
|
|
994
1000
|
case -352: {
|
|
995
|
-
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
996
|
-
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
1001
|
+
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
1002
|
+
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
997
1003
|
await this.ctx.sm.disposePlugin();
|
|
998
1004
|
break;
|
|
999
1005
|
}
|
|
@@ -1178,7 +1184,7 @@ var ComRegister = class {
|
|
|
1178
1184
|
if (liveRoomInfo.live_status === 0 || liveRoomInfo.live_status === 2) {
|
|
1179
1185
|
liveStatus = false;
|
|
1180
1186
|
pushAtTimeTimer?.();
|
|
1181
|
-
await this.sendPrivateMsg("直播间已下播!与直播间的连接可能已断开,请使用指令
|
|
1187
|
+
await this.sendPrivateMsg("直播间已下播!与直播间的连接可能已断开,请使用指令 bn restart 重启插件");
|
|
1182
1188
|
return;
|
|
1183
1189
|
}
|
|
1184
1190
|
liveTime = liveRoomInfo.live_time;
|
|
@@ -1631,9 +1637,11 @@ var ComRegister = class {
|
|
|
1631
1637
|
liveMsg: sub.liveMsg
|
|
1632
1638
|
});
|
|
1633
1639
|
this.logger.info(`UID:${sub.uid}订阅加载完毕!`);
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1640
|
+
if (sub !== Object.values(subs).pop()) {
|
|
1641
|
+
const randomDelay = Math.floor(Math.random() * 3) + 1;
|
|
1642
|
+
this.logger.info(`随机延迟:${randomDelay}秒`);
|
|
1643
|
+
await this.ctx.sleep(randomDelay * 1e3);
|
|
1644
|
+
}
|
|
1637
1645
|
}
|
|
1638
1646
|
return {
|
|
1639
1647
|
code: 0,
|
|
@@ -3090,8 +3098,8 @@ var GenerateImg = class extends koishi.Service {
|
|
|
3090
3098
|
</div>
|
|
3091
3099
|
</div>
|
|
3092
3100
|
|
|
3093
|
-
<script src="${wordcloudJS}"
|
|
3094
|
-
<script src="${renderFunc}"
|
|
3101
|
+
<script src="${wordcloudJS}"><\/script>
|
|
3102
|
+
<script src="${renderFunc}"><\/script>
|
|
3095
3103
|
<script>
|
|
3096
3104
|
const canvas = document.getElementById('wordCloudCanvas');
|
|
3097
3105
|
const ctx = canvas.getContext('2d');
|
|
@@ -3115,7 +3123,7 @@ var GenerateImg = class extends koishi.Service {
|
|
|
3115
3123
|
densityTarget: 0.3,
|
|
3116
3124
|
weightExponent: 0.4
|
|
3117
3125
|
});
|
|
3118
|
-
|
|
3126
|
+
<\/script>
|
|
3119
3127
|
</body>
|
|
3120
3128
|
|
|
3121
3129
|
</html>
|
|
@@ -3183,7 +3191,7 @@ var GenerateImg = class extends koishi.Service {
|
|
|
3183
3191
|
return parts.length > 0 ? `${sign}${parts.join("")}` : "0秒";
|
|
3184
3192
|
}
|
|
3185
3193
|
unixTimestampToString(timestamp) {
|
|
3186
|
-
const date = new Date(timestamp * 1e3);
|
|
3194
|
+
const date = /* @__PURE__ */ new Date(timestamp * 1e3);
|
|
3187
3195
|
const year = date.getFullYear();
|
|
3188
3196
|
const month = `0${date.getMonth() + 1}`.slice(-2);
|
|
3189
3197
|
const day = `0${date.getDate()}`.slice(-2);
|
|
@@ -3352,7 +3360,6 @@ var BiliAPI = class extends koishi.Service {
|
|
|
3352
3360
|
const csrf = this.getCSRF();
|
|
3353
3361
|
const ticket = await this.getBiliTicket(csrf);
|
|
3354
3362
|
if (ticket.code !== 0) throw new Error(`获取BiliTicket失败: ${ticket.message}`);
|
|
3355
|
-
this.addCookie(`bili_ticket=${ticket.data.ticket}`);
|
|
3356
3363
|
this.wbiSign.img_key = ticket.data.nav.img.slice(ticket.data.nav.img.lastIndexOf("/") + 1, ticket.data.nav.img.lastIndexOf("."));
|
|
3357
3364
|
this.wbiSign.sub_key = ticket.data.nav.sub.slice(ticket.data.nav.sub.lastIndexOf("/") + 1, ticket.data.nav.sub.lastIndexOf("."));
|
|
3358
3365
|
} catch (e) {
|
|
@@ -3627,7 +3634,7 @@ var BiliAPI = class extends koishi.Service {
|
|
|
3627
3634
|
}
|
|
3628
3635
|
}
|
|
3629
3636
|
getCSRF() {
|
|
3630
|
-
return this.jar.serializeSync().cookies.find((cookie) => cookie.key === "bili_jct")
|
|
3637
|
+
return this.jar.serializeSync().cookies.find((cookie) => cookie.key === "bili_jct")?.value;
|
|
3631
3638
|
}
|
|
3632
3639
|
async loadCookiesFromDatabase() {
|
|
3633
3640
|
const { cookies, refresh_token } = await this.getLoginInfoFromDB();
|
|
@@ -3990,19 +3997,19 @@ var ServerManager = class extends koishi.Service {
|
|
|
3990
3997
|
servers = [];
|
|
3991
3998
|
constructor(ctx) {
|
|
3992
3999
|
super(ctx, "sm");
|
|
3993
|
-
const sysCom = ctx.command("
|
|
3994
|
-
sysCom.subcommand(".restart", "重启插件").usage("重启插件").example("
|
|
3995
|
-
this.logger.info("调用
|
|
4000
|
+
const sysCom = ctx.command("bn", "bili-notify插件运行相关指令", { permissions: ["authority:5"] });
|
|
4001
|
+
sysCom.subcommand(".restart", "重启插件").usage("重启插件").example("bn restart").action(async () => {
|
|
4002
|
+
this.logger.info("调用 bn restart 指令");
|
|
3996
4003
|
if (await this.restartPlugin()) return "插件重启成功";
|
|
3997
4004
|
return "插件重启失败";
|
|
3998
4005
|
});
|
|
3999
|
-
sysCom.subcommand(".stop", "停止插件").usage("停止插件").example("
|
|
4000
|
-
this.logger.info("调用
|
|
4006
|
+
sysCom.subcommand(".stop", "停止插件").usage("停止插件").example("bn stop").action(async () => {
|
|
4007
|
+
this.logger.info("调用 bn stop 指令");
|
|
4001
4008
|
if (await this.disposePlugin()) return "插件已停止";
|
|
4002
4009
|
return "停止插件失败";
|
|
4003
4010
|
});
|
|
4004
|
-
sysCom.subcommand(".start", "启动插件").usage("启动插件").example("
|
|
4005
|
-
this.logger.info("调用
|
|
4011
|
+
sysCom.subcommand(".start", "启动插件").usage("启动插件").example("bn start").action(async () => {
|
|
4012
|
+
this.logger.info("调用 bn start 指令");
|
|
4006
4013
|
if (await this.registerPlugin()) return "插件启动成功";
|
|
4007
4014
|
return "插件启动失败";
|
|
4008
4015
|
});
|
package/lib/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "node:module";
|
|
1
2
|
import { Schema, Service, Universal, h } from "koishi";
|
|
2
3
|
import "@koishijs/plugin-notifier";
|
|
3
4
|
import "@koishijs/plugin-help";
|
|
@@ -347,10 +348,10 @@ var ComRegister = class {
|
|
|
347
348
|
subNotifier;
|
|
348
349
|
ctx;
|
|
349
350
|
subManager = [];
|
|
350
|
-
dynamicTimelineManager = new Map();
|
|
351
|
-
liveStatusManager = new Map();
|
|
352
|
-
liveMsgManager = new Map();
|
|
353
|
-
pushArrMap = new Map();
|
|
351
|
+
dynamicTimelineManager = /* @__PURE__ */ new Map();
|
|
352
|
+
liveStatusManager = /* @__PURE__ */ new Map();
|
|
353
|
+
liveMsgManager = /* @__PURE__ */ new Map();
|
|
354
|
+
pushArrMap = /* @__PURE__ */ new Map();
|
|
354
355
|
loginDBData;
|
|
355
356
|
privateBot;
|
|
356
357
|
dynamicJob;
|
|
@@ -624,8 +625,14 @@ var ComRegister = class {
|
|
|
624
625
|
await session.send("请手动填入 gt 和 challenge 后点击生成进行验证,验证完成后点击结果,根据提示输入对应validate");
|
|
625
626
|
await session.send(`gt:${data.geetest.gt}`);
|
|
626
627
|
await session.send(`challenge:${data.geetest.challenge}`);
|
|
627
|
-
await session.send("请输入validate");
|
|
628
|
-
const validate = await
|
|
628
|
+
await session.send("请输入validate,格式为 val <validate>");
|
|
629
|
+
const validate = await (async () => {
|
|
630
|
+
while (true) {
|
|
631
|
+
const validate$1 = await session.prompt();
|
|
632
|
+
if (validate$1?.startsWith("val ")) return validate$1.slice(4);
|
|
633
|
+
else await session.send("请输入正确的validate,格式为 val <validate>");
|
|
634
|
+
}
|
|
635
|
+
})();
|
|
629
636
|
const seccode = `${validate}|jordan`;
|
|
630
637
|
const { data: validateCaptchaData } = await ctx.ba.validateCaptcha(data.geetest.challenge, data.token, validate, seccode);
|
|
631
638
|
if (validateCaptchaData?.is_valid !== 1) return "验证不成功!";
|
|
@@ -731,8 +738,8 @@ var ComRegister = class {
|
|
|
731
738
|
}
|
|
732
739
|
async sendPrivateMsgAndRebootService() {
|
|
733
740
|
if (this.rebootCount >= 3) {
|
|
734
|
-
this.logger.error("已重启插件三次,请检查机器人状态后使用指令
|
|
735
|
-
await this.sendPrivateMsg("已重启插件三次,请检查机器人状态后使用指令
|
|
741
|
+
this.logger.error("已重启插件三次,请检查机器人状态后使用指令 bn start 启动插件");
|
|
742
|
+
await this.sendPrivateMsg("已重启插件三次,请检查机器人状态后使用指令 bn start 启动插件");
|
|
736
743
|
await this.ctx.sm.disposePlugin();
|
|
737
744
|
return;
|
|
738
745
|
}
|
|
@@ -741,14 +748,14 @@ var ComRegister = class {
|
|
|
741
748
|
const flag = await this.ctx.sm.restartPlugin();
|
|
742
749
|
if (flag) this.logger.info("重启插件成功");
|
|
743
750
|
else {
|
|
744
|
-
this.logger.error("重启插件失败,请检查机器人状态后使用指令
|
|
745
|
-
await this.sendPrivateMsg("重启插件失败,请检查机器人状态后使用指令
|
|
751
|
+
this.logger.error("重启插件失败,请检查机器人状态后使用指令 bn start 启动插件");
|
|
752
|
+
await this.sendPrivateMsg("重启插件失败,请检查机器人状态后使用指令 bn start 启动插件");
|
|
746
753
|
await this.ctx.sm.disposePlugin();
|
|
747
754
|
}
|
|
748
755
|
}
|
|
749
756
|
async sendPrivateMsgAndStopService() {
|
|
750
|
-
await this.sendPrivateMsg("插件发生未知错误,请检查机器人状态后使用指令
|
|
751
|
-
this.logger.error("插件发生未知错误,请检查机器人状态后使用指令
|
|
757
|
+
await this.sendPrivateMsg("插件发生未知错误,请检查机器人状态后使用指令 bn start 启动插件");
|
|
758
|
+
this.logger.error("插件发生未知错误,请检查机器人状态后使用指令 bn start 启动插件");
|
|
752
759
|
await this.ctx.sm.disposePlugin();
|
|
753
760
|
return;
|
|
754
761
|
}
|
|
@@ -868,14 +875,14 @@ var ComRegister = class {
|
|
|
868
875
|
if (!content) return;
|
|
869
876
|
if (content.code !== 0) switch (content.code) {
|
|
870
877
|
case -101: {
|
|
871
|
-
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令
|
|
872
|
-
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令
|
|
878
|
+
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
879
|
+
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
873
880
|
await this.ctx.sm.disposePlugin();
|
|
874
881
|
break;
|
|
875
882
|
}
|
|
876
883
|
case -352: {
|
|
877
|
-
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
878
|
-
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
884
|
+
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
885
|
+
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
879
886
|
await this.ctx.sm.disposePlugin();
|
|
880
887
|
break;
|
|
881
888
|
}
|
|
@@ -967,14 +974,14 @@ var ComRegister = class {
|
|
|
967
974
|
if (!content) return;
|
|
968
975
|
if (content.code !== 0) switch (content.code) {
|
|
969
976
|
case -101: {
|
|
970
|
-
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令
|
|
971
|
-
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令
|
|
977
|
+
this.logger.error("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
978
|
+
await this.sendPrivateMsg("账号未登录,插件已停止工作,请登录后,输入指令 bn start 启动插件");
|
|
972
979
|
await this.ctx.sm.disposePlugin();
|
|
973
980
|
break;
|
|
974
981
|
}
|
|
975
982
|
case -352: {
|
|
976
|
-
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
977
|
-
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令
|
|
983
|
+
this.logger.error("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
984
|
+
await this.sendPrivateMsg("账号被风控,插件已停止工作,请确认风控解除后,输入指令 bn start 启动插件");
|
|
978
985
|
await this.ctx.sm.disposePlugin();
|
|
979
986
|
break;
|
|
980
987
|
}
|
|
@@ -1159,7 +1166,7 @@ var ComRegister = class {
|
|
|
1159
1166
|
if (liveRoomInfo.live_status === 0 || liveRoomInfo.live_status === 2) {
|
|
1160
1167
|
liveStatus = false;
|
|
1161
1168
|
pushAtTimeTimer?.();
|
|
1162
|
-
await this.sendPrivateMsg("直播间已下播!与直播间的连接可能已断开,请使用指令
|
|
1169
|
+
await this.sendPrivateMsg("直播间已下播!与直播间的连接可能已断开,请使用指令 bn restart 重启插件");
|
|
1163
1170
|
return;
|
|
1164
1171
|
}
|
|
1165
1172
|
liveTime = liveRoomInfo.live_time;
|
|
@@ -1612,9 +1619,11 @@ var ComRegister = class {
|
|
|
1612
1619
|
liveMsg: sub.liveMsg
|
|
1613
1620
|
});
|
|
1614
1621
|
this.logger.info(`UID:${sub.uid}订阅加载完毕!`);
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1622
|
+
if (sub !== Object.values(subs).pop()) {
|
|
1623
|
+
const randomDelay = Math.floor(Math.random() * 3) + 1;
|
|
1624
|
+
this.logger.info(`随机延迟:${randomDelay}秒`);
|
|
1625
|
+
await this.ctx.sleep(randomDelay * 1e3);
|
|
1626
|
+
}
|
|
1618
1627
|
}
|
|
1619
1628
|
return {
|
|
1620
1629
|
code: 0,
|
|
@@ -3071,8 +3080,8 @@ var GenerateImg = class extends Service {
|
|
|
3071
3080
|
</div>
|
|
3072
3081
|
</div>
|
|
3073
3082
|
|
|
3074
|
-
<script src="${wordcloudJS}"
|
|
3075
|
-
<script src="${renderFunc}"
|
|
3083
|
+
<script src="${wordcloudJS}"><\/script>
|
|
3084
|
+
<script src="${renderFunc}"><\/script>
|
|
3076
3085
|
<script>
|
|
3077
3086
|
const canvas = document.getElementById('wordCloudCanvas');
|
|
3078
3087
|
const ctx = canvas.getContext('2d');
|
|
@@ -3096,7 +3105,7 @@ var GenerateImg = class extends Service {
|
|
|
3096
3105
|
densityTarget: 0.3,
|
|
3097
3106
|
weightExponent: 0.4
|
|
3098
3107
|
});
|
|
3099
|
-
|
|
3108
|
+
<\/script>
|
|
3100
3109
|
</body>
|
|
3101
3110
|
|
|
3102
3111
|
</html>
|
|
@@ -3164,7 +3173,7 @@ var GenerateImg = class extends Service {
|
|
|
3164
3173
|
return parts.length > 0 ? `${sign}${parts.join("")}` : "0秒";
|
|
3165
3174
|
}
|
|
3166
3175
|
unixTimestampToString(timestamp) {
|
|
3167
|
-
const date = new Date(timestamp * 1e3);
|
|
3176
|
+
const date = /* @__PURE__ */ new Date(timestamp * 1e3);
|
|
3168
3177
|
const year = date.getFullYear();
|
|
3169
3178
|
const month = `0${date.getMonth() + 1}`.slice(-2);
|
|
3170
3179
|
const day = `0${date.getDate()}`.slice(-2);
|
|
@@ -3333,7 +3342,6 @@ var BiliAPI = class extends Service {
|
|
|
3333
3342
|
const csrf = this.getCSRF();
|
|
3334
3343
|
const ticket = await this.getBiliTicket(csrf);
|
|
3335
3344
|
if (ticket.code !== 0) throw new Error(`获取BiliTicket失败: ${ticket.message}`);
|
|
3336
|
-
this.addCookie(`bili_ticket=${ticket.data.ticket}`);
|
|
3337
3345
|
this.wbiSign.img_key = ticket.data.nav.img.slice(ticket.data.nav.img.lastIndexOf("/") + 1, ticket.data.nav.img.lastIndexOf("."));
|
|
3338
3346
|
this.wbiSign.sub_key = ticket.data.nav.sub.slice(ticket.data.nav.sub.lastIndexOf("/") + 1, ticket.data.nav.sub.lastIndexOf("."));
|
|
3339
3347
|
} catch (e) {
|
|
@@ -3608,7 +3616,7 @@ var BiliAPI = class extends Service {
|
|
|
3608
3616
|
}
|
|
3609
3617
|
}
|
|
3610
3618
|
getCSRF() {
|
|
3611
|
-
return this.jar.serializeSync().cookies.find((cookie) => cookie.key === "bili_jct")
|
|
3619
|
+
return this.jar.serializeSync().cookies.find((cookie) => cookie.key === "bili_jct")?.value;
|
|
3612
3620
|
}
|
|
3613
3621
|
async loadCookiesFromDatabase() {
|
|
3614
3622
|
const { cookies, refresh_token } = await this.getLoginInfoFromDB();
|
|
@@ -3971,19 +3979,19 @@ var ServerManager = class extends Service {
|
|
|
3971
3979
|
servers = [];
|
|
3972
3980
|
constructor(ctx) {
|
|
3973
3981
|
super(ctx, "sm");
|
|
3974
|
-
const sysCom = ctx.command("
|
|
3975
|
-
sysCom.subcommand(".restart", "重启插件").usage("重启插件").example("
|
|
3976
|
-
this.logger.info("调用
|
|
3982
|
+
const sysCom = ctx.command("bn", "bili-notify插件运行相关指令", { permissions: ["authority:5"] });
|
|
3983
|
+
sysCom.subcommand(".restart", "重启插件").usage("重启插件").example("bn restart").action(async () => {
|
|
3984
|
+
this.logger.info("调用 bn restart 指令");
|
|
3977
3985
|
if (await this.restartPlugin()) return "插件重启成功";
|
|
3978
3986
|
return "插件重启失败";
|
|
3979
3987
|
});
|
|
3980
|
-
sysCom.subcommand(".stop", "停止插件").usage("停止插件").example("
|
|
3981
|
-
this.logger.info("调用
|
|
3988
|
+
sysCom.subcommand(".stop", "停止插件").usage("停止插件").example("bn stop").action(async () => {
|
|
3989
|
+
this.logger.info("调用 bn stop 指令");
|
|
3982
3990
|
if (await this.disposePlugin()) return "插件已停止";
|
|
3983
3991
|
return "停止插件失败";
|
|
3984
3992
|
});
|
|
3985
|
-
sysCom.subcommand(".start", "启动插件").usage("启动插件").example("
|
|
3986
|
-
this.logger.info("调用
|
|
3993
|
+
sysCom.subcommand(".start", "启动插件").usage("启动插件").example("bn start").action(async () => {
|
|
3994
|
+
this.logger.info("调用 bn start 指令");
|
|
3987
3995
|
if (await this.registerPlugin()) return "插件启动成功";
|
|
3988
3996
|
return "插件启动失败";
|
|
3989
3997
|
});
|
package/package.json
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-bilibili-notify",
|
|
3
3
|
"description": "Koishi bilibili notify plugin",
|
|
4
|
-
"version": "3.2.11-alpha.
|
|
5
|
-
"contributors": [
|
|
6
|
-
"Akokko <admin@akokko.com>"
|
|
7
|
-
],
|
|
4
|
+
"version": "3.2.11-alpha.5",
|
|
8
5
|
"main": "./lib/index.js",
|
|
9
6
|
"typings": "lib/index.d.ts",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"build": "tsdown"
|
|
12
|
-
},
|
|
13
7
|
"files": [
|
|
14
8
|
"lib",
|
|
15
9
|
"dist"
|
|
16
10
|
],
|
|
11
|
+
"contributors": [
|
|
12
|
+
"Akokko <admin@akokko.com>"
|
|
13
|
+
],
|
|
17
14
|
"license": "MIT",
|
|
15
|
+
"homepage": "https://www.npmjs.com/package/koishi-plugin-bilibili-notify",
|
|
18
16
|
"repository": {
|
|
19
17
|
"type": "git",
|
|
20
18
|
"url": "git+https://github.com/Akokk0/koishi-plugin-bilibili-notify"
|
|
21
19
|
},
|
|
22
|
-
"homepage": "https://www.npmjs.com/package/koishi-plugin-bilibili-notify",
|
|
23
20
|
"keywords": [
|
|
24
21
|
"chatbot",
|
|
25
22
|
"koishi",
|
|
26
23
|
"plugin",
|
|
27
|
-
"bilibili"
|
|
24
|
+
"bilibili",
|
|
25
|
+
"bilibili-notify"
|
|
28
26
|
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsdown"
|
|
29
|
+
},
|
|
29
30
|
"dependencies": {
|
|
30
31
|
"@akokko/blive-message-listener": "^0.5.1",
|
|
31
32
|
"@node-rs/jieba": "^2.0.1",
|
|
@@ -46,12 +47,8 @@
|
|
|
46
47
|
"@types/md5": "^2.3.5",
|
|
47
48
|
"@types/qrcode": "^1.5.5",
|
|
48
49
|
"@types/tough-cookie": "^4.0.5",
|
|
49
|
-
"globals": "^16.3.0",
|
|
50
|
-
"koishi": "^4.18.8",
|
|
51
50
|
"koishi-plugin-puppeteer": "^3.9.0",
|
|
52
|
-
"tsdown": "^0.12.9"
|
|
53
|
-
"tsx": "^4.20.3",
|
|
54
|
-
"typescript": "5.8.3"
|
|
51
|
+
"tsdown": "^0.12.9"
|
|
55
52
|
},
|
|
56
53
|
"peerDependencies": {
|
|
57
54
|
"koishi": "^4.18.8"
|
package/readme.md
CHANGED
|
@@ -310,6 +310,12 @@ uid为必填参数,为要推送的UP主的UID,index为可选参数,为要
|
|
|
310
310
|
> - ver 3.2.10-alpha.0 新增:指令 `bili cap` 在遇到风控时,可以手动验证解除风控; 优化:错误消息提示;
|
|
311
311
|
> - ver 3.2.10-alpha.1 优化:使用指令 `bili cap` 后将对应cookie保存到数据库中、 `bili cap` 提示信息;
|
|
312
312
|
|
|
313
|
+
> [!CAUTION]
|
|
314
|
+
> - ver 3.2.11-alpha.2 测试版本
|
|
315
|
+
> - ver 3.2.11-alpha.3 测试版本
|
|
316
|
+
> - ver 3.2.11-alpha.4 测试版本
|
|
317
|
+
> - ver 3.2.11-alpha.5 测试版本
|
|
318
|
+
|
|
313
319
|
## 交流群
|
|
314
320
|
|
|
315
321
|
> [!TIP]
|
|
Binary file
|