@@ -510,6 +510,7 @@ async function ProcessOneBotMessage(this: OneBotDocking, obj: obj) {
510
510
// this.MsgIDMap.set(msg.msg_id, msg);
511
511
this . events . onPrivateMsg . fire (
512
512
"OneBotDockingProcess_Event_PrivateMsg" ,
513
+ obj . time * 1000 ,
513
514
sender ,
514
515
obj . sub_type ,
515
516
msg
@@ -534,6 +535,7 @@ async function ProcessOneBotMessage(this: OneBotDocking, obj: obj) {
534
535
}
535
536
this . events . onGroupMsg . fire (
536
537
"OneBotDockingProcess_Event_GroupMsg" ,
538
+ obj . time * 1000 ,
537
539
group ,
538
540
obj . sub_type ,
539
541
member ,
@@ -558,6 +560,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
558
560
let file = new FileInfo ( obj . file ) ;
559
561
this . events . onGroupUploadFile . fire (
560
562
"OneBotDockingProcess_Event_GroupUploadFile" ,
563
+ obj . time * 1000 ,
561
564
group ,
562
565
member ,
563
566
file
@@ -569,6 +572,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
569
572
let member = group . getMember ( obj . user_id ) ! ;
570
573
this . events . onGroupAdminChange . fire (
571
574
"OneBotDockingProcess_Event_GroupAdminChange" ,
575
+ obj . time * 1000 ,
572
576
group ,
573
577
member ,
574
578
obj . sub_type
@@ -584,6 +588,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
584
588
let op = await this . getStrangerInfoEx ( obj . operator_id ) ;
585
589
this . events . onGroupLeave . fire (
586
590
"OneBotDockingProcess_Event_GroupLeave" ,
591
+ obj . time * 1000 ,
587
592
group ,
588
593
obj . sub_type ,
589
594
member ,
@@ -626,6 +631,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
626
631
}
627
632
this . events . onGroupJoin . fire (
628
633
"OneBotDockingProcess_Event_GroupJoin" ,
634
+ obj . time * 1000 ,
629
635
baseGroupInfo ,
630
636
( obj . sub_type == "invite" ) ,
631
637
strangeInfo as StrangerInfo ,
@@ -639,6 +645,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
639
645
if ( obj . user_id == 0 ) {
640
646
this . events . onGroupWholeMute . fire (
641
647
"OneBotDockingProcess_Event_GroupWholeMute" ,
648
+ obj . time * 1000 ,
642
649
group ,
643
650
( obj . sub_type == "lift_ban" ) ,
644
651
op
@@ -647,6 +654,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
647
654
let member = ( await group . refreshMemberInfo ( this , obj . user_id ) ) ! ;
648
655
this . events . onGroupMute . fire (
649
656
"OneBotDockingProcess_Event_GroupMute" ,
657
+ obj . time * 1000 ,
650
658
group ,
651
659
( obj . sub_type == "lift_ban" ) ,
652
660
member ,
@@ -666,6 +674,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
666
674
}
667
675
this . events . onGroupRecall . fire (
668
676
"OneBotDockingProcess_Event_GroupRecall" ,
677
+ obj . time * 1000 ,
669
678
group ,
670
679
member ,
671
680
op ,
@@ -678,6 +687,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
678
687
await this . RefreshAllFriendInfo ( ) ;
679
688
this . events . onFriendAdd . fire (
680
689
"OneBotDockingProcess_Event_FriendAdd" ,
690
+ obj . time * 1000 ,
681
691
strangerInfo
682
692
) ;
683
693
break ;
@@ -690,6 +700,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
690
700
if ( ! msg ) { return ; }
691
701
this . events . onFriendRecall . fire (
692
702
"OneBotDockingProcess_Event_FriendRecall" ,
703
+ obj . time * 1000 ,
693
704
friendInfo ,
694
705
msg
695
706
) ;
@@ -705,6 +716,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
705
716
let target = ( await group . refreshMemberInfo ( this , obj . target_id ) ) ! ;
706
717
this . events . onGroupPoke . fire (
707
718
"OneBotDockingProcess_Event_GroupPoke" ,
719
+ obj . time * 1000 ,
708
720
group ,
709
721
sender ,
710
722
target
@@ -714,6 +726,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
714
726
let sender = this . getFriendInfoSync ( obj . user_id ) ! ;
715
727
this . events . onFriendPoke . fire (
716
728
"OneBotDockingProcess_Event_FriendPoke" ,
729
+ obj . time * 1000 ,
717
730
sender
718
731
) ;
719
732
}
@@ -724,6 +737,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
724
737
let target = ( await group ! . refreshMemberInfo ( this , obj . target_id ) ) ! ;
725
738
this . events . onGroupRedPacketLuckKing . fire (
726
739
"OneBotDockingProcess_Event_GroupRedPacketLuckKing" ,
740
+ obj . time * 1000 ,
727
741
group ! ,
728
742
member ,
729
743
target
@@ -734,6 +748,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
734
748
let member = ( await group ! . refreshMemberInfo ( this , obj . user_id ) ) ! ;
735
749
this . events . onGroupHonorChanged . fire (
736
750
"OneBotDockingProcess_Event_GroupHonorChanged" ,
751
+ obj . time * 1000 ,
737
752
group ! ,
738
753
obj . honor_type ,
739
754
member
@@ -748,6 +763,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
748
763
let member = group . getMember ( obj . user_id ) ! ;
749
764
this . events . onGroupCardChanged . fire (
750
765
"OneBotDockingProcess_Event_GroupCardChanged" ,
766
+ obj . time * 1000 ,
751
767
group ,
752
768
member ,
753
769
obj . card_new
@@ -760,6 +776,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
760
776
let file = new OfflineFileInfo ( obj . file ) ;
761
777
this . events . onReceiveOfflineFile . fire (
762
778
"OneBotDockingProcess_Event_ReceiveOfflineFile" ,
779
+ obj . time * 1000 ,
763
780
stranger ,
764
781
file
765
782
) ;
@@ -769,6 +786,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
769
786
let device = new DeviceInfo ( obj . client ) ;
770
787
this . events . onClientStatusChanged . fire (
771
788
"OneBotDockingProcess_Event_ClientStatusChanged" ,
789
+ obj . time * 1000 ,
772
790
device ,
773
791
obj . online
774
792
) ;
@@ -784,6 +802,7 @@ async function ProcessOneBotNotice(this: OneBotDocking, obj: obj) {
784
802
let op = ( await group . refreshMemberInfo ( this , obj . operator_id ) ) ! ;
785
803
this . events . onGroupEssenceMsgChanged . fire (
786
804
"OneBotDockingProcess_Event_GroupEssenceMsgChanged" ,
805
+ obj . time * 1000 ,
787
806
group ,
788
807
obj . sub_type ,
789
808
sender ,
@@ -802,6 +821,7 @@ async function ProcessOneBotRequest(this: OneBotDocking, obj: obj) {
802
821
let strangerInfo = ( await this . getStrangerInfoEx ( obj . user_id ) ) ! ;
803
822
this . events . onFriendRequestAdd . fire (
804
823
"OneBotDockingProcess_Event_FriendRequestAdd" ,
824
+ obj . time * 1000 ,
805
825
strangerInfo ,
806
826
obj . comment ,
807
827
obj . flag
@@ -813,6 +833,7 @@ async function ProcessOneBotRequest(this: OneBotDocking, obj: obj) {
813
833
let strangerInfo = ( await this . getStrangerInfoEx ( obj . user_id ) ) ! ;
814
834
this . events . onGroupRequestJoin . fire (
815
835
"OneBotDockingProcess_Event_GroupRequestJoin" ,
836
+ obj . time * 1000 ,
816
837
groupBaseInfo ,
817
838
( obj . sub_type == "invite" ) ,
818
839
strangerInfo ,
@@ -824,6 +845,28 @@ async function ProcessOneBotRequest(this: OneBotDocking, obj: obj) {
824
845
}
825
846
}
826
847
848
+ async function ProcessOneBotMetaEvent ( this : OneBotDocking , obj : obj ) {
849
+ // console.log(obj);
850
+ switch ( obj . meta_event_type as "lifecycle" | "heartbeat" ) {
851
+ case "lifecycle" : {
852
+ this . events . onLifecycle . fire (
853
+ "OneBotDockingProcess_Event_Lifecycle" ,
854
+ obj . time * 1000 ,
855
+ obj . sub_type
856
+ ) ;
857
+ break ;
858
+ }
859
+ case "heartbeat" : {
860
+ this . events . onHeartBeat . fire (
861
+ "OneBotDockingProcess_Event_HeartBeat" ,
862
+ obj . time * 1000 ,
863
+ obj . interval
864
+ ) ;
865
+ break ;
866
+ }
867
+ }
868
+ }
869
+
827
870
// class ShareData {
828
871
// private map = new Map<string, Map<any, any>>();
829
872
// constructor() { }
@@ -858,6 +901,10 @@ export class OneBotDocking {
858
901
859
902
private _events = {
860
903
"onRawMessage" : new Event < ( rawInfo : string , ori : ( isExecute : boolean , raw : string ) => void ) => void > ( this . DelayLogger ) ,
904
+ /**
905
+ * 初始化数据成功
906
+ * @note 此监听可能会重复触发,因为重新连接也会初始化一次数据
907
+ */
861
908
"onInitSuccess" : new Event < ( ) => void > ( this . DelayLogger ) ,
862
909
"onClientDisconnect" : new Event < ( ) => void > ( this . DelayLogger ) ,
863
910
"onClientDestroy" : new Event < ( ) => void > ( this . DelayLogger ) ,
@@ -885,7 +932,17 @@ export class OneBotDocking {
885
932
"onGroupHonorChanged" : new Event < ( group : GroupInfo , honor : HonorType , member : GroupMemberInfo ) => void > ( this . DelayLogger ) ,
886
933
"onGroupCardChanged" : new Event < ( group : GroupInfo , member : GroupMemberInfo , card : string ) => void > ( this . DelayLogger ) ,
887
934
"onReceiveOfflineFile" : new Event < ( stranger : StrangerInfo , offlineFile : OfflineFileInfo ) => void > ( this . DelayLogger ) ,
888
- "onGroupEssenceMsgChanged" : new Event < ( group : GroupInfo , sub_type : "add" | "delete" , sender : GroupMemberInfo , operator : GroupMemberInfo , msg : MsgInfo ) => void > ( this . DelayLogger )
935
+ "onGroupEssenceMsgChanged" : new Event < ( group : GroupInfo , sub_type : "add" | "delete" , sender : GroupMemberInfo , operator : GroupMemberInfo , msg : MsgInfo ) => void > ( this . DelayLogger ) ,
936
+ /**
937
+ * 心跳包触发
938
+ * @note interval是心跳包触发时间
939
+ */
940
+ "onHeartBeat" : new Event < ( interval : number ) => void > ( this . DelayLogger ) ,
941
+ /**
942
+ * 生命周期
943
+ * @note 首次建立连接插件会错过connect生命周期,建议使用onInitSuccess代替connect生命周期
944
+ */
945
+ "onLifecycle" : new Event < ( type : "enable" | "disable" | "connect" ) => void > ( this . DelayLogger )
889
946
}
890
947
891
948
public logger : Logger ;
@@ -951,7 +1008,7 @@ export class OneBotDocking {
951
1008
if ( ( await this . _loadLoginInfo ( ) ) &&
952
1009
( await this . _loadFriends ( ) ) &&
953
1010
( await this . _loadGroupsInfo ( ) ) ) {
954
- this . _events . onInitSuccess . fire ( "OneBotDockingProcess_Event_InitSuccess" ) ;
1011
+ this . _events . onInitSuccess . fire ( "OneBotDockingProcess_Event_InitSuccess" , null ) ;
955
1012
this . logger . info ( `基础信息初始化成功!` ) ;
956
1013
this . _IsInitd = true ;
957
1014
} else {
@@ -962,7 +1019,7 @@ export class OneBotDocking {
962
1019
if ( isBuff ) { this . logger . warn ( "暂不支持Buffer信息!" ) ; return ; }
963
1020
let msg_ = msg as string , b = true ;
964
1021
this . events . onRawMessage . fire (
965
- "OneBotDockingProcess_Event_RawMessage" ,
1022
+ "OneBotDockingProcess_Event_RawMessage" , null ,
966
1023
msg_ ,
967
1024
( boo , msg ) => {
968
1025
b = ( b ? boo : b ) ;
@@ -988,7 +1045,7 @@ export class OneBotDocking {
988
1045
}
989
1046
if ( this . _isClosing ) { return ; }
990
1047
// console.log(obj)
991
- switch ( obj . post_type as "message" | "notice" | "request" ) {
1048
+ switch ( obj . post_type as "message" | "notice" | "request" | "meta_event" ) {
992
1049
case "message" : {
993
1050
ProcessOneBotMessage . call ( this , obj ) ;
994
1051
break ;
@@ -1001,6 +1058,10 @@ export class OneBotDocking {
1001
1058
ProcessOneBotRequest . call ( this , obj ) ;
1002
1059
break ;
1003
1060
}
1061
+ case "meta_event" : {
1062
+ ProcessOneBotMetaEvent . call ( this , obj ) ;
1063
+ break ;
1064
+ }
1004
1065
}
1005
1066
} ) ;
1006
1067
this . wsc . events . onClose . on ( ( code , desc ) => {
@@ -1011,7 +1072,7 @@ export class OneBotDocking {
1011
1072
} ) ;
1012
1073
this . wsc . events . onDestroy . on ( ( ) => {
1013
1074
this . _events . onClientDestroy . fire (
1014
- "OneBotDockingProcess_Event_ClientClose"
1075
+ "OneBotDockingProcess_Event_ClientClose" , null
1015
1076
) ;
1016
1077
} ) ;
1017
1078
this . events . onRawMessage . on ( ( raw , ori ) => {
0 commit comments