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

fix fragmented message decode.

This commit is contained in:
Mrs4s 2021-01-11 00:02:31 +08:00
parent 6ed080344b
commit b83dd4cf38

View File

@ -312,16 +312,16 @@ func decodeGroupMessagePacket(c *QQClient, _ uint16, payload []byte) (interface{
}
if pkt.Message.Content != nil && pkt.Message.Content.GetPkgNum() > 1 {
var builder *groupMessageBuilder // TODO: 支持多SEQ
i, ok := c.groupMsgBuilders.Load(pkt.Message.Content.DivSeq)
i, ok := c.groupMsgBuilders.Load(pkt.Message.Content.GetDivSeq())
if !ok {
builder = &groupMessageBuilder{}
c.groupMsgBuilders.Store(pkt.Message.Content.DivSeq, builder)
c.groupMsgBuilders.Store(pkt.Message.Content.GetDivSeq(), builder)
} else {
builder = i.(*groupMessageBuilder)
}
builder.MessageSlices = append(builder.MessageSlices, pkt.Message)
if int32(len(builder.MessageSlices)) >= pkt.Message.Content.GetPkgNum() {
c.groupMsgBuilders.Delete(pkt.Message.Content.DivSeq)
c.groupMsgBuilders.Delete(pkt.Message.Content.GetDivSeq())
c.dispatchGroupMessage(c.parseGroupMessage(builder.build()))
}
return nil, nil