From 55ea6ca204c85cc3b2b24c2e31c10b2a4f14ca15 Mon Sep 17 00:00:00 2001 From: Mrs4s <1844812067@qq.com> Date: Sat, 10 Apr 2021 20:32:18 +0800 Subject: [PATCH] fix: more token failed type check. --- client/client.go | 5 +++++ client/decoders.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index 59327a63..6dda80a2 100644 --- a/client/client.go +++ b/client/client.go @@ -388,12 +388,17 @@ func (c *QQClient) init(tokenLogin bool) error { d := c.waitPacket("StatSvc.ReqMSFOffline", func(i interface{}, err error) { notify <- struct{}{} }) + d2 := c.waitPacket("MessageSvc.PushForceOffline", func(i interface{}, err error) { + notify <- struct{}{} + }) select { case <-notify: d() + d2() return errors.New("token failed") case <-time.After(time.Second): d() + d2() } } c.groupSysMsgCache, _ = c.GetGroupSystemMessages() diff --git a/client/decoders.go b/client/decoders.go index 90071d7d..49893b56 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -737,8 +737,8 @@ func decodeForceOfflinePacket(c *QQClient, _ *incomingPacketInfo, payload []byte data.ReadFrom(jce.NewJceReader(request.SBuffer)) r := jce.NewJceReader(data.Map["req_PushForceOffline"]["PushNotifyPack.RequestPushForceOffline"][1:]) tips := r.ReadString(2) - c.dispatchDisconnectEvent(&ClientDisconnectedEvent{Message: tips}) c.Disconnect() + go c.dispatchDisconnectEvent(&ClientDisconnectedEvent{Message: tips}) return nil, nil }