koishi-plugin-bilibili-notify 3.6.1 → 3.6.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/dist/index.js +1 -1
- package/lib/index.cjs +146 -144
- package/lib/index.d.cts +1 -1
- package/lib/index.d.mts +1 -1
- package/lib/index.mjs +146 -144
- package/package.json +7 -7
package/lib/index.mjs
CHANGED
|
@@ -449,8 +449,8 @@ var ComRegister = class ComRegister {
|
|
|
449
449
|
return this.subShow();
|
|
450
450
|
});
|
|
451
451
|
biliCom.subcommand(".private", "向主人账号发送一条测试消息", { hidden: true }).usage("向主人账号发送一条测试消息").example("bili private 向主人账号发送一条测试消息").action(async ({ session }) => {
|
|
452
|
-
await this.sendPrivateMsg("主人~女仆向您问好啦!Ciallo~(∠・ω< )⌒★乖乖打招呼呀
|
|
453
|
-
await session.send("主人~女仆已经发送消息啦~如果主人没收到,可能是机器人不支持发送私聊消息,或者主人填写的信息有误哦
|
|
452
|
+
await this.sendPrivateMsg("主人~女仆向您问好啦!Ciallo~(∠・ω< )⌒★乖乖打招呼呀");
|
|
453
|
+
await session.send("主人~女仆已经发送消息啦~如果主人没收到,可能是机器人不支持发送私聊消息,或者主人填写的信息有误哦");
|
|
454
454
|
});
|
|
455
455
|
biliCom.subcommand(".ll").usage("展示当前正在直播的订阅对象").example("bili ll").action(async () => {
|
|
456
456
|
const { data: { live_users } } = await ctx["bilibili-notify-api"].getTheUserWhoIsLiveStreaming();
|
|
@@ -476,11 +476,11 @@ var ComRegister = class ComRegister {
|
|
|
476
476
|
const i = index && index - 1 || 0;
|
|
477
477
|
const content = await this.ctx["bilibili-notify-api"].getUserSpaceDynamic(uid);
|
|
478
478
|
if (!content || !content.data) {
|
|
479
|
-
this.logger.error("
|
|
479
|
+
this.logger.error("主人呜呜,女仆获取动态内容失败啦~请主人帮女仆看看呀!");
|
|
480
480
|
return;
|
|
481
481
|
}
|
|
482
482
|
if (content.code !== 0) {
|
|
483
|
-
this.logger.error(
|
|
483
|
+
this.logger.error(`主人呜呜,女仆获取动态内容失败啦~请主人帮女仆看看呀!错误码: ${content.code}`);
|
|
484
484
|
return;
|
|
485
485
|
}
|
|
486
486
|
const item = content.data.items[i];
|
|
@@ -488,22 +488,22 @@ var ComRegister = class ComRegister {
|
|
|
488
488
|
return await this.ctx["bilibili-notify-generate-img"].generateDynamicImg(item);
|
|
489
489
|
}, 1).catch(async (e) => {
|
|
490
490
|
if (e.message === "直播开播动态,不做处理") {
|
|
491
|
-
await session.send("主人~女仆发现直播开播动态啦,但女仆不处理哦
|
|
491
|
+
await session.send("主人~女仆发现直播开播动态啦,但女仆不处理哦");
|
|
492
492
|
return;
|
|
493
493
|
}
|
|
494
494
|
if (e.message === "出现关键词,屏蔽该动态") {
|
|
495
|
-
await session.send("主人~女仆已经屏蔽了这条动态啦
|
|
495
|
+
await session.send("主人~女仆已经屏蔽了这条动态啦");
|
|
496
496
|
return;
|
|
497
497
|
}
|
|
498
498
|
if (e.message === "已屏蔽转发动态") {
|
|
499
|
-
await session.send("主人~女仆已经屏蔽了这条转发动态啦
|
|
499
|
+
await session.send("主人~女仆已经屏蔽了这条转发动态啦");
|
|
500
500
|
return;
|
|
501
501
|
}
|
|
502
502
|
if (e.message === "已屏蔽专栏动态") {
|
|
503
|
-
await session.send("主人~女仆已经屏蔽了这条专栏动态啦
|
|
503
|
+
await session.send("主人~女仆已经屏蔽了这条专栏动态啦");
|
|
504
504
|
return;
|
|
505
505
|
}
|
|
506
|
-
this.logger.error(
|
|
506
|
+
this.logger.error(`主人呜呜,女仆在执行 dynamicDetect generateDynamicImg() 时推送卡片发送失败啦~原因:${e.message},请主人帮女仆看看呀!`);
|
|
507
507
|
});
|
|
508
508
|
buffer && await session.send(h.image(buffer, "image/jpeg"));
|
|
509
509
|
});
|
|
@@ -617,22 +617,22 @@ var ComRegister = class ComRegister {
|
|
|
617
617
|
data: await this.ctx["bilibili-notify-api"].getUserInfo("114514")
|
|
618
618
|
};
|
|
619
619
|
}).then((content) => content.data);
|
|
620
|
-
if (userInfoCode !== -352 || !userInfoData.v_voucher) return "主人~女仆发现不满足验证条件呢~所以这个命令不用执行哦
|
|
620
|
+
if (userInfoCode !== -352 || !userInfoData.v_voucher) return "主人~女仆发现不满足验证条件呢~所以这个命令不用执行哦 如果提示风控,主人可以尝试重启插件看看呀 (*>ω<)b";
|
|
621
621
|
const { data } = await ctx["bilibili-notify-api"].v_voucherCaptcha(userInfoData.v_voucher);
|
|
622
|
-
if (!data.geetest) return "
|
|
622
|
+
if (!data.geetest) return "主人呜呜,女仆发现当前风控无法通过验证解除哦~主人可能需要考虑人工申诉呢";
|
|
623
623
|
await session.send("主人~请到这个网站进行验证操作哦~乖乖跟着做,女仆也会帮主人关注进度呢 (〃>ω<〃) https://kuresaru.github.io/geetest-validator/");
|
|
624
|
-
await session.send("主人~请手动填入 gt 和 challenge,然后点击生成进行验证哦~验证完成后再点击结果,并根据提示输入对应的 validate,女仆会在一旁乖乖等主人完成呢
|
|
624
|
+
await session.send("主人~请手动填入 gt 和 challenge,然后点击生成进行验证哦~验证完成后再点击结果,并根据提示输入对应的 validate,女仆会在一旁乖乖等主人完成呢");
|
|
625
625
|
await session.send(`gt:${data.geetest.gt}`);
|
|
626
626
|
await session.send(`challenge:${data.geetest.challenge}`);
|
|
627
|
-
await session.send("主人~验证完成啦~请直接输入 validate 告诉女仆哦
|
|
627
|
+
await session.send("主人~验证完成啦~请直接输入 validate 告诉女仆哦");
|
|
628
628
|
const validate = await session.prompt();
|
|
629
629
|
const seccode = `${validate}|jordan`;
|
|
630
630
|
const { data: validateCaptchaData } = await ctx["bilibili-notify-api"].validateCaptcha(data.geetest.challenge, data.token, validate, seccode);
|
|
631
|
-
if (validateCaptchaData?.is_valid !== 1) return "
|
|
631
|
+
if (validateCaptchaData?.is_valid !== 1) return "主人呜呜,验证没有成功呢~请主人再试一次呀";
|
|
632
632
|
await this.ctx.sleep(10 * 1e3);
|
|
633
633
|
const { code: validCode, data: validData } = await ctx["bilibili-notify-api"].getUserInfo("114514", validateCaptchaData.grisk_id);
|
|
634
|
-
if (validCode === -352 && validData.v_voucher) return "
|
|
635
|
-
await session.send("主人~验证成功啦!请主人重启插件,女仆会乖乖继续工作哦
|
|
634
|
+
if (validCode === -352 && validData.v_voucher) return "主人呜呜,验证没有成功呢~请主人再试一次呀";
|
|
635
|
+
await session.send("主人~验证成功啦!请主人重启插件,女仆会乖乖继续工作哦");
|
|
636
636
|
});
|
|
637
637
|
biliCom.subcommand(".ai").action(async () => {
|
|
638
638
|
this.logger.info("开始生成AI直播总结");
|
|
@@ -698,17 +698,17 @@ var ComRegister = class ComRegister {
|
|
|
698
698
|
this.config = config;
|
|
699
699
|
this.registeringForEvents();
|
|
700
700
|
this.privateBot = this.ctx.bots.find((bot) => bot.platform === config.master.platform);
|
|
701
|
-
if (!this.privateBot) this.ctx.notifier.create({ content: "
|
|
701
|
+
if (!this.privateBot) this.ctx.notifier.create({ content: "主人呜呜,您还没有配置主人账号呢~女仆没办法向您推送插件运行状态啦,请快点配置哦" });
|
|
702
702
|
this.loginDBData = (await this.ctx.database.get("loginBili", 1, ["dynamic_group_id"]))[0];
|
|
703
703
|
await this.checkIfLoginInfoIsLoaded();
|
|
704
704
|
if (!await this.checkIfIsLogin()) {
|
|
705
|
-
this.logger.info("主人…呜呜 (;>_<) 女仆发现账号还没登录呢,请主人快点登录好让女仆继续工作呀
|
|
705
|
+
this.logger.info("主人…呜呜 (;>_<) 女仆发现账号还没登录呢,请主人快点登录好让女仆继续工作呀");
|
|
706
706
|
return;
|
|
707
707
|
}
|
|
708
708
|
const personalInfo = await this.ctx["bilibili-notify-api"].getMyselfInfo();
|
|
709
709
|
if (personalInfo.code !== 0) this.ctx.emit("bilibili-notify/login-status-report", {
|
|
710
710
|
status: BiliLoginStatus.LOGGED_IN,
|
|
711
|
-
msg: "主人…呜呜 (;>_<) 虽然账号已登录,但女仆获取个人信息失败啦,请主人检查一下呀
|
|
711
|
+
msg: "主人…呜呜 (;>_<) 虽然账号已登录,但女仆获取个人信息失败啦,请主人检查一下呀"
|
|
712
712
|
});
|
|
713
713
|
const myCardInfo = await this.ctx["bilibili-notify-api"].getUserCardInfo(personalInfo.data.mid.toString(), true);
|
|
714
714
|
this.ctx.emit("bilibili-notify/login-status-report", {
|
|
@@ -789,22 +789,22 @@ var ComRegister = class ComRegister {
|
|
|
789
789
|
wordcloudArr
|
|
790
790
|
});
|
|
791
791
|
}
|
|
792
|
-
this.logger.info("主人~女仆正在初始化推送群组/频道信息呢,请稍等一下哦
|
|
792
|
+
this.logger.info("主人~女仆正在初始化推送群组/频道信息呢,请稍等一下哦");
|
|
793
793
|
this.logger.info(this.pushArrMap);
|
|
794
794
|
}
|
|
795
795
|
registeringForEvents() {
|
|
796
796
|
this.ctx.console.addListener("bilibili-notify/start-login", async () => {
|
|
797
|
-
this.logger.info("主人~女仆正在触发登录事件呢,请稍等一下哦
|
|
797
|
+
this.logger.info("主人~女仆正在触发登录事件呢,请稍等一下哦");
|
|
798
798
|
let content;
|
|
799
799
|
try {
|
|
800
800
|
content = await this.ctx["bilibili-notify-api"].getLoginQRCode();
|
|
801
801
|
} catch (_) {
|
|
802
|
-
this.logger.error("
|
|
802
|
+
this.logger.error("主人呜呜,女仆在请求 bili login getLoginQRCode() 的时候网络失败啦,请检查网络后再试呀");
|
|
803
803
|
return;
|
|
804
804
|
}
|
|
805
805
|
if (content.code !== 0) return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
806
806
|
status: BiliLoginStatus.LOGIN_FAILED,
|
|
807
|
-
msg: `主人…呜呜 (;>_<)
|
|
807
|
+
msg: `主人…呜呜 (;>_<) 女仆获取二维码失败啦,请主人再试一次哦`
|
|
808
808
|
});
|
|
809
809
|
QRCode.toBuffer(content.data.url, {
|
|
810
810
|
errorCorrectionLevel: "H",
|
|
@@ -816,10 +816,10 @@ var ComRegister = class ComRegister {
|
|
|
816
816
|
}
|
|
817
817
|
}, async (err, buffer) => {
|
|
818
818
|
if (err) {
|
|
819
|
-
this.logger.error(
|
|
819
|
+
this.logger.error(`主人呜呜,女仆生成二维码失败啦~错误信息:${err},请主人帮女仆看看问题呀`);
|
|
820
820
|
return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
821
821
|
status: BiliLoginStatus.LOGIN_FAILED,
|
|
822
|
-
msg: "
|
|
822
|
+
msg: "主人呜呜,女仆生成二维码失败啦~"
|
|
823
823
|
});
|
|
824
824
|
}
|
|
825
825
|
const url = `data:image/png;base64,${Buffer.from(buffer).toString("base64")}`;
|
|
@@ -839,22 +839,22 @@ var ComRegister = class ComRegister {
|
|
|
839
839
|
try {
|
|
840
840
|
loginContent = await this.ctx["bilibili-notify-api"].getLoginStatus(content.data.qrcode_key);
|
|
841
841
|
} catch (e) {
|
|
842
|
-
this.logger.error(`主人…呜呜 (;>_<) 女仆获取登录信息失败啦~错误信息:${e}
|
|
842
|
+
this.logger.error(`主人…呜呜 (;>_<) 女仆获取登录信息失败啦~错误信息:${e},请主人帮女仆检查一下呀`);
|
|
843
843
|
return;
|
|
844
844
|
}
|
|
845
845
|
if (loginContent.data.code === 86101) return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
846
846
|
status: BiliLoginStatus.LOGGING_QR,
|
|
847
|
-
msg: "主人~呜呜 (;>_<) 女仆发现您还没有扫码呢,请主人快点扫码呀
|
|
847
|
+
msg: "主人~呜呜 (;>_<) 女仆发现您还没有扫码呢,请主人快点扫码呀"
|
|
848
848
|
});
|
|
849
849
|
if (loginContent.data.code === 86090) return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
850
850
|
status: BiliLoginStatus.LOGGING_QR,
|
|
851
|
-
msg: "主人~呜呜 (;>_<) 女仆看到二维码已经扫码了,但还没有确认呢,请主人快点确认呀
|
|
851
|
+
msg: "主人~呜呜 (;>_<) 女仆看到二维码已经扫码了,但还没有确认呢,请主人快点确认呀"
|
|
852
852
|
});
|
|
853
853
|
if (loginContent.data.code === 86038) {
|
|
854
854
|
this.loginTimer();
|
|
855
855
|
return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
856
856
|
status: BiliLoginStatus.LOGIN_FAILED,
|
|
857
|
-
msg: "
|
|
857
|
+
msg: "主人呜呜,女仆发现二维码已经失效啦,请主人重新登录好让女仆继续工作呀"
|
|
858
858
|
});
|
|
859
859
|
}
|
|
860
860
|
if (loginContent.data.code === 0) {
|
|
@@ -872,7 +872,7 @@ var ComRegister = class ComRegister {
|
|
|
872
872
|
this.ctx["bilibili-notify-api"].disposeNotifier();
|
|
873
873
|
this.ctx.emit("bilibili-notify/login-status-report", {
|
|
874
874
|
status: BiliLoginStatus.LOGIN_SUCCESS,
|
|
875
|
-
msg: "主人~女仆看到您已登录啦,请点击按钮重启插件哦~女仆也会在5秒后自动帮您重启的
|
|
875
|
+
msg: "主人~女仆看到您已登录啦,请点击按钮重启插件哦~女仆也会在5秒后自动帮您重启的"
|
|
876
876
|
});
|
|
877
877
|
await this.ctx["bilibili-notify"].restartPlugin();
|
|
878
878
|
}
|
|
@@ -880,7 +880,7 @@ var ComRegister = class ComRegister {
|
|
|
880
880
|
this.loginTimer();
|
|
881
881
|
return this.ctx.emit("bilibili-notify/login-status-report", {
|
|
882
882
|
status: BiliLoginStatus.LOGIN_FAILED,
|
|
883
|
-
msg: "
|
|
883
|
+
msg: "主人呜呜,女仆登录失败啦,请主人再试一次,好让女仆继续工作呀"
|
|
884
884
|
});
|
|
885
885
|
}
|
|
886
886
|
} finally {
|
|
@@ -922,23 +922,23 @@ var ComRegister = class ComRegister {
|
|
|
922
922
|
}
|
|
923
923
|
async initAsyncPart(subs) {
|
|
924
924
|
this.ctx["bilibili-notify-live"].clearListeners();
|
|
925
|
-
this.logger.info("主人~女仆已经获取到订阅信息啦,正在乖乖开始加载订阅中哦
|
|
925
|
+
this.logger.info("主人~女仆已经获取到订阅信息啦,正在乖乖开始加载订阅中哦");
|
|
926
926
|
const groupInfoResult = await this.getGroupInfo();
|
|
927
927
|
if (groupInfoResult.code !== 0) {
|
|
928
|
-
this.logger.error("
|
|
928
|
+
this.logger.error("主人呜呜,女仆获取分组信息失败啦,插件初始化失败…请主人帮女仆看看问题呀");
|
|
929
929
|
return;
|
|
930
930
|
}
|
|
931
931
|
this.groupInfo = groupInfoResult.data;
|
|
932
932
|
const { code, message } = await this.loadSubFromConfig(subs);
|
|
933
933
|
if (code !== 0) {
|
|
934
|
-
this.logger.error(
|
|
935
|
-
await this.sendPrivateMsg("
|
|
934
|
+
this.logger.error(`主人呜呜,女仆加载订阅对象失败啦,插件初始化失败~错误信息:${message},请主人帮女仆看看呀!`);
|
|
935
|
+
await this.sendPrivateMsg("主人呜呜,女仆加载订阅对象失败啦,插件初始化失败~");
|
|
936
936
|
return;
|
|
937
937
|
}
|
|
938
938
|
this.initManagerAfterLoadSub();
|
|
939
939
|
this.checkIfDynamicDetectIsNeeded();
|
|
940
940
|
this.updateSubNotifier();
|
|
941
|
-
this.logger.info("主人~女仆插件初始化完毕啦!乖乖准备好为您服务哦
|
|
941
|
+
this.logger.info("主人~女仆插件初始化完毕啦!乖乖准备好为您服务哦");
|
|
942
942
|
}
|
|
943
943
|
mergeStopWords(stopWordsStr) {
|
|
944
944
|
if (!stopWordsStr || stopWordsStr.trim() === "") {
|
|
@@ -1011,7 +1011,7 @@ var ComRegister = class ComRegister {
|
|
|
1011
1011
|
async sendPrivateMsg(content) {
|
|
1012
1012
|
if (this.config.master.enable) {
|
|
1013
1013
|
if (this.privateBot?.status !== Universal.Status.ONLINE) {
|
|
1014
|
-
this.logger.error(`主人~呜呜 (;>_<) 女仆发现 ${this.privateBot.platform}
|
|
1014
|
+
this.logger.error(`主人~呜呜 (;>_<) 女仆发现 ${this.privateBot.platform} 机器人还没初始化完毕呢,暂时不能进行推送~女仆会乖乖等它准备好`);
|
|
1015
1015
|
return;
|
|
1016
1016
|
}
|
|
1017
1017
|
if (this.config.master.masterAccountGuildId) await this.privateBot.sendPrivateMessage(this.config.master.masterAccount, content, this.config.master.masterAccountGuildId);
|
|
@@ -1020,23 +1020,23 @@ var ComRegister = class ComRegister {
|
|
|
1020
1020
|
}
|
|
1021
1021
|
async sendPrivateMsgAndRebootService() {
|
|
1022
1022
|
if (this.rebootCount >= 3) {
|
|
1023
|
-
this.logger.error("
|
|
1024
|
-
await this.sendPrivateMsg("
|
|
1023
|
+
this.logger.error("主人呜呜,女仆已经重启插件三次啦,请主人检查一下机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1024
|
+
await this.sendPrivateMsg("主人呜呜,女仆已经重启插件三次啦,请主人检查一下机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1025
1025
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1026
1026
|
return;
|
|
1027
1027
|
}
|
|
1028
1028
|
this.rebootCount++;
|
|
1029
|
-
this.logger.info("
|
|
1030
|
-
if (await this.ctx["bilibili-notify"].restartPlugin()) this.logger.info("主人~女仆成功重启插件啦!乖乖准备继续为您服务哦
|
|
1029
|
+
this.logger.info("主人呜呜,女仆发现插件出现未知错误啦,正在乖乖重启插件中~请主人稍等哦");
|
|
1030
|
+
if (await this.ctx["bilibili-notify"].restartPlugin()) this.logger.info("主人~女仆成功重启插件啦!乖乖准备继续为您服务哦");
|
|
1031
1031
|
else {
|
|
1032
|
-
this.logger.error("
|
|
1033
|
-
await this.sendPrivateMsg("
|
|
1032
|
+
this.logger.error("主人呜呜,女仆重启插件失败啦,请主人检查机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1033
|
+
await this.sendPrivateMsg("主人呜呜,女仆重启插件失败啦,请主人检查机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1034
1034
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1035
1035
|
}
|
|
1036
1036
|
}
|
|
1037
1037
|
async sendPrivateMsgAndStopService() {
|
|
1038
|
-
await this.sendPrivateMsg("
|
|
1039
|
-
this.logger.error("
|
|
1038
|
+
await this.sendPrivateMsg("主人呜呜,女仆发现插件发生未知错误啦,请主人检查机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1039
|
+
this.logger.error("主人呜呜,女仆发现插件发生未知错误啦,请主人检查机器人状态,然后输入指令 `bn start` 来启动插件哦");
|
|
1040
1040
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1041
1041
|
}
|
|
1042
1042
|
async sendMessageWithRetry(bot, channelId, content) {
|
|
@@ -1047,8 +1047,8 @@ var ComRegister = class ComRegister {
|
|
|
1047
1047
|
}, 2e3);
|
|
1048
1048
|
return;
|
|
1049
1049
|
}
|
|
1050
|
-
this.logger.error(
|
|
1051
|
-
await this.sendPrivateMsg(
|
|
1050
|
+
this.logger.error(`主人呜呜,女仆发送群组ID: ${channelId} 的消息失败啦~原因:${e.message},请主人帮女仆看看呀!`);
|
|
1051
|
+
await this.sendPrivateMsg(`主人呜呜,女仆发送群组ID: ${channelId} 的消息失败啦~请主人帮女仆看看呀!`);
|
|
1052
1052
|
});
|
|
1053
1053
|
}
|
|
1054
1054
|
async pushMessage(targets, content) {
|
|
@@ -1064,16 +1064,16 @@ var ComRegister = class ComRegister {
|
|
|
1064
1064
|
let num = 0;
|
|
1065
1065
|
const sendMessageByBot = async (channelId, botIndex = 0, retry = 3e3) => {
|
|
1066
1066
|
if (!bots[botIndex]) {
|
|
1067
|
-
this.logger.warn(
|
|
1067
|
+
this.logger.warn(`主人呜呜,女仆发现 ${platform} 没有配置对应机器人呢,暂时无法进行推送哦`);
|
|
1068
1068
|
return;
|
|
1069
1069
|
}
|
|
1070
1070
|
if (bots[botIndex].status !== Universal.Status.ONLINE) {
|
|
1071
1071
|
if (retry >= 3e3 * 2 ** 5) {
|
|
1072
|
-
this.logger.error(
|
|
1073
|
-
await this.sendPrivateMsg(
|
|
1072
|
+
this.logger.error(`主人呜呜,女仆发现 ${platform} 机器人还没初始化完毕呢~已经重试5次啦,暂时放弃推送了`);
|
|
1073
|
+
await this.sendPrivateMsg(`主人呜呜,女仆发现 ${platform} 机器人还没初始化完毕呢~已经重试5次啦,暂时放弃推送了`);
|
|
1074
1074
|
return;
|
|
1075
1075
|
}
|
|
1076
|
-
this.logger.error(`主人~女仆发现 ${platform} 机器人还没初始化完毕呢,暂时无法推送~${retry / 1e3}
|
|
1076
|
+
this.logger.error(`主人~女仆发现 ${platform} 机器人还没初始化完毕呢,暂时无法推送~${retry / 1e3} 秒后女仆会再试一次哦`);
|
|
1077
1077
|
await this.ctx.sleep(retry);
|
|
1078
1078
|
await sendMessageByBot(channelId, botIndex, retry * 2);
|
|
1079
1079
|
return;
|
|
@@ -1083,7 +1083,7 @@ var ComRegister = class ComRegister {
|
|
|
1083
1083
|
num++;
|
|
1084
1084
|
await this.ctx.sleep(500);
|
|
1085
1085
|
} catch (e) {
|
|
1086
|
-
this.logger.error(
|
|
1086
|
+
this.logger.error(`主人呜呜,女仆遇到错误啦~错误信息:${e},请主人帮女仆看看呀!`);
|
|
1087
1087
|
if (bots.length > 1) await sendMessageByBot(channelId, botIndex++);
|
|
1088
1088
|
}
|
|
1089
1089
|
};
|
|
@@ -1095,34 +1095,34 @@ var ComRegister = class ComRegister {
|
|
|
1095
1095
|
const record = this.pushArrMap.get(uid);
|
|
1096
1096
|
if (!record) return;
|
|
1097
1097
|
if (!(type === PushType.StartBroadcasting && record.liveAtAllArr?.length > 0 || type === PushType.Dynamic && (record.dynamicArr?.length > 0 || record.dynamicAtAllArr?.length > 0) || (type === PushType.Live || type === PushType.StartBroadcasting) && record.liveArr?.length > 0 || type === PushType.LiveGuardBuy && record.liveGuardBuyArr?.length > 0 || type === PushType.Superchat && record.superchatArr?.length > 0 || type === PushType.WordCloudAndLiveSummary && (record.wordcloudArr?.length > 0 || record.liveSummaryArr?.length > 0))) return;
|
|
1098
|
-
this.logger.info(`主人~女仆这次要推送的对象是 ${uid},推送类型是 ${PushTypeMsg[type]}
|
|
1098
|
+
this.logger.info(`主人~女仆这次要推送的对象是 ${uid},推送类型是 ${PushTypeMsg[type]} 哦~乖乖完成任务啦`);
|
|
1099
1099
|
if (type === PushType.StartBroadcasting && record.liveAtAllArr?.length > 0) {
|
|
1100
|
-
this.logger.info(`主人~女仆推送给 @全体 的消息啦~对象列表:${record.liveAtAllArr}
|
|
1100
|
+
this.logger.info(`主人~女仆推送给 @全体 的消息啦~对象列表:${record.liveAtAllArr} 哦`);
|
|
1101
1101
|
const atAllArr = structuredClone(record.liveAtAllArr);
|
|
1102
1102
|
await withRetry(() => this.pushMessage(atAllArr, h.at("all")), 1);
|
|
1103
1103
|
}
|
|
1104
1104
|
if (type === PushType.Dynamic && record.dynamicArr?.length > 0) {
|
|
1105
1105
|
if (record.dynamicAtAllArr?.length > 0) {
|
|
1106
|
-
this.logger.info(`主人~女仆推送动态给 @全体 哦~对象列表:${record.dynamicAtAllArr}
|
|
1106
|
+
this.logger.info(`主人~女仆推送动态给 @全体 哦~对象列表:${record.dynamicAtAllArr}`);
|
|
1107
1107
|
const dynamicAtAllArr = structuredClone(record.dynamicAtAllArr);
|
|
1108
1108
|
await withRetry(() => this.pushMessage(dynamicAtAllArr, h.at("all")), 1);
|
|
1109
1109
|
}
|
|
1110
|
-
this.logger.info(`主人~女仆正在推送动态啦~对象列表:${record.dynamicArr}
|
|
1110
|
+
this.logger.info(`主人~女仆正在推送动态啦~对象列表:${record.dynamicArr}`);
|
|
1111
1111
|
const dynamicArr = structuredClone(record.dynamicArr);
|
|
1112
1112
|
await withRetry(() => this.pushMessage(dynamicArr, h("message", content)), 1);
|
|
1113
1113
|
}
|
|
1114
1114
|
if ((type === PushType.Live || type === PushType.StartBroadcasting) && record.liveArr?.length > 0) {
|
|
1115
|
-
this.logger.info(`主人~女仆正在推送直播啦~对象列表:${record.liveArr}
|
|
1115
|
+
this.logger.info(`主人~女仆正在推送直播啦~对象列表:${record.liveArr}`);
|
|
1116
1116
|
const liveArr = structuredClone(record.liveArr);
|
|
1117
1117
|
await withRetry(() => this.pushMessage(liveArr, h("message", content)), 1);
|
|
1118
1118
|
}
|
|
1119
1119
|
if (type === PushType.LiveGuardBuy && record.liveGuardBuyArr?.length > 0) {
|
|
1120
|
-
this.logger.info(`主人~女仆正在推送直播守护购买消息啦~对象列表:${record.liveGuardBuyArr}
|
|
1120
|
+
this.logger.info(`主人~女仆正在推送直播守护购买消息啦~对象列表:${record.liveGuardBuyArr}`);
|
|
1121
1121
|
const liveGuardBuyArr = structuredClone(record.liveGuardBuyArr);
|
|
1122
1122
|
await withRetry(() => this.pushMessage(liveGuardBuyArr, h("message", content)), 1);
|
|
1123
1123
|
}
|
|
1124
1124
|
if (type === PushType.Superchat && record.superchatArr?.length > 0) {
|
|
1125
|
-
this.logger.info(`主人~女仆正在推送 SC 消息啦~对象列表:${record.superchatArr}
|
|
1125
|
+
this.logger.info(`主人~女仆正在推送 SC 消息啦~对象列表:${record.superchatArr}`);
|
|
1126
1126
|
const superchatArr = structuredClone(record.superchatArr);
|
|
1127
1127
|
await withRetry(() => this.pushMessage(superchatArr, h("message", content)), 1);
|
|
1128
1128
|
}
|
|
@@ -1133,16 +1133,16 @@ var ComRegister = class ComRegister {
|
|
|
1133
1133
|
const wordcloudOnlyArr = wordcloudArr.filter((item) => !liveSummaryArr.includes(item));
|
|
1134
1134
|
const liveSummaryOnlyArr = liveSummaryArr.filter((item) => !wordcloudArr.includes(item));
|
|
1135
1135
|
if (wordcloudAndLiveSummaryArr.length > 0) {
|
|
1136
|
-
this.logger.info(`主人~女仆正在推送词云和直播总结啦~对象列表:${wordcloudAndLiveSummaryArr}
|
|
1136
|
+
this.logger.info(`主人~女仆正在推送词云和直播总结啦~对象列表:${wordcloudAndLiveSummaryArr}`);
|
|
1137
1137
|
const msgs = content.filter(Boolean);
|
|
1138
1138
|
if (msgs.length > 0) await withRetry(() => this.pushMessage(wordcloudAndLiveSummaryArr, h("message", msgs)), 1);
|
|
1139
1139
|
}
|
|
1140
1140
|
if (content[0] && wordcloudOnlyArr.length > 0) {
|
|
1141
|
-
this.logger.info(`主人~女仆正在推送词云啦~对象列表:${wordcloudOnlyArr}
|
|
1141
|
+
this.logger.info(`主人~女仆正在推送词云啦~对象列表:${wordcloudOnlyArr}`);
|
|
1142
1142
|
await withRetry(() => this.pushMessage(wordcloudOnlyArr, h("message", content[0])), 1);
|
|
1143
1143
|
}
|
|
1144
1144
|
if (content[1] && liveSummaryOnlyArr.length > 0) {
|
|
1145
|
-
this.logger.info(`主人~女仆正在推送直播总结啦~对象列表:${liveSummaryOnlyArr}
|
|
1145
|
+
this.logger.info(`主人~女仆正在推送直播总结啦~对象列表:${liveSummaryOnlyArr}`);
|
|
1146
1146
|
await withRetry(() => this.pushMessage(liveSummaryOnlyArr, h("message", content[1])), 1);
|
|
1147
1147
|
}
|
|
1148
1148
|
}
|
|
@@ -1153,26 +1153,26 @@ var ComRegister = class ComRegister {
|
|
|
1153
1153
|
const content = await withRetry(async () => {
|
|
1154
1154
|
return await this.ctx["bilibili-notify-api"].getAllDynamic();
|
|
1155
1155
|
}, 1).catch((e) => {
|
|
1156
|
-
this.logger.error(
|
|
1156
|
+
this.logger.error(`主人呜呜,女仆在执行 dynamicDetect getAllDynamic() 时发生了错误~错误信息:${e.message},请主人帮女仆看看呀!`);
|
|
1157
1157
|
});
|
|
1158
1158
|
if (!content || !content.data) {
|
|
1159
|
-
this.logger.error("
|
|
1159
|
+
this.logger.error("主人呜呜,女仆在执行 dynamicDetect 时获取动态内容失败啦~请主人帮女仆看看呀!");
|
|
1160
1160
|
return;
|
|
1161
1161
|
}
|
|
1162
1162
|
if (content.code !== 0) switch (content.code) {
|
|
1163
1163
|
case -101:
|
|
1164
|
-
this.logger.error("主人…呜呜,女仆发现您还没登录账号呢 (;>_<)插件已经乖乖停止工作啦…请主人快点登录,让女仆可以继续努力为您服务~
|
|
1165
|
-
await this.sendPrivateMsg("主人…呜呜,女仆发现您还没登录账号呢 (;>_<)插件已经乖乖停止工作啦…请主人快点登录,让女仆可以继续努力为您服务~
|
|
1164
|
+
this.logger.error("主人…呜呜,女仆发现您还没登录账号呢 (;>_<)插件已经乖乖停止工作啦…请主人快点登录,让女仆可以继续努力为您服务~");
|
|
1165
|
+
await this.sendPrivateMsg("主人…呜呜,女仆发现您还没登录账号呢 (;>_<)插件已经乖乖停止工作啦…请主人快点登录,让女仆可以继续努力为您服务~");
|
|
1166
1166
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1167
1167
|
break;
|
|
1168
1168
|
case -352:
|
|
1169
|
-
this.logger.error("主人…呜呜 (;>_<) 女仆发现账号被风控啦~插件已经乖乖停止工作了…请主人输入指令 bili cap,然后按照提示来解除风控吧~女仆会在旁边乖乖等您完成的
|
|
1170
|
-
await this.sendPrivateMsg("主人…呜呜 (;>_<) 女仆发现账号被风控啦~插件已经乖乖停止工作了…请主人输入指令 bili cap,然后按照提示来解除风控吧~女仆会在旁边乖乖等您完成的
|
|
1169
|
+
this.logger.error("主人…呜呜 (;>_<) 女仆发现账号被风控啦~插件已经乖乖停止工作了…请主人输入指令 bili cap,然后按照提示来解除风控吧~女仆会在旁边乖乖等您完成的");
|
|
1170
|
+
await this.sendPrivateMsg("主人…呜呜 (;>_<) 女仆发现账号被风控啦~插件已经乖乖停止工作了…请主人输入指令 bili cap,然后按照提示来解除风控吧~女仆会在旁边乖乖等您完成的");
|
|
1171
1171
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1172
1172
|
break;
|
|
1173
1173
|
default:
|
|
1174
|
-
this.logger.error(`主人…呜呜 (;>_<) 女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\`
|
|
1175
|
-
await this.sendPrivateMsg(`主人…呜呜 (;>_<) 女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\`
|
|
1174
|
+
this.logger.error(`主人…呜呜 (;>_<) 女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\` 重启插件~女仆会乖乖等着的`);
|
|
1175
|
+
await this.sendPrivateMsg(`主人…呜呜 (;>_<) 女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\` 重启插件~女仆会乖乖等着的`);
|
|
1176
1176
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1177
1177
|
break;
|
|
1178
1178
|
}
|
|
@@ -1201,7 +1201,7 @@ var ComRegister = class ComRegister {
|
|
|
1201
1201
|
if (this.config.filter.notify) await this.broadcastToTargets(uid, h("message", `${name$2}投稿了一条专栏,已屏蔽`), PushType.Dynamic);
|
|
1202
1202
|
return;
|
|
1203
1203
|
}
|
|
1204
|
-
this.logger.error(
|
|
1204
|
+
this.logger.error(`主人呜呜,女仆在执行 dynamicDetect generateDynamicImg() 时推送卡片发送失败啦~原因:${e.message},请主人帮女仆看看呀!`);
|
|
1205
1205
|
await this.sendPrivateMsgAndStopService();
|
|
1206
1206
|
});
|
|
1207
1207
|
if (!buffer) continue;
|
|
@@ -1213,7 +1213,7 @@ var ComRegister = class ComRegister {
|
|
|
1213
1213
|
else dUrl = `${name$2}发布了一条动态:https://t.bilibili.com/${item.id_str}`;
|
|
1214
1214
|
let aigc = "";
|
|
1215
1215
|
if (this.config.ai.enable) {
|
|
1216
|
-
this.logger.info("主人~女仆正在努力生成 AI 动态推送内容中呢…请稍等一下呀
|
|
1216
|
+
this.logger.info("主人~女仆正在努力生成 AI 动态推送内容中呢…请稍等一下呀");
|
|
1217
1217
|
if (item.type === "DYNAMIC_TYPE_AV") {
|
|
1218
1218
|
const title = item.modules.module_dynamic.major.archive.title;
|
|
1219
1219
|
const desc = item.modules.module_dynamic.major.archive.desc;
|
|
@@ -1224,9 +1224,9 @@ var ComRegister = class ComRegister {
|
|
|
1224
1224
|
const desc = item.modules.module_dynamic.major.opus.summary.text;
|
|
1225
1225
|
aigc = (await this.ctx["bilibili-notify-api"].chatWithAI(`请你根据以下图文动态的标题和内容,帮我写一份简短的动态播报,标题:${title},内容:${desc}`)).choices[0].message.content;
|
|
1226
1226
|
}
|
|
1227
|
-
this.logger.info(`主人~女仆的 AI
|
|
1227
|
+
this.logger.info(`主人~女仆的 AI 动态推送内容生成完毕啦!乖乖准备好发送给大家哦`);
|
|
1228
1228
|
}
|
|
1229
|
-
this.logger.info(
|
|
1229
|
+
this.logger.info(`主人~女仆正在推送动态中呢…请稍等哦`);
|
|
1230
1230
|
await this.broadcastToTargets(uid, h("message", [
|
|
1231
1231
|
h.image(buffer, "image/jpeg"),
|
|
1232
1232
|
h.text(aigc),
|
|
@@ -1256,38 +1256,38 @@ var ComRegister = class ComRegister {
|
|
|
1256
1256
|
debug_dynamicDetect() {
|
|
1257
1257
|
const handler = async () => {
|
|
1258
1258
|
const currentPushDyn = {};
|
|
1259
|
-
this.logger.info(
|
|
1259
|
+
this.logger.info(`主人~女仆正在开始获取动态信息呢…请稍等一下呀`);
|
|
1260
1260
|
const content = await withRetry(async () => {
|
|
1261
1261
|
return await this.ctx["bilibili-notify-api"].getAllDynamic();
|
|
1262
1262
|
}, 1).catch((e) => {
|
|
1263
|
-
this.logger.error(
|
|
1263
|
+
this.logger.error(`主人呜呜,女仆在执行 dynamicDetect getAllDynamic() 时遇到错误啦~错误信息:${e.message},请主人帮女仆看看呀!`);
|
|
1264
1264
|
});
|
|
1265
1265
|
if (!content) return;
|
|
1266
1266
|
if (content.code !== 0) switch (content.code) {
|
|
1267
1267
|
case -101:
|
|
1268
|
-
this.logger.error(
|
|
1269
|
-
await this.sendPrivateMsg(
|
|
1268
|
+
this.logger.error(`主人呜呜,女仆发现账号还没登录呢,插件已经停止工作啦~请主人快点登录好让女仆继续努力呀`);
|
|
1269
|
+
await this.sendPrivateMsg(`主人呜呜,女仆发现账号还没登录呢,插件已经停止工作啦~请主人快点登录好让女仆继续努力呀`);
|
|
1270
1270
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1271
1271
|
break;
|
|
1272
1272
|
case -352:
|
|
1273
|
-
this.logger.error("
|
|
1274
|
-
await this.sendPrivateMsg("
|
|
1273
|
+
this.logger.error("主人呜呜,女仆发现账号被风控啦,插件已经停止工作~请主人输入指令 `bili cap` 并根据提示解除风控呀~女仆会乖乖等您完成的");
|
|
1274
|
+
await this.sendPrivateMsg("主人呜呜,女仆发现账号被风控啦,插件已经停止工作~请主人输入指令 `bili cap` 并根据提示解除风控呀~女仆会乖乖等您完成的");
|
|
1275
1275
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1276
1276
|
break;
|
|
1277
1277
|
default:
|
|
1278
|
-
this.logger.error(
|
|
1279
|
-
await this.sendPrivateMsg(
|
|
1278
|
+
this.logger.error(`主人呜呜,女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\` 重启插件呀~女仆会乖乖等着的`);
|
|
1279
|
+
await this.sendPrivateMsg(`主人呜呜,女仆在获取动态信息时遇到问题啦~错误码:${content.code},错误信息:${content.message},请主人排除问题后输入指令 \`bn start\` 重启插件呀~女仆会乖乖等着的`);
|
|
1280
1280
|
await this.ctx["bilibili-notify"].disposePlugin();
|
|
1281
1281
|
break;
|
|
1282
1282
|
}
|
|
1283
|
-
this.logger.info("主人~女仆成功获取动态信息啦!正在乖乖开始处理动态信息呢
|
|
1283
|
+
this.logger.info("主人~女仆成功获取动态信息啦!正在乖乖开始处理动态信息呢");
|
|
1284
1284
|
const items = content.data.items;
|
|
1285
1285
|
for (const item of items) {
|
|
1286
1286
|
if (!item) continue;
|
|
1287
1287
|
const postTime = item.modules.module_author.pub_ts;
|
|
1288
1288
|
const uid = item.modules.module_author.mid.toString();
|
|
1289
1289
|
const name$2 = item.modules.module_author.name;
|
|
1290
|
-
this.logger.info(`主人主人~女仆已经成功拿到动态信息啦!UP主是:${name$2},UID:${uid},动态发布时间是:${DateTime.fromSeconds(postTime).toFormat("yyyy-MM-dd HH:mm:ss")}
|
|
1290
|
+
this.logger.info(`主人主人~女仆已经成功拿到动态信息啦!UP主是:${name$2},UID:${uid},动态发布时间是:${DateTime.fromSeconds(postTime).toFormat("yyyy-MM-dd HH:mm:ss")} 哦~女仆超乖地汇报给您呢`);
|
|
1291
1291
|
if (this.dynamicTimelineManager.has(uid)) {
|
|
1292
1292
|
this.logger.info("主人订阅订阅了这位UP主啦…女仆正在努力检查动态时间线呢 (>▽<)ゞ♡");
|
|
1293
1293
|
const timeline = this.dynamicTimelineManager.get(uid);
|
|
@@ -1312,25 +1312,25 @@ var ComRegister = class ComRegister {
|
|
|
1312
1312
|
if (this.config.filter.notify) await this.broadcastToTargets(uid, h("message", `${name$2}投稿了一条专栏,已屏蔽`), PushType.Dynamic);
|
|
1313
1313
|
return;
|
|
1314
1314
|
}
|
|
1315
|
-
this.logger.error(
|
|
1315
|
+
this.logger.error(`主人呜呜,女仆在执行 dynamicDetect generateDynamicImg() 时推送卡片发送失败啦~原因:${e.message},请主人帮女仆看看呀!`);
|
|
1316
1316
|
await this.sendPrivateMsgAndStopService();
|
|
1317
1317
|
});
|
|
1318
1318
|
if (!buffer) continue;
|
|
1319
|
-
this.logger.info("主人~女仆渲染推送卡片成功啦!乖乖准备好发送啦
|
|
1319
|
+
this.logger.info("主人~女仆渲染推送卡片成功啦!乖乖准备好发送啦");
|
|
1320
1320
|
let dUrl = "";
|
|
1321
1321
|
if (this.config.dynamicUrl) {
|
|
1322
|
-
this.logger.info("主人~女仆发现需要发送动态链接啦,正在努力生成链接中呢
|
|
1322
|
+
this.logger.info("主人~女仆发现需要发送动态链接啦,正在努力生成链接中呢");
|
|
1323
1323
|
if (item.type === "DYNAMIC_TYPE_AV") if (this.config.dynamicVideoUrlToBV) {
|
|
1324
1324
|
const bv = item.modules.module_dynamic.major.archive.jump_url.match(/BV[0-9A-Za-z]+/);
|
|
1325
1325
|
dUrl = bv ? bv[0] : "";
|
|
1326
1326
|
} else dUrl = `${name$2}发布了新视频:https:${item.modules.module_dynamic.major.archive.jump_url}`;
|
|
1327
1327
|
else dUrl = `${name$2}发布了一条动态:https://t.bilibili.com/${item.id_str}`;
|
|
1328
|
-
this.logger.info("主人~女仆成功生成动态链接啦!准备好发送给大家啦
|
|
1328
|
+
this.logger.info("主人~女仆成功生成动态链接啦!准备好发送给大家啦");
|
|
1329
1329
|
}
|
|
1330
|
-
this.logger.info("主人~女仆正在推送动态中呢…请稍等哦
|
|
1330
|
+
this.logger.info("主人~女仆正在推送动态中呢…请稍等哦");
|
|
1331
1331
|
await this.broadcastToTargets(uid, h("message", [h.image(buffer, "image/jpeg"), h.text(dUrl)]), PushType.Dynamic);
|
|
1332
1332
|
if (this.config.pushImgsInDynamic) {
|
|
1333
|
-
this.logger.info("主人~女仆发现动态里有图片要发送哦,正在努力发送中呢
|
|
1333
|
+
this.logger.info("主人~女仆发现动态里有图片要发送哦,正在努力发送中呢");
|
|
1334
1334
|
if (item.type === "DYNAMIC_TYPE_DRAW") {
|
|
1335
1335
|
const pics = item.modules?.module_dynamic?.major?.opus?.pics;
|
|
1336
1336
|
if (pics) {
|
|
@@ -1338,20 +1338,20 @@ var ComRegister = class ComRegister {
|
|
|
1338
1338
|
await this.broadcastToTargets(uid, picsMsg, PushType.Dynamic);
|
|
1339
1339
|
}
|
|
1340
1340
|
}
|
|
1341
|
-
this.logger.info("主人~女仆已经把动态中的图片发送完毕啦!乖乖完成任务啦
|
|
1341
|
+
this.logger.info("主人~女仆已经把动态中的图片发送完毕啦!乖乖完成任务啦");
|
|
1342
1342
|
}
|
|
1343
1343
|
if (!currentPushDyn[uid]) currentPushDyn[uid] = item;
|
|
1344
1344
|
this.logger.info("主人~女仆的动态推送完毕啦!乖乖完成任务~(>ω<)♡");
|
|
1345
1345
|
}
|
|
1346
1346
|
}
|
|
1347
1347
|
}
|
|
1348
|
-
this.logger.info("主人~女仆已经把动态信息处理完毕啦!一切都乖乖完成啦
|
|
1348
|
+
this.logger.info("主人~女仆已经把动态信息处理完毕啦!一切都乖乖完成啦");
|
|
1349
1349
|
for (const uid in currentPushDyn) {
|
|
1350
1350
|
const postTime = currentPushDyn[uid].modules.module_author.pub_ts;
|
|
1351
1351
|
this.dynamicTimelineManager.set(uid, postTime);
|
|
1352
|
-
this.logger.info(`主人~女仆成功更新了时间线啦!UP主:${uid},时间线:${DateTime.fromSeconds(postTime).toFormat("yyyy-MM-dd HH:mm:ss")}
|
|
1352
|
+
this.logger.info(`主人~女仆成功更新了时间线啦!UP主:${uid},时间线:${DateTime.fromSeconds(postTime).toFormat("yyyy-MM-dd HH:mm:ss")} 哦~女仆超乖地汇报给您呢`);
|
|
1353
1353
|
}
|
|
1354
|
-
this.logger.info(`主人~女仆这次要推送的动态数量是:${Object.keys(currentPushDyn).length}
|
|
1354
|
+
this.logger.info(`主人~女仆这次要推送的动态数量是:${Object.keys(currentPushDyn).length} 条哦~乖乖完成任务啦`);
|
|
1355
1355
|
};
|
|
1356
1356
|
return withLock(handler);
|
|
1357
1357
|
}
|
|
@@ -1382,7 +1382,7 @@ var ComRegister = class ComRegister {
|
|
|
1382
1382
|
}
|
|
1383
1383
|
async getLiveRoomInfo(roomId) {
|
|
1384
1384
|
const data = await withRetry(async () => await this.ctx["bilibili-notify-api"].getLiveRoomInfo(roomId)).then((content) => content.data).catch((e) => {
|
|
1385
|
-
this.logger.error(
|
|
1385
|
+
this.logger.error(`主人呜呜,女仆在执行 liveDetect getLiveRoomInfo 时遇到错误啦~错误信息:${e.message},请主人帮女仆看看呀!`);
|
|
1386
1386
|
});
|
|
1387
1387
|
if (!data) {
|
|
1388
1388
|
await this.sendPrivateMsgAndStopService();
|
|
@@ -1394,7 +1394,7 @@ var ComRegister = class ComRegister {
|
|
|
1394
1394
|
const buffer = await withRetry(async () => {
|
|
1395
1395
|
return await this.ctx["bilibili-notify-generate-img"].generateLiveImg(liveInfo.liveRoomInfo, liveInfo.masterInfo.username, liveInfo.masterInfo.userface, liveData, liveType, liveInfo.cardStyle.enable ? liveInfo.cardStyle : void 0);
|
|
1396
1396
|
}, 1).catch((e) => {
|
|
1397
|
-
this.logger.error(
|
|
1397
|
+
this.logger.error(`主人呜呜,女仆在执行 liveDetect generateLiveImg() 时推送卡片生成失败啦~原因:${e.message},请主人帮女仆看看呀!`);
|
|
1398
1398
|
});
|
|
1399
1399
|
if (!buffer) return await this.sendPrivateMsgAndStopService();
|
|
1400
1400
|
const msg = h("message", [h.image(buffer, "image/jpeg"), h.text(liveNotifyMsg || "")]);
|
|
@@ -1424,32 +1424,32 @@ var ComRegister = class ComRegister {
|
|
|
1424
1424
|
const liveData = { likedNum: "0" };
|
|
1425
1425
|
const sendDanmakuWordCloudAndLiveSummary = async (customLiveSummary) => {
|
|
1426
1426
|
this.logger.info("主人~女仆正在开始制作弹幕词云呢~请稍等一下呀 (〃ノωノ)♡");
|
|
1427
|
-
this.logger.info("主人~女仆正在努力获取前90热词呢~请稍等哦
|
|
1427
|
+
this.logger.info("主人~女仆正在努力获取前90热词呢~请稍等哦");
|
|
1428
1428
|
const words = Object.entries(danmakuWeightRecord);
|
|
1429
1429
|
const danmaker = Object.entries(danmakuSenderRecord);
|
|
1430
1430
|
const img = await (async () => {
|
|
1431
1431
|
if (words.length < 50) {
|
|
1432
|
-
this.logger.info("
|
|
1432
|
+
this.logger.info("主人呜呜,女仆发现热词不足50个呢,本次弹幕词云只好放弃啦");
|
|
1433
1433
|
return;
|
|
1434
1434
|
}
|
|
1435
1435
|
const top90Words = words.sort((a, b) => b[1] - a[1]).slice(0, 90);
|
|
1436
|
-
this.logger.info("主人~女仆整理好了弹幕词云前90词及权重啦~请主人过目哦
|
|
1436
|
+
this.logger.info("主人~女仆整理好了弹幕词云前90词及权重啦~请主人过目哦");
|
|
1437
1437
|
this.logger.info(top90Words);
|
|
1438
|
-
this.logger.info("主人~女仆正在准备生成弹幕词云呢~请稍等一下呀
|
|
1438
|
+
this.logger.info("主人~女仆正在准备生成弹幕词云呢~请稍等一下呀");
|
|
1439
1439
|
const buffer = await this.ctx["bilibili-notify-generate-img"].generateWordCloudImg(top90Words, masterInfo.username);
|
|
1440
1440
|
return h.image(buffer, "image/jpeg");
|
|
1441
1441
|
})();
|
|
1442
1442
|
const summary = await (async () => {
|
|
1443
1443
|
if (danmaker.length < 5) {
|
|
1444
|
-
this.logger.info("
|
|
1444
|
+
this.logger.info("主人呜呜,女仆发现发言人数不足5位呢,本次弹幕词云只好放弃啦");
|
|
1445
1445
|
return;
|
|
1446
1446
|
}
|
|
1447
|
-
this.logger.info("主人~女仆正在开始构建弹幕发送排行榜消息呢~请稍等呀
|
|
1447
|
+
this.logger.info("主人~女仆正在开始构建弹幕发送排行榜消息呢~请稍等呀");
|
|
1448
1448
|
const danmakuSenderCount = Object.keys(danmakuSenderRecord).length;
|
|
1449
1449
|
const danmakuCount = Object.values(danmakuSenderRecord).reduce((sum, val) => sum + val, 0);
|
|
1450
1450
|
const top5DanmakuSender = Object.entries(danmakuSenderRecord).sort((a, b) => b[1] - a[1]).slice(0, 5);
|
|
1451
1451
|
if (this.config.ai.enable) {
|
|
1452
|
-
this.logger.info("主人~女仆发现 AI 直播总结功能已开启啦,正在努力生成 AI 直播总结呢
|
|
1452
|
+
this.logger.info("主人~女仆发现 AI 直播总结功能已开启啦,正在努力生成 AI 直播总结呢");
|
|
1453
1453
|
const top10Words = words.sort((a, b) => b[1] - a[1]).slice(0, 10);
|
|
1454
1454
|
const liveSummaryData = {
|
|
1455
1455
|
medalName: masterInfo.medalName,
|
|
@@ -1474,7 +1474,7 @@ var ComRegister = class ComRegister {
|
|
|
1474
1474
|
别以为发这么点弹幕就能糊弄过去,本兔可是盯着你们的!下次再偷懒小心被我踹飞!🐰🥕
|
|
1475
1475
|
|
|
1476
1476
|
以下是直播数据:${JSON.stringify(liveSummaryData)}`);
|
|
1477
|
-
this.logger.info("主人~女仆生成好了 AI 直播总结啦,请主人过目哦
|
|
1477
|
+
this.logger.info("主人~女仆生成好了 AI 直播总结啦,请主人过目哦");
|
|
1478
1478
|
this.logger.info(res.choices[0].message.content);
|
|
1479
1479
|
return res.choices[0].message.content;
|
|
1480
1480
|
}
|
|
@@ -1490,13 +1490,13 @@ var ComRegister = class ComRegister {
|
|
|
1490
1490
|
};
|
|
1491
1491
|
const pushAtTimeFunc = async () => {
|
|
1492
1492
|
if (!await useLiveRoomInfo(LiveType.LiveBroadcast) && !await useMasterInfo(LiveType.LiveBroadcast)) {
|
|
1493
|
-
await this.sendPrivateMsg("
|
|
1493
|
+
await this.sendPrivateMsg("主人呜呜,女仆获取直播间信息失败啦,推送直播卡片也失败了~请主人帮女仆看看呀!");
|
|
1494
1494
|
return await this.sendPrivateMsgAndStopService();
|
|
1495
1495
|
}
|
|
1496
1496
|
if (liveRoomInfo.live_status === 0 || liveRoomInfo.live_status === 2) {
|
|
1497
1497
|
liveStatus = false;
|
|
1498
1498
|
pushAtTimeTimer?.();
|
|
1499
|
-
await this.sendPrivateMsg("主人~女仆发现直播间已下播啦!可能与直播间的连接断开了,请主人使用指令 `bn restart` 重启插件呀
|
|
1499
|
+
await this.sendPrivateMsg("主人~女仆发现直播间已下播啦!可能与直播间的连接断开了,请主人使用指令 `bn restart` 重启插件呀");
|
|
1500
1500
|
return;
|
|
1501
1501
|
}
|
|
1502
1502
|
liveTime = liveRoomInfo.live_time;
|
|
@@ -1541,8 +1541,8 @@ var ComRegister = class ComRegister {
|
|
|
1541
1541
|
pushAtTimeTimer?.();
|
|
1542
1542
|
pushAtTimeTimer = null;
|
|
1543
1543
|
this.ctx["bilibili-notify-live"].closeListener(sub.roomid);
|
|
1544
|
-
await this.sendPrivateMsg(
|
|
1545
|
-
this.logger.error(
|
|
1544
|
+
await this.sendPrivateMsg(`主人呜呜,女仆发现 [${sub.roomid}] 直播间连接发生错误啦,请主人帮女仆看看呀!`);
|
|
1545
|
+
this.logger.error(`主人呜呜,女仆发现 [${sub.roomid}] 直播间连接发生错误啦,请主人帮女仆看看呀!`);
|
|
1546
1546
|
},
|
|
1547
1547
|
onIncomeDanmu: ({ body }) => {
|
|
1548
1548
|
this.segmentDanmaku(body.content, danmakuWeightRecord);
|
|
@@ -1595,21 +1595,21 @@ var ComRegister = class ComRegister {
|
|
|
1595
1595
|
onLiveStart: async () => {
|
|
1596
1596
|
const now = Date.now();
|
|
1597
1597
|
if (now - lastLiveStart < LIVE_EVENT_COOLDOWN) {
|
|
1598
|
-
this.logger.warn(`主人~女仆发现 [${sub.roomid}]
|
|
1598
|
+
this.logger.warn(`主人~女仆发现 [${sub.roomid}] 的开播事件在冷却期内,所以被忽略啦`);
|
|
1599
1599
|
return;
|
|
1600
1600
|
}
|
|
1601
1601
|
lastLiveStart = now;
|
|
1602
1602
|
if (liveStatus) {
|
|
1603
|
-
this.logger.warn(`主人~女仆发现 [${sub.roomid}]
|
|
1603
|
+
this.logger.warn(`主人~女仆发现 [${sub.roomid}] 已经是开播状态啦,所以忽略了重复的开播事件哦`);
|
|
1604
1604
|
return;
|
|
1605
1605
|
}
|
|
1606
1606
|
liveStatus = true;
|
|
1607
1607
|
if (!await useLiveRoomInfo(LiveType.StartBroadcasting) && !await useMasterInfo(LiveType.StartBroadcasting)) {
|
|
1608
1608
|
liveStatus = false;
|
|
1609
|
-
await this.sendPrivateMsg("
|
|
1609
|
+
await this.sendPrivateMsg("主人呜呜,女仆获取直播间信息失败啦,推送直播开播卡片也失败了,请主人帮女仆看看呀!");
|
|
1610
1610
|
return await this.sendPrivateMsgAndStopService();
|
|
1611
1611
|
}
|
|
1612
|
-
this.logger.info(`主人~女仆查到房间号是:${masterInfo.roomId},开播时的粉丝数有:${masterInfo.liveOpenFollowerNum}
|
|
1612
|
+
this.logger.info(`主人~女仆查到房间号是:${masterInfo.roomId},开播时的粉丝数有:${masterInfo.liveOpenFollowerNum} 哦~女仆乖乖汇报完毕`);
|
|
1613
1613
|
liveTime = liveRoomInfo?.live_time || DateTime.now().toFormat("yyyy-MM-dd HH:mm:ss");
|
|
1614
1614
|
const diffTime = await this.ctx["bilibili-notify-generate-img"].getTimeDifference(liveTime);
|
|
1615
1615
|
const followerNum = masterInfo.liveOpenFollowerNum >= 1e4 ? `${(masterInfo.liveOpenFollowerNum / 1e4).toFixed(1)}万` : masterInfo.liveOpenFollowerNum.toString();
|
|
@@ -1628,12 +1628,12 @@ var ComRegister = class ComRegister {
|
|
|
1628
1628
|
onLiveEnd: async () => {
|
|
1629
1629
|
const now = Date.now();
|
|
1630
1630
|
if (now - lastLiveEnd < LIVE_EVENT_COOLDOWN) {
|
|
1631
|
-
this.logger.warn(`主人~女仆发现 [${sub.roomid}]
|
|
1631
|
+
this.logger.warn(`主人~女仆发现 [${sub.roomid}] 的下播事件在冷却期内,所以被忽略啦`);
|
|
1632
1632
|
return;
|
|
1633
1633
|
}
|
|
1634
1634
|
lastLiveEnd = now;
|
|
1635
1635
|
if (!liveStatus) {
|
|
1636
|
-
this.logger.warn(`主人~女仆发现 [${sub.roomid}]
|
|
1636
|
+
this.logger.warn(`主人~女仆发现 [${sub.roomid}] 已经是下播状态啦,所以忽略了重复的下播事件哦`);
|
|
1637
1637
|
return;
|
|
1638
1638
|
}
|
|
1639
1639
|
if (pushAtTimeTimer) {
|
|
@@ -1643,11 +1643,11 @@ var ComRegister = class ComRegister {
|
|
|
1643
1643
|
}
|
|
1644
1644
|
if (!await useLiveRoomInfo(LiveType.StopBroadcast) && !await useMasterInfo(LiveType.StopBroadcast)) {
|
|
1645
1645
|
liveStatus = false;
|
|
1646
|
-
await this.sendPrivateMsg("
|
|
1646
|
+
await this.sendPrivateMsg("主人呜呜,女仆获取直播间信息失败啦,推送直播开播卡片也失败了,请主人帮女仆看看呀!");
|
|
1647
1647
|
return await this.sendPrivateMsgAndStopService();
|
|
1648
1648
|
}
|
|
1649
1649
|
liveStatus = false;
|
|
1650
|
-
this.logger.info(`主人~女仆报告开播时粉丝数:${masterInfo.liveOpenFollowerNum},下播时粉丝数:${masterInfo.liveEndFollowerNum},粉丝数变化:${masterInfo.liveFollowerChange}
|
|
1650
|
+
this.logger.info(`主人~女仆报告开播时粉丝数:${masterInfo.liveOpenFollowerNum},下播时粉丝数:${masterInfo.liveEndFollowerNum},粉丝数变化:${masterInfo.liveFollowerChange} 哦~女仆乖乖汇报完毕`);
|
|
1651
1651
|
liveTime = liveRoomInfo?.live_time || DateTime.now().toFormat("yyyy-MM-dd HH:mm:ss");
|
|
1652
1652
|
const diffTime = await this.ctx["bilibili-notify-generate-img"].getTimeDifference(liveTime);
|
|
1653
1653
|
const followerChange = (() => {
|
|
@@ -1667,8 +1667,8 @@ var ComRegister = class ComRegister {
|
|
|
1667
1667
|
}
|
|
1668
1668
|
}
|
|
1669
1669
|
});
|
|
1670
|
-
if (!await useLiveRoomInfo(LiveType.FirstLiveBroadcast) && !await useMasterInfo(LiveType.FirstLiveBroadcast)) return this.sendPrivateMsg("
|
|
1671
|
-
this.logger.info(`主人~女仆查到当前粉丝数是:${masterInfo.liveOpenFollowerNum}
|
|
1670
|
+
if (!await useLiveRoomInfo(LiveType.FirstLiveBroadcast) && !await useMasterInfo(LiveType.FirstLiveBroadcast)) return this.sendPrivateMsg("主人呜呜,女仆获取直播间信息失败啦,所以启动直播间弹幕检测也失败了,请主人帮女仆看看呀!");
|
|
1671
|
+
this.logger.info(`主人~女仆查到当前粉丝数是:${masterInfo.liveOpenFollowerNum} 哦~乖乖报告完毕`);
|
|
1672
1672
|
if (liveRoomInfo.live_status === 1) {
|
|
1673
1673
|
liveTime = liveRoomInfo.live_time;
|
|
1674
1674
|
const watched = liveData.watchedNum || "暂未获取到";
|
|
@@ -1737,7 +1737,7 @@ var ComRegister = class ComRegister {
|
|
|
1737
1737
|
}
|
|
1738
1738
|
return {
|
|
1739
1739
|
code: 0,
|
|
1740
|
-
message: "主人~女仆发现这个分组已经存在啦
|
|
1740
|
+
message: "主人~女仆发现这个分组已经存在啦"
|
|
1741
1741
|
};
|
|
1742
1742
|
};
|
|
1743
1743
|
const resp = await checkGroupIsReady();
|
|
@@ -1759,7 +1759,7 @@ var ComRegister = class ComRegister {
|
|
|
1759
1759
|
}
|
|
1760
1760
|
return {
|
|
1761
1761
|
code: 0,
|
|
1762
|
-
message: "主人~女仆获取分组明细成功啦~乖乖汇报完毕
|
|
1762
|
+
message: "主人~女仆获取分组明细成功啦~乖乖汇报完毕",
|
|
1763
1763
|
data: relationGroupDetailData.data
|
|
1764
1764
|
};
|
|
1765
1765
|
};
|
|
@@ -1770,68 +1770,68 @@ var ComRegister = class ComRegister {
|
|
|
1770
1770
|
};
|
|
1771
1771
|
return {
|
|
1772
1772
|
code: 0,
|
|
1773
|
-
message: "主人~女仆获取分组明细成功啦~乖乖汇报完毕
|
|
1773
|
+
message: "主人~女仆获取分组明细成功啦~乖乖汇报完毕",
|
|
1774
1774
|
data
|
|
1775
1775
|
};
|
|
1776
1776
|
}
|
|
1777
1777
|
async subUserInBili(mid) {
|
|
1778
1778
|
for (const user of this.groupInfo) if (user.mid.toString() === mid) return {
|
|
1779
1779
|
code: 0,
|
|
1780
|
-
message: "主人~女仆发现订阅对象已经在分组里啦
|
|
1780
|
+
message: "主人~女仆发现订阅对象已经在分组里啦"
|
|
1781
1781
|
};
|
|
1782
1782
|
const subUserData = await this.ctx["bilibili-notify-api"].follow(mid);
|
|
1783
1783
|
return await ({
|
|
1784
1784
|
[-101]: () => {
|
|
1785
1785
|
return {
|
|
1786
1786
|
code: subUserData.code,
|
|
1787
|
-
message: "
|
|
1787
|
+
message: "主人呜呜,女仆发现账号未登录哦~请主人使用指令 `bili login` 登录后再进行订阅操作呀"
|
|
1788
1788
|
};
|
|
1789
1789
|
},
|
|
1790
1790
|
[-102]: () => {
|
|
1791
1791
|
return {
|
|
1792
1792
|
code: subUserData.code,
|
|
1793
|
-
message: "
|
|
1793
|
+
message: "主人呜呜,女仆发现账号被封停啦,所以无法进行订阅操作呀"
|
|
1794
1794
|
};
|
|
1795
1795
|
},
|
|
1796
1796
|
22002: () => {
|
|
1797
1797
|
return {
|
|
1798
1798
|
code: subUserData.code,
|
|
1799
|
-
message: "
|
|
1799
|
+
message: "主人呜呜,女仆发现因为对方隐私设置,无法进行订阅操作呀"
|
|
1800
1800
|
};
|
|
1801
1801
|
},
|
|
1802
1802
|
22003: () => {
|
|
1803
1803
|
return {
|
|
1804
1804
|
code: subUserData.code,
|
|
1805
|
-
message: "
|
|
1805
|
+
message: "主人呜呜,女仆发现您已经把对方拉黑啦,所以无法进行订阅操作呀"
|
|
1806
1806
|
};
|
|
1807
1807
|
},
|
|
1808
1808
|
22013: () => {
|
|
1809
1809
|
return {
|
|
1810
1810
|
code: subUserData.code,
|
|
1811
|
-
message: "
|
|
1811
|
+
message: "主人呜呜,女仆发现账号已注销啦,所以无法进行订阅操作呀"
|
|
1812
1812
|
};
|
|
1813
1813
|
},
|
|
1814
1814
|
40061: () => {
|
|
1815
1815
|
return {
|
|
1816
1816
|
code: subUserData.code,
|
|
1817
|
-
message: "
|
|
1817
|
+
message: "主人呜呜,女仆发现账号不存在哦~请主人检查 UID 输入是否正确,或者用户是否真的存在呀"
|
|
1818
1818
|
};
|
|
1819
1819
|
},
|
|
1820
1820
|
22001: () => {
|
|
1821
1821
|
return {
|
|
1822
1822
|
code: 0,
|
|
1823
|
-
message: "主人~女仆发现订阅对象是主人自己呢~所以不用添加到分组啦
|
|
1823
|
+
message: "主人~女仆发现订阅对象是主人自己呢~所以不用添加到分组啦"
|
|
1824
1824
|
};
|
|
1825
1825
|
},
|
|
1826
1826
|
22014: async () => {
|
|
1827
1827
|
const copyUserToGroupData = await this.ctx["bilibili-notify-api"].copyUserToGroup(mid, this.loginDBData.dynamic_group_id);
|
|
1828
1828
|
if (copyUserToGroupData.code !== 0) return {
|
|
1829
1829
|
code: copyUserToGroupData.code,
|
|
1830
|
-
message: "
|
|
1830
|
+
message: "主人呜呜,女仆尝试把订阅对象添加到分组失败啦~请主人稍后再试哦"
|
|
1831
1831
|
};
|
|
1832
1832
|
return {
|
|
1833
1833
|
code: 0,
|
|
1834
|
-
message: "主人~女仆已经成功把订阅对象添加到分组啦
|
|
1834
|
+
message: "主人~女仆已经成功把订阅对象添加到分组啦"
|
|
1835
1835
|
};
|
|
1836
1836
|
},
|
|
1837
1837
|
22015: async () => {
|
|
@@ -1844,11 +1844,11 @@ var ComRegister = class ComRegister {
|
|
|
1844
1844
|
const copyUserToGroupData = await this.ctx["bilibili-notify-api"].copyUserToGroup(mid, this.loginDBData.dynamic_group_id);
|
|
1845
1845
|
if (copyUserToGroupData.code !== 0) return {
|
|
1846
1846
|
code: copyUserToGroupData.code,
|
|
1847
|
-
message: "
|
|
1847
|
+
message: "主人呜呜,女仆尝试把订阅对象添加到分组失败啦~请主人稍后再试哦"
|
|
1848
1848
|
};
|
|
1849
1849
|
return {
|
|
1850
1850
|
code: 0,
|
|
1851
|
-
message: "主人~女仆已经成功把订阅对象添加到分组啦
|
|
1851
|
+
message: "主人~女仆已经成功把订阅对象添加到分组啦"
|
|
1852
1852
|
};
|
|
1853
1853
|
}
|
|
1854
1854
|
}[subUserData.code] || (() => {
|
|
@@ -1861,10 +1861,10 @@ var ComRegister = class ComRegister {
|
|
|
1861
1861
|
async loadSubFromConfig(subs) {
|
|
1862
1862
|
this.preInitConfig(subs);
|
|
1863
1863
|
for (const sub of Object.values(subs)) {
|
|
1864
|
-
this.logger.info(`主人~女仆正在加载订阅 UID:${sub.uid}
|
|
1864
|
+
this.logger.info(`主人~女仆正在加载订阅 UID:${sub.uid} 中呢~请稍等呀`);
|
|
1865
1865
|
const subInfo = await this.subUserInBili(sub.uid);
|
|
1866
1866
|
if (subInfo.code !== 0 && subInfo.code !== 22015) return subInfo;
|
|
1867
|
-
if (subInfo.code === 22015) this.logger.warn(
|
|
1867
|
+
if (subInfo.code === 22015) this.logger.warn(`主人呜呜,女仆发现账号异常,无法自动订阅 UID:${sub.uid} 哦~请主人手动订阅,然后把订阅移动到 "订阅" 分组里呀`);
|
|
1868
1868
|
this.subManager.set(sub.uid, {
|
|
1869
1869
|
uname: sub.uname,
|
|
1870
1870
|
roomId: sub.roomid,
|
|
@@ -1876,19 +1876,19 @@ var ComRegister = class ComRegister {
|
|
|
1876
1876
|
customLiveSummary: sub.customLiveSummary
|
|
1877
1877
|
});
|
|
1878
1878
|
if (sub.live && !sub.roomid) {
|
|
1879
|
-
this.logger.info(`主人~女仆发现 UID:${sub.uid}
|
|
1879
|
+
this.logger.info(`主人~女仆发现 UID:${sub.uid} 请求了用户接口哦~女仆乖乖记录啦`);
|
|
1880
1880
|
const { code: userInfoCode, message: userInfoMsg, data: userInfoData } = await withRetry(async () => {
|
|
1881
1881
|
return await this.ctx["bilibili-notify-api"].getUserInfo(sub.uid);
|
|
1882
1882
|
}).catch((e) => {
|
|
1883
|
-
this.logger.error(
|
|
1883
|
+
this.logger.error(`主人呜呜,女仆在执行 loadSubFromConfig() 的 getUserInfo() 时发生错误啦~错误信息:${e.message},请主人帮女仆看看呀!`);
|
|
1884
1884
|
return {
|
|
1885
1885
|
code: -1,
|
|
1886
|
-
message:
|
|
1886
|
+
message: `主人呜呜,女仆加载订阅 UID:${sub.uid} 失败啦~请主人帮女仆看看呀!`
|
|
1887
1887
|
};
|
|
1888
1888
|
});
|
|
1889
1889
|
if (userInfoCode === -352 && userInfoData.v_voucher) {
|
|
1890
|
-
this.logger.info("
|
|
1891
|
-
await this.sendPrivateMsg("
|
|
1890
|
+
this.logger.info("主人呜呜,女仆发现账号被风控啦~请主人使用指令 `bili cap` 进行风控验证呀");
|
|
1891
|
+
await this.sendPrivateMsg("主人呜呜,女仆发现账号被风控啦~请主人使用指令 `bili cap` 进行风控验证呀");
|
|
1892
1892
|
return {
|
|
1893
1893
|
code: userInfoCode,
|
|
1894
1894
|
message: userInfoMsg
|
|
@@ -1900,15 +1900,15 @@ var ComRegister = class ComRegister {
|
|
|
1900
1900
|
};
|
|
1901
1901
|
if (sub.live && !userInfoData.live_room) {
|
|
1902
1902
|
sub.live = false;
|
|
1903
|
-
this.logger.warn(`主人~女仆发现 UID:${sub.uid}
|
|
1903
|
+
this.logger.warn(`主人~女仆发现 UID:${sub.uid} 的用户没有开通直播间哦,所以无法订阅直播啦`);
|
|
1904
1904
|
}
|
|
1905
1905
|
sub.roomid = userInfoData.live_room?.roomid;
|
|
1906
1906
|
}
|
|
1907
1907
|
if (sub.live && sub.roomid) await this.liveDetectWithListener(sub);
|
|
1908
|
-
this.logger.info(`主人~女仆订阅 UID:${sub.uid}
|
|
1908
|
+
this.logger.info(`主人~女仆订阅 UID:${sub.uid} 已经加载完毕啦~乖乖完成任务啦`);
|
|
1909
1909
|
if (sub !== Object.values(subs).pop()) {
|
|
1910
1910
|
const randomDelay = Math.floor(Math.random() * 3) + 1;
|
|
1911
|
-
this.logger.info(`主人~女仆设置了随机延迟哦~延迟时间:${randomDelay}
|
|
1911
|
+
this.logger.info(`主人~女仆设置了随机延迟哦~延迟时间:${randomDelay} 秒呢`);
|
|
1912
1912
|
await this.ctx.sleep(randomDelay * 1e3);
|
|
1913
1913
|
}
|
|
1914
1914
|
}
|
|
@@ -1922,7 +1922,7 @@ var ComRegister = class ComRegister {
|
|
|
1922
1922
|
}
|
|
1923
1923
|
enableDynamicDetect() {
|
|
1924
1924
|
this.dynamicJob = new CronJob(this.config.dynamicCron, this.config.dynamicDebugMode ? this.debug_dynamicDetect() : this.dynamicDetect());
|
|
1925
|
-
this.logger.info("主人~女仆的动态监测已经开启啦~开始乖乖监控动态呢
|
|
1925
|
+
this.logger.info("主人~女仆的动态监测已经开启啦~开始乖乖监控动态呢");
|
|
1926
1926
|
this.dynamicJob.start();
|
|
1927
1927
|
}
|
|
1928
1928
|
async checkIfIsLogin() {
|
|
@@ -4577,6 +4577,8 @@ const usage = `
|
|
|
4577
4577
|
不用着急,女仆会一直在这里陪着您,一步一步完成设置~
|
|
4578
4578
|
主人只要乖乖填好这些信息,就能让女仆变得超级听话、超级勤快啦 (>///<)♡
|
|
4579
4579
|
|
|
4580
|
+
想要重新登录的话,只需要点击个人名片的“Bilibili”Logo哦~
|
|
4581
|
+
|
|
4580
4582
|
主人~注意事项要仔细看呀 (>_<)♡
|
|
4581
4583
|
- 如果主人使用的是 onebot 机器人,平台名请填写 onebot,而不是 qq 哦~
|
|
4582
4584
|
- 同样的呀,如果是 onebot 机器人,请务必填写 onebot,不要写成 qq 哦~
|