1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

Merge pull request #38 from scjtqs/master

RichMsg 中的xml和json的上报支持
This commit is contained in:
Mrs4s 2020-09-06 10:58:30 +08:00 committed by GitHub
commit dda1caf672
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 0 deletions

1
go.mod
View File

@ -4,5 +4,6 @@ go 1.14
require (
github.com/golang/protobuf v1.4.2
github.com/tidwall/gjson v1.6.1 // indirect
google.golang.org/protobuf v1.25.0
)

View File

@ -6,6 +6,7 @@ import (
"github.com/Mrs4s/MiraiGo/client/pb/msg"
"github.com/Mrs4s/MiraiGo/utils"
"github.com/golang/protobuf/proto"
"github.com/tidwall/gjson"
"math"
"reflect"
"regexp"
@ -502,6 +503,15 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
if elem.RichMsg.ServiceId == 33 {
continue // 前面一个 elem 已经解析到链接
}
if isOk := strings.Contains(content, "<?xml"); isOk {
res = append(res, NewRichXml(content, int64(elem.RichMsg.ServiceId)))
continue
} else {
if gjson.Valid(content) {
res = append(res, NewRichJson(content))
continue
}
}
res = append(res, NewText(content))
}
}