diff --git a/client/builders.go b/client/builders.go index 5f186caf..c6ec02ae 100644 --- a/client/builders.go +++ b/client/builders.go @@ -959,15 +959,19 @@ func (c *QQClient) buildGroupMuteAllPacket(groupCode int64, mute bool) (uint16, } // OidbSvc.0x8a0_0 -func (c *QQClient) buildGroupKickPacket(groupCode, memberUin int64, kickMsg string) (uint16, []byte) { +func (c *QQClient) buildGroupKickPacket(groupCode, memberUin int64, kickMsg string, block bool) (uint16, []byte) { seq := c.nextSeq() + flagBlock := 0 + if block { + flagBlock = 1 + } body := &oidb.D8A0ReqBody{ OptUint64GroupCode: groupCode, MsgKickList: []*oidb.D8A0KickMemberInfo{ { OptUint32Operate: 5, OptUint64MemberUin: memberUin, - OptUint32Flag: 1, + OptUint32Flag: int32(flagBlock), }, }, KickMsg: []byte(kickMsg), diff --git a/client/client.go b/client/client.go index 052e4427..bd95e9e3 100644 --- a/client/client.go +++ b/client/client.go @@ -940,8 +940,8 @@ func (c *QQClient) quitGroup(groupCode int64) { _, _ = c.sendAndWait(c.buildQuitGroupPacket(groupCode)) } -func (c *QQClient) kickGroupMember(groupCode, memberUin int64, msg string) { - _, _ = c.sendAndWait(c.buildGroupKickPacket(groupCode, memberUin, msg)) +func (c *QQClient) kickGroupMember(groupCode, memberUin int64, msg string, block bool) { + _, _ = c.sendAndWait(c.buildGroupKickPacket(groupCode, memberUin, msg, block)) } func (g *GroupInfo) removeMember(uin int64) {