diff --git a/client/builders.go b/client/builders.go index ef836780..8b041dd0 100644 --- a/client/builders.go +++ b/client/builders.go @@ -1149,3 +1149,16 @@ func (c *QQClient) buildWordSegmentationPacket(data []byte) (uint16, []byte) { }) return c.uniPacket("OidbSvc.0xd79", payload) } + +// OidbSvc.0x4ff_9 +func (c *QQClient) buildUpdateQQNicknamePacket(name string) (uint16, []byte) { + b, cl := binary.OpenWriterF(func(w *binary.Writer) { + w.WriteUInt32(uint32(c.Uin)) + w.WriteByte(0) + w.WriteUInt32(uint32(85538)) + w.WriteStringShort(name) + }) + payload := c.packOIDBPackage(1279, 9, b) + cl() + return c.uniPacket("OidbSvc.0x4ff_9", payload) +} diff --git a/client/client.go b/client/client.go index d2d53b9e..b92c8cf7 100644 --- a/client/client.go +++ b/client/client.go @@ -750,6 +750,11 @@ func (g *GroupInfo) removeMember(uin int64) { }) } +// SetNickname 设置 QQ 昵称 +func (c *QQClient) SetNickname(name string) { + _, _ = c.sendAndWait(c.buildUpdateQQNicknamePacket(name)) +} + func (c *QQClient) SetCustomServer(servers []*net.TCPAddr) { c.servers = append(servers, c.servers...) }