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)),
|
GroupCode: proto.Uint64(uint64(groupCode)),
|
||||||
Stgroupinfo: &oidb.D88DGroupInfo{
|
Stgroupinfo: &oidb.D88DGroupInfo{
|
||||||
GroupOwner: proto.Uint64(0),
|
GroupOwner: proto.Uint64(0),
|
||||||
|
GroupUin: proto.Uint64(0),
|
||||||
GroupCreateTime: proto.Uint32(0),
|
GroupCreateTime: proto.Uint32(0),
|
||||||
GroupFlag: proto.Uint32(0),
|
GroupFlag: proto.Uint32(0),
|
||||||
GroupMemberMaxNum: proto.Uint32(0),
|
GroupMemberMaxNum: proto.Uint32(0),
|
||||||
|
@ -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{
|
||||||
@ -403,7 +403,7 @@ func decodeGroupInfoResponse(c *QQClient, _ uint16, payload []byte) (interface{}
|
|||||||
}
|
}
|
||||||
info := rsp.RspGroupInfo[0]
|
info := rsp.RspGroupInfo[0]
|
||||||
return &GroupInfo{
|
return &GroupInfo{
|
||||||
Uin: utils.ToGroupUin(int64(*info.GroupCode)),
|
Uin: int64(*info.GroupInfo.GroupUin),
|
||||||
Code: int64(*info.GroupCode),
|
Code: int64(*info.GroupCode),
|
||||||
Name: string(info.GroupInfo.GroupName),
|
Name: string(info.GroupInfo.GroupName),
|
||||||
Memo: string(info.GroupInfo.GroupMemo),
|
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 {
|
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