diff --git a/client/builders.go b/client/builders.go index 0e183c6e..4d036203 100644 --- a/client/builders.go +++ b/client/builders.go @@ -36,7 +36,7 @@ func (c *QQClient) buildLoginPacket() (uint16, []byte) { seq := c.nextSeq() req := packets.BuildOicqRequestPacket(c.Uin, 0x0810, crypto.ECDH, c.RandomKey, func(w *binary.Writer) { w.WriteUInt16(9) - w.WriteUInt16(17) + w.WriteUInt16(0x17) w.Write(tlv.T18(16, uint32(c.Uin))) w.Write(tlv.T1(uint32(c.Uin), SystemDeviceInfo.IpAddress)) diff --git a/client/decoders.go b/client/decoders.go index f1a66438..baa19a37 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -56,8 +56,9 @@ func decodeLoginResponse(c *QQClient, _ uint16, payload []byte) (interface{}, er c.t104, _ = m[0x104] if m.Exists(0x192) { // slider, not supported yet return LoginResponse{ - Success: false, - Error: UnknownLoginError, + Success: false, + VerifyUrl: string(m[0x192]), + Error: SliderNeededError, }, nil } if m.Exists(0x165) { // image diff --git a/client/entities.go b/client/entities.go index ecb35898..1611e31e 100644 --- a/client/entities.go +++ b/client/entities.go @@ -255,6 +255,7 @@ const ( SNSNeededError LoginError = 5 TooManySNSRequestError LoginError = 6 SNSOrVerifyNeededError LoginError = 7 + SliderNeededError LoginError = 8 UnknownLoginError LoginError = -1 Owner MemberPermission = iota