diff --git a/client/c2c_processor.go b/client/c2c_processor.go index 87b56110..d661b442 100644 --- a/client/c2c_processor.go +++ b/client/c2c_processor.go @@ -149,7 +149,7 @@ func troopAddMemberBroadcastDecoder(c *QQClient, pMsg *msg.Message, _ *incomingP } } else { if group != nil && group.FindMember(pMsg.Head.GetAuthUin()) == nil { - mem, err := c.getMemberInfo(group.Code, pMsg.Head.GetAuthUin()) + mem, err := c.GetMemberInfo(group.Code, pMsg.Head.GetAuthUin()) if err != nil { c.Debug("error to fetch new member info: %v", err) return diff --git a/client/client.go b/client/client.go index 5e11bb14..695b3081 100644 --- a/client/client.go +++ b/client/client.go @@ -624,6 +624,14 @@ func (c *QQClient) GetGroupMembers(group *GroupInfo) ([]*GroupMemberInfo, error) } } +func (c *QQClient) GetMemberInfo(groupCode, memberUin int64) (*GroupMemberInfo, error) { + info, err := c.sendAndWait(c.buildGroupMemberInfoRequestPacket(groupCode, memberUin)) + if err != nil { + return nil, err + } + return info.(*GroupMemberInfo), nil +} + func (c *QQClient) FindFriend(uin int64) *FriendInfo { for _, t := range c.FriendList { f := t @@ -711,14 +719,6 @@ func (c *QQClient) getCSRFToken() int { return 2147483647 & accu } -func (c *QQClient) getMemberInfo(groupCode, memberUin int64) (*GroupMemberInfo, error) { - info, err := c.sendAndWait(c.buildGroupMemberInfoRequestPacket(groupCode, memberUin)) - if err != nil { - return nil, err - } - return info.(*GroupMemberInfo), nil -} - func (c *QQClient) editMemberCard(groupCode, memberUin int64, card string) { _, _ = c.sendAndWait(c.buildEditGroupTagPacket(groupCode, memberUin, card)) } diff --git a/client/group_msg.go b/client/group_msg.go index b48f9ba0..baefd7ef 100644 --- a/client/group_msg.go +++ b/client/group_msg.go @@ -466,7 +466,7 @@ func (c *QQClient) parseGroupMessage(m *msg.Message) *message.GroupMessage { if mem = group.FindMemberWithoutLock(m.Head.GetFromUin()); mem != nil { return } - info, _ := c.getMemberInfo(group.Code, m.Head.GetFromUin()) + info, _ := c.GetMemberInfo(group.Code, m.Head.GetFromUin()) if info == nil { return }