@@ -67,9 +67,57 @@ func HandleSendGroupMsg(cli *client.QQClient, req *onebot.SendGroupMsgReq) *oneb
6767func HandleDeleteMsg (cli * client.QQClient , req * onebot.DeleteMsgReq ) * onebot.DeleteMsgResp {
6868 eventInterface , ok := cache .GroupMessageLru .Get (req .MessageId )
6969 if ! ok {
70- return & onebot.DeleteMsgResp {}
70+ return nil
71+ }
72+ event , ok := eventInterface .(* message.GroupMessage )
73+ if ! ok {
74+ return nil
7175 }
72- event := eventInterface .(* message.GroupMessage )
7376 cli .RecallGroupMessage (event .GroupCode , event .Id , event .InternalId )
7477 return & onebot.DeleteMsgResp {}
7578}
79+
80+ func HandleGetMsg (cli * client.QQClient , req * onebot.GetMsgReq ) * onebot.GetMsgResp {
81+ eventInterface , isGroup := cache .GroupMessageLru .Get (req .MessageId )
82+ if isGroup {
83+ event := eventInterface .(* message.GroupMessage )
84+ messageType := "group"
85+ if event .Sender .Uin == cli .Uin {
86+ messageType = "self"
87+ }
88+ return & onebot.GetMsgResp {
89+ Time : event .Time ,
90+ MessageType : messageType ,
91+ MessageId : req .MessageId ,
92+ RealId : event .InternalId , // 不知道是什么?
93+ Message : MiraiMsgToProtoMsg (event .Elements ),
94+ RawMessage : MiraiMsgToRawMsg (event .Elements ),
95+ Sender : & onebot.GetMsgResp_Sender {
96+ UserId : event .Sender .Uin ,
97+ Nickname : event .Sender .Nickname ,
98+ },
99+ }
100+
101+ }
102+ eventInterface , isPrivate := cache .PrivateMessageLru .Get (req .MessageId )
103+ if isPrivate {
104+ event := eventInterface .(* message.PrivateMessage )
105+ messageType := "private"
106+ if event .Sender .Uin == cli .Uin {
107+ messageType = "self"
108+ }
109+ return & onebot.GetMsgResp {
110+ Time : event .Time ,
111+ MessageType : messageType ,
112+ MessageId : req .MessageId ,
113+ RealId : event .InternalId , // 不知道是什么?
114+ Message : MiraiMsgToProtoMsg (event .Elements ),
115+ RawMessage : MiraiMsgToRawMsg (event .Elements ),
116+ Sender : & onebot.GetMsgResp_Sender {
117+ UserId : event .Sender .Uin ,
118+ Nickname : event .Sender .Nickname ,
119+ },
120+ }
121+ }
122+ return nil
123+ }
0 commit comments