koishi-plugin-bilibili-notify 3.1.3-alpha.0 → 3.1.4-alpha.0
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/comRegister.js +59 -31
- package/lib/type/index.d.ts +14 -1
- package/package.json +1 -1
- package/readme.md +1 -0
package/lib/comRegister.js
CHANGED
|
@@ -491,8 +491,10 @@ class ComRegister {
|
|
|
491
491
|
let detectSetup = true;
|
|
492
492
|
// 时间线
|
|
493
493
|
let timeline;
|
|
494
|
-
//
|
|
495
|
-
let
|
|
494
|
+
// 当前推送动态时间线
|
|
495
|
+
let currentTimeline;
|
|
496
|
+
// 动态ID
|
|
497
|
+
let dynId;
|
|
496
498
|
// 定义handler
|
|
497
499
|
const handler = async () => {
|
|
498
500
|
// 动态监测启动初始化
|
|
@@ -514,7 +516,7 @@ class ComRegister {
|
|
|
514
516
|
if (content.code !== 0)
|
|
515
517
|
return;
|
|
516
518
|
// 设置第一条动态的动态ID
|
|
517
|
-
|
|
519
|
+
dynId = content.data?.items[0]?.id_str || "0";
|
|
518
520
|
// 设置时间线
|
|
519
521
|
timeline =
|
|
520
522
|
content.data?.items[0]?.modules.module_author.pub_ts ||
|
|
@@ -590,7 +592,7 @@ class ComRegister {
|
|
|
590
592
|
// 获取动态ID
|
|
591
593
|
const dynamicId = item.id_str;
|
|
592
594
|
// 动态ID如果一致则结束循环
|
|
593
|
-
if (dynamicId ===
|
|
595
|
+
if (dynamicId === dynId)
|
|
594
596
|
break;
|
|
595
597
|
// 获取动态发布时间
|
|
596
598
|
const postTime = item.modules.module_author.pub_ts;
|
|
@@ -643,8 +645,13 @@ class ComRegister {
|
|
|
643
645
|
let dUrl = "";
|
|
644
646
|
// 判断是否需要发送URL
|
|
645
647
|
if (this.config.dynamicUrl) {
|
|
646
|
-
|
|
647
|
-
|
|
648
|
+
if (item.type === "DYNAMIC_TYPE_AV") {
|
|
649
|
+
dUrl = `${upName}发布了新视频:${item.modules.module_dynamic.major.archive.jump_url}`;
|
|
650
|
+
}
|
|
651
|
+
else {
|
|
652
|
+
// 生成动态链接
|
|
653
|
+
dUrl = `${upName}发布了一条动态:https://t.bilibili.com/${dynamicId}`;
|
|
654
|
+
}
|
|
648
655
|
}
|
|
649
656
|
// logger
|
|
650
657
|
this.logger.info("推送动态中...");
|
|
@@ -661,16 +668,22 @@ class ComRegister {
|
|
|
661
668
|
}
|
|
662
669
|
}
|
|
663
670
|
}
|
|
671
|
+
// 设置timeline
|
|
672
|
+
currentTimeline = postTime;
|
|
664
673
|
// logger
|
|
665
674
|
this.logger.info("动态推送完毕!");
|
|
666
675
|
}
|
|
667
676
|
}
|
|
668
677
|
}
|
|
669
|
-
// 更新本次请求第一条动态的动态ID
|
|
670
|
-
dynamicIdStr1st = items[0].id_str;
|
|
671
678
|
// 更新时间线
|
|
672
|
-
|
|
673
|
-
|
|
679
|
+
if (currentTimeline) {
|
|
680
|
+
timeline = currentTimeline;
|
|
681
|
+
currentTimeline = null;
|
|
682
|
+
}
|
|
683
|
+
// 设置动态ID
|
|
684
|
+
if (items[0].id_str && items[0].id_str !== dynId) {
|
|
685
|
+
dynId = items[0].id_str;
|
|
686
|
+
}
|
|
674
687
|
};
|
|
675
688
|
// 返回一个闭包函数
|
|
676
689
|
return (0, utils_1.withLock)(handler);
|
|
@@ -680,8 +693,10 @@ class ComRegister {
|
|
|
680
693
|
let detectSetup = true;
|
|
681
694
|
// 时间线
|
|
682
695
|
let timeline;
|
|
683
|
-
//
|
|
684
|
-
let
|
|
696
|
+
// 当前推送动态时间线
|
|
697
|
+
let currentTimeline;
|
|
698
|
+
// 动态ID
|
|
699
|
+
let dynId;
|
|
685
700
|
// 定义handler
|
|
686
701
|
const handler = async () => {
|
|
687
702
|
// 动态监测启动初始化
|
|
@@ -711,9 +726,9 @@ class ComRegister {
|
|
|
711
726
|
return;
|
|
712
727
|
}
|
|
713
728
|
// 设置第一条动态的动态ID
|
|
714
|
-
|
|
729
|
+
dynId = content.data?.items[0]?.id_str || "0";
|
|
715
730
|
// logger
|
|
716
|
-
this.logger.info(`获取到第一条动态ID:${
|
|
731
|
+
this.logger.info(`获取到第一条动态ID:${dynId}`);
|
|
717
732
|
// 设置时间线
|
|
718
733
|
timeline =
|
|
719
734
|
content.data?.items[0]?.modules.module_author.pub_ts ||
|
|
@@ -803,11 +818,12 @@ class ComRegister {
|
|
|
803
818
|
const dynamicId = item.id_str;
|
|
804
819
|
// logger
|
|
805
820
|
this.logger.info(`当前动态ID:${dynamicId}`);
|
|
806
|
-
this.logger.info(
|
|
821
|
+
this.logger.info(`上次第一条推送的动态ID:${dynId}`);
|
|
807
822
|
// 动态ID如果一致则结束循环
|
|
808
|
-
if (dynamicId ===
|
|
823
|
+
if (dynamicId === dynId) {
|
|
809
824
|
// logger
|
|
810
|
-
this.logger.info("动态ID
|
|
825
|
+
this.logger.info("动态ID与上次第一条推送动态一致,结束循环");
|
|
826
|
+
// 结束循环
|
|
811
827
|
break;
|
|
812
828
|
}
|
|
813
829
|
// 获取动态发布时间
|
|
@@ -828,7 +844,7 @@ class ComRegister {
|
|
|
828
844
|
break;
|
|
829
845
|
}
|
|
830
846
|
// logger
|
|
831
|
-
this.logger.info("
|
|
847
|
+
this.logger.info("动态时间线大于最后推送动态时间线,开始判断是否是订阅的UP主...");
|
|
832
848
|
// 从动态数据中取出UP主名称、UID
|
|
833
849
|
const upUID = item.modules.module_author.mid.toString();
|
|
834
850
|
const upName = item.modules.module_author.name;
|
|
@@ -885,8 +901,13 @@ class ComRegister {
|
|
|
885
901
|
if (this.config.dynamicUrl) {
|
|
886
902
|
// logger
|
|
887
903
|
this.logger.info("生成动态链接中...");
|
|
888
|
-
|
|
889
|
-
|
|
904
|
+
if (item.type === "DYNAMIC_TYPE_AV") {
|
|
905
|
+
dUrl = `${upName}发布了新视频:${item.modules.module_dynamic.major.archive.jump_url}`;
|
|
906
|
+
}
|
|
907
|
+
else {
|
|
908
|
+
// 生成动态链接
|
|
909
|
+
dUrl = `${upName}发布了一条动态:https://t.bilibili.com/${item.id_str}`;
|
|
910
|
+
}
|
|
890
911
|
}
|
|
891
912
|
// logger
|
|
892
913
|
this.logger.info("推送动态中...");
|
|
@@ -907,6 +928,8 @@ class ComRegister {
|
|
|
907
928
|
// logger
|
|
908
929
|
this.logger.info("图片推送完毕!");
|
|
909
930
|
}
|
|
931
|
+
// 设置timeline
|
|
932
|
+
currentTimeline = postTime;
|
|
910
933
|
// logger
|
|
911
934
|
this.logger.info("动态推送完毕!");
|
|
912
935
|
}
|
|
@@ -916,15 +939,22 @@ class ComRegister {
|
|
|
916
939
|
this.logger.info("不是关注的UP主,跳过该动态");
|
|
917
940
|
}
|
|
918
941
|
}
|
|
919
|
-
// 更新本次请求第一条动态的动态ID
|
|
920
|
-
dynamicIdStr1st = items[0].id_str;
|
|
921
|
-
// logger
|
|
922
|
-
this.logger.info(`更新本次请求第一条动态的动态ID:${dynamicIdStr1st}`);
|
|
923
942
|
// 更新时间线
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
943
|
+
if (currentTimeline) {
|
|
944
|
+
timeline = currentTimeline;
|
|
945
|
+
currentTimeline = null;
|
|
946
|
+
// logger
|
|
947
|
+
this.logger.info(`更新时间线:${timeline}`);
|
|
948
|
+
}
|
|
949
|
+
else {
|
|
950
|
+
this.logger.info("时间线无需更新!");
|
|
951
|
+
}
|
|
952
|
+
// 更新动态ID
|
|
953
|
+
if (items[0].id_str && items[0].id_str !== dynId) {
|
|
954
|
+
dynId = items[0].id_str;
|
|
955
|
+
// logger
|
|
956
|
+
this.logger.info(`更新动态ID:${dynId}`);
|
|
957
|
+
}
|
|
928
958
|
// logger
|
|
929
959
|
this.logger.info(`时间线格式化:${luxon_1.DateTime.fromSeconds(timeline).toFormat("yyyy-MM-dd HH:mm:ss")}`);
|
|
930
960
|
// logger
|
|
@@ -1427,10 +1457,8 @@ class ComRegister {
|
|
|
1427
1457
|
return { code: 0, msg: "订阅对象添加成功" };
|
|
1428
1458
|
},
|
|
1429
1459
|
};
|
|
1430
|
-
// 获取函数
|
|
1431
|
-
const func = subUserMatchPattern[subUserData.code];
|
|
1432
1460
|
// 执行函数并返回
|
|
1433
|
-
return await
|
|
1461
|
+
return await subUserMatchPattern[subUserData.code]();
|
|
1434
1462
|
}
|
|
1435
1463
|
async loadSubFromConfig(subs) {
|
|
1436
1464
|
for (const sub of subs) {
|
package/lib/type/index.d.ts
CHANGED
|
@@ -75,12 +75,25 @@ export type AllDynamicInfo = {
|
|
|
75
75
|
};
|
|
76
76
|
module_dynamic: {
|
|
77
77
|
major: {
|
|
78
|
-
draw
|
|
78
|
+
draw?: {
|
|
79
79
|
items: Array<{
|
|
80
80
|
src: string;
|
|
81
81
|
alt: string;
|
|
82
82
|
}>;
|
|
83
83
|
};
|
|
84
|
+
archive?: {
|
|
85
|
+
aid: string;
|
|
86
|
+
badge: Object;
|
|
87
|
+
bvid: string;
|
|
88
|
+
cover: string;
|
|
89
|
+
desc: string;
|
|
90
|
+
disable_preview: number;
|
|
91
|
+
duration_text: string;
|
|
92
|
+
jump_url: string;
|
|
93
|
+
stat: string;
|
|
94
|
+
title: string;
|
|
95
|
+
type: number;
|
|
96
|
+
};
|
|
84
97
|
};
|
|
85
98
|
};
|
|
86
99
|
};
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -236,6 +236,7 @@ uid为必填参数,为要推送的UP主的UID,index为可选参数,为要
|
|
|
236
236
|
- ver 3.1.1-alpha.0 修复:稿件重投后,会将之前日期的动态一起推送; 优化:加强动态debug输出; 移除:不必要选项 `live.liveDetectMode`
|
|
237
237
|
- ver 3.1.2-alpha.0 重构:对消息发送模块进行小型重构,多群多平台推送将不再支持艾特全体成员,仅单平台单群聊支持; 移除:群聊 `all` 选项
|
|
238
238
|
- ver 3.1.3-alpha.0 移除:订阅超时; 新增:屏蔽专栏动态功能; 优化:改进了加载插件的错误提示;
|
|
239
|
+
- ver 3.1.4-alpha.0 修复:动态只推送视频; 优化:动态视频链接将直接发送为视频链接;
|
|
239
240
|
|
|
240
241
|
## 交流群
|
|
241
242
|
|