diff --git a/client/builders.go b/client/builders.go index 2329c9be..a9389cec 100644 --- a/client/builders.go +++ b/client/builders.go @@ -1260,11 +1260,11 @@ func (c *QQClient) buildWordSegmentationPacket(data []byte) (uint16, []byte) { } // OidbSvc.0xdad_1 -func (c *QQClient) sendGroupGiftPacket(groupCode, uin, productId uint64) (uint16, []byte) { +func (c *QQClient) sendGroupGiftPacket(groupCode, uin uint64, productId GroupGift) (uint16, []byte) { seq := c.nextSeq() body := &oidb.DADReqBody{ Client: 1, - ProductId: productId, + ProductId: uint64(productId), ToUin: uin, Gc: groupCode, Version: "V 8.4.5.4745", diff --git a/client/client.go b/client/client.go index 7fa352dc..acfb0cde 100644 --- a/client/client.go +++ b/client/client.go @@ -954,8 +954,9 @@ func (c *QQClient) SetCustomServer(servers []*net.TCPAddr) { c.servers = append(servers, c.servers...) } -func (c *QQClient) SendGroupGift(groupCode, uin, productId uint64) { - _, _ = c.sendAndWait(c.sendGroupGiftPacket(groupCode, uin, productId)) +func (c *QQClient) SendGroupGift(groupCode, uin uint64, gift GroupGift) { + _, packet := c.sendGroupGiftPacket(groupCode, uin, gift) + _ = c.send(packet) } func (c *QQClient) registerClient() { diff --git a/client/entities.go b/client/entities.go index ddbad763..ee299894 100644 --- a/client/entities.go +++ b/client/entities.go @@ -19,6 +19,8 @@ type ( ClientProtocol int + GroupGift int + LoginResponse struct { Success bool Error LoginError @@ -251,6 +253,16 @@ const ( AndroidPhone ClientProtocol = 537062845 AndroidPad ClientProtocol = 537062409 AndroidWatch ClientProtocol = 537061176 + + SweetWink GroupGift = 285 + HappyCola GroupGift = 289 + LuckyBracelet GroupGift = 290 + Cappuccino GroupGift = 299 + CatWatch GroupGift = 302 + FleeceGloves GroupGift = 302 + RainbowCandy GroupGift = 308 + Stronger GroupGift = 313 + LoveMicrophone GroupGift = 367 ) func (g *GroupInfo) UpdateName(newName string) {