github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/client/sign.go (about)

     1  package client
     2  
     3  import (
     4  	"strconv"
     5  
     6  	"github.com/Mrs4s/MiraiGo/client/pb/oidb"
     7  	"github.com/Mrs4s/MiraiGo/internal/proto"
     8  )
     9  
    10  // SendGroupSign 发送群聊打卡消息
    11  func (c *QQClient) SendGroupSign(target int64) {
    12  	_, pkt := c.buildGroupSignPacket(target)
    13  	_ = c.sendPacket(pkt)
    14  }
    15  
    16  func (c *QQClient) buildGroupSignPacket(groupId int64) (uint16, []byte) {
    17  	body := &oidb.DEB7ReqBody{
    18  		SignInWriteReq: &oidb.StSignInWriteReq{
    19  			Uid:           proto.Some(strconv.Itoa(int(c.Uin))),
    20  			GroupId:       proto.Some(strconv.Itoa(int(groupId))),
    21  			ClientVersion: proto.Some("8.5.0"),
    22  		},
    23  	}
    24  	b, _ := proto.Marshal(body)
    25  	payload := c.packOIDBPackage(3767, 1, b)
    26  	return c.uniPacket("OidbSvc.0xeb7", payload)
    27  }