@@ -204,6 +204,8 @@ func ProtoServiceToMiraiService(data map[string]string) message.IMessageElement
204204}
205205
206206func ProtoReplyToMiraiReply (data map [string ]string ) * message.ReplyElement {
207+ rawMessage , hasRawMessage := data ["raw_message" ] // 如果存在 raw_message,按照raw_message显示
208+
207209 messageIdStr , ok := data ["message_id" ]
208210 if ! ok {
209211 return nil
@@ -221,7 +223,13 @@ func ProtoReplyToMiraiReply(data map[string]string) *message.ReplyElement {
221223 ReplySeq : groupMessage .Id ,
222224 Sender : groupMessage .Sender .Uin ,
223225 Time : groupMessage .Time ,
224- Elements : groupMessage .Elements ,
226+ Elements : func () []message.IMessageElement {
227+ if hasRawMessage {
228+ return []message.IMessageElement {message .NewText (rawMessage )}
229+ } else {
230+ return groupMessage .Elements
231+ }
232+ }(),
225233 }
226234 }
227235 }
@@ -233,7 +241,13 @@ func ProtoReplyToMiraiReply(data map[string]string) *message.ReplyElement {
233241 ReplySeq : privateMessage .Id ,
234242 Sender : privateMessage .Sender .Uin ,
235243 Time : privateMessage .Time ,
236- Elements : privateMessage .Elements ,
244+ Elements : func () []message.IMessageElement {
245+ if hasRawMessage {
246+ return []message.IMessageElement {message .NewText (rawMessage )}
247+ } else {
248+ return privateMessage .Elements
249+ }
250+ }(),
237251 }
238252 }
239253 }
0 commit comments