mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 11:07:40 +08:00
fix rich long msg decode.
This commit is contained in:
parent
51e155ef20
commit
ca765c7a78
@ -272,14 +272,31 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
|
|||||||
IsFriend: c.FindFriend(mem.Uin) != nil,
|
IsFriend: c.FindFriend(mem.Uin) != nil,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g := &message.GroupMessage{
|
var g *message.GroupMessage
|
||||||
|
// pre parse
|
||||||
|
for _, elem := range m.Body.RichText.Elems {
|
||||||
|
// is rich long msg
|
||||||
|
if elem.GeneralFlags != nil && elem.GeneralFlags.LongTextResid != "" {
|
||||||
|
if f := c.GetForwardMessage(elem.GeneralFlags.LongTextResid); f != nil && len(f.Nodes) == 1 {
|
||||||
|
g = &message.GroupMessage{
|
||||||
Id: m.Head.MsgSeq,
|
Id: m.Head.MsgSeq,
|
||||||
GroupCode: group.Code,
|
GroupCode: group.Code,
|
||||||
GroupName: string(m.Head.GroupInfo.GroupName),
|
GroupName: string(m.Head.GroupInfo.GroupName),
|
||||||
Sender: sender,
|
Sender: sender,
|
||||||
Time: m.Head.MsgTime,
|
Time: m.Head.MsgTime,
|
||||||
Elements: message.ParseMessageElems(m.Body.RichText.Elems),
|
Elements: f.Nodes[0].Message,
|
||||||
//OriginalElements: m.Body.RichText.Elems,
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if g == nil {
|
||||||
|
g = &message.GroupMessage{
|
||||||
|
Id: m.Head.MsgSeq,
|
||||||
|
GroupCode: group.Code,
|
||||||
|
GroupName: string(m.Head.GroupInfo.GroupName),
|
||||||
|
Sender: sender,
|
||||||
|
Time: m.Head.MsgTime,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if m.Body.RichText.Ptt != nil {
|
if m.Body.RichText.Ptt != nil {
|
||||||
g.Elements = []message.IMessageElement{
|
g.Elements = []message.IMessageElement{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user