1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

feature: reg rsp check.

This commit is contained in:
Mrs4s 2020-11-04 14:01:31 +08:00
parent 7cc6f1c926
commit 1ffb131768
2 changed files with 15 additions and 5 deletions

View File

@ -248,7 +248,7 @@ func (c *QQClient) SubmitSMS(code string) (*LoginResponse, error) {
func (c *QQClient) init() {
c.Online = true
c.registerClient()
_ = c.registerClient()
c.groupSysMsgCache, _ = c.GetGroupSystemMessages()
if !c.heartbeatEnabled {
c.startHeartbeat()
@ -949,9 +949,9 @@ func (c *QQClient) SendGroupGift(groupCode, uin uint64, gift message.GroupGift)
_ = c.send(packet)
}
func (c *QQClient) registerClient() {
_, packet := c.buildClientRegisterPacket()
_ = c.send(packet)
func (c *QQClient) registerClient() error {
_, err := c.sendAndWait(c.buildClientRegisterPacket())
return err
}
func (c *QQClient) nextSeq() uint16 {
@ -1034,7 +1034,12 @@ func (c *QQClient) netLoop() {
break
}
reader = binary.NewNetworkReader(c.Conn)
c.registerClient()
if c.registerClient() != nil {
c.Disconnect()
c.lastLostMsg = "register client failed."
c.Error("reconnect failed: register client failed.")
break
}
}
if l <= 0 {
retry++

View File

@ -170,6 +170,11 @@ func decodeClientRegisterResponse(_ *QQClient, _ uint16, payload []byte) (interf
request.ReadFrom(jce.NewJceReader(payload))
data := &jce.RequestDataVersion2{}
data.ReadFrom(jce.NewJceReader(request.SBuffer))
svcRsp := &jce.SvcRespRegister{}
svcRsp.ReadFrom(jce.NewJceReader(data.Map["SvcRespRegister"]["QQService.SvcRespRegister"][1:]))
if svcRsp.Result != "" || svcRsp.Status != 11 {
return nil, errors.New("reg failed")
}
return nil, nil
}