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:
parent
6ed080344b
commit
b83dd4cf38
@ -312,16 +312,16 @@ func decodeGroupMessagePacket(c *QQClient, _ uint16, payload []byte) (interface{
|
|||||||
}
|
}
|
||||||
if pkt.Message.Content != nil && pkt.Message.Content.GetPkgNum() > 1 {
|
if pkt.Message.Content != nil && pkt.Message.Content.GetPkgNum() > 1 {
|
||||||
var builder *groupMessageBuilder // TODO: 支持多SEQ
|
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 {
|
if !ok {
|
||||||
builder = &groupMessageBuilder{}
|
builder = &groupMessageBuilder{}
|
||||||
c.groupMsgBuilders.Store(pkt.Message.Content.DivSeq, builder)
|
c.groupMsgBuilders.Store(pkt.Message.Content.GetDivSeq(), builder)
|
||||||
} else {
|
} else {
|
||||||
builder = i.(*groupMessageBuilder)
|
builder = i.(*groupMessageBuilder)
|
||||||
}
|
}
|
||||||
builder.MessageSlices = append(builder.MessageSlices, pkt.Message)
|
builder.MessageSlices = append(builder.MessageSlices, pkt.Message)
|
||||||
if int32(len(builder.MessageSlices)) >= pkt.Message.Content.GetPkgNum() {
|
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()))
|
c.dispatchGroupMessage(c.parseGroupMessage(builder.build()))
|
||||||
}
|
}
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user