mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-08 04:55:56 +08:00
commit
b414e8256a
@ -965,6 +965,7 @@ func (c *QQClient) buildGroupInfoRequestPacket(groupCode int64) (uint16, []byte)
|
||||
GroupCode: proto.Uint64(uint64(groupCode)),
|
||||
Stgroupinfo: &oidb.D88DGroupInfo{
|
||||
GroupOwner: proto.Uint64(0),
|
||||
GroupUin: proto.Uint64(0),
|
||||
GroupCreateTime: proto.Uint32(0),
|
||||
GroupFlag: proto.Uint32(0),
|
||||
GroupMemberMaxNum: proto.Uint32(0),
|
||||
|
@ -291,7 +291,7 @@ func decodeGroupMessagePacket(c *QQClient, _ uint16, payload []byte) (interface{
|
||||
return nil, nil
|
||||
}
|
||||
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)
|
||||
if !ok {
|
||||
builder = &groupMessageBuilder{
|
||||
@ -403,7 +403,7 @@ func decodeGroupInfoResponse(c *QQClient, _ uint16, payload []byte) (interface{}
|
||||
}
|
||||
info := rsp.RspGroupInfo[0]
|
||||
return &GroupInfo{
|
||||
Uin: utils.ToGroupUin(int64(*info.GroupCode)),
|
||||
Uin: int64(*info.GroupInfo.GroupUin),
|
||||
Code: int64(*info.GroupCode),
|
||||
Name: string(info.GroupInfo.GroupName),
|
||||
Memo: string(info.GroupInfo.GroupMemo),
|
||||
|
@ -267,7 +267,22 @@ func (c *QQClient) parseTempMessage(msg *msg.Message) *message.TempMessage {
|
||||
func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage {
|
||||
group := c.FindGroup(m.Head.GroupInfo.GroupCode)
|
||||
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
|
||||
for _, e := range m.Body.RichText.Elems {
|
||||
|
Loading…
x
Reference in New Issue
Block a user