mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
supported: group list lazy loading.
This commit is contained in:
parent
eae57aabf1
commit
5c4991c14f
@ -291,7 +291,7 @@ func decodeGroupMessagePacket(c *QQClient, _ uint16, payload []byte) (interface{
|
|||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
if pkt.Message.Content != nil && pkt.Message.Content.PkgNum > 1 {
|
if pkt.Message.Content != nil && pkt.Message.Content.PkgNum > 1 {
|
||||||
var builder *groupMessageBuilder
|
var builder *groupMessageBuilder // TODO: 支持多SEQ
|
||||||
i, ok := c.groupMsgBuilders.Load(pkt.Message.Content.DivSeq)
|
i, ok := c.groupMsgBuilders.Load(pkt.Message.Content.DivSeq)
|
||||||
if !ok {
|
if !ok {
|
||||||
builder = &groupMessageBuilder{
|
builder = &groupMessageBuilder{
|
||||||
|
@ -267,7 +267,22 @@ func (c *QQClient) parseTempMessage(msg *msg.Message) *message.TempMessage {
|
|||||||
func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
|
func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
|
||||||
group := c.FindGroup(m.Head.GroupInfo.GroupCode)
|
group := c.FindGroup(m.Head.GroupInfo.GroupCode)
|
||||||
if group == nil {
|
if group == nil {
|
||||||
return nil
|
c.Debug("sync group %v.", m.Head.GroupInfo.GroupCode)
|
||||||
|
info, err := c.GetGroupInfo(m.Head.GroupInfo.GroupCode)
|
||||||
|
if err != nil {
|
||||||
|
c.Error("error to sync group %v : %v", m.Head.GroupInfo.GroupCode, err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
group = info
|
||||||
|
c.GroupList = append(c.GroupList, info)
|
||||||
|
}
|
||||||
|
if len(group.Members) == 0 {
|
||||||
|
mem, err := c.GetGroupMembers(group)
|
||||||
|
if err != nil {
|
||||||
|
c.Error("error to sync group %v member : %v", m.Head.GroupInfo.GroupCode, err)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
group.Members = mem
|
||||||
}
|
}
|
||||||
var anonInfo *msg.AnonymousGroupMessage
|
var anonInfo *msg.AnonymousGroupMessage
|
||||||
for _, e := range m.Body.RichText.Elems {
|
for _, e := range m.Body.RichText.Elems {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user