فهرست منبع

Fix serverTime diff: ignore serverTime when it is zero

Him188 4 سال پیش
والد
کامیت
2247543f65
1فایلهای تغییر یافته به همراه3 افزوده شده و 2 حذف شده
  1. 3 2
      mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt

+ 3 - 2
mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt

@@ -158,9 +158,10 @@ internal class StatSvc {
                 bot.configuration.statHeartbeatPeriodMillis = it.times(1000).toLong()
             }
 
-            val diffMillis = packet.origin.serverTime - currentTimeMillis()
+            val serverTime = packet.origin.serverTime
+            val diffMillis = if (serverTime == 0L) 0 else serverTime - currentTimeMillis()
             bot.components[ClockHolder].server = Clock.SystemDefault.adjusted(diffMillis)
-            bot.network.logger.info { "Server time updated, diff: ${diffMillis}ms=${diffMillis.millisToHumanReadableString()}" }
+            bot.network.logger.info { "Server time updated, serverTime: $serverTime, diff: ${diffMillis}ms=${diffMillis.millisToHumanReadableString()}" }
         }
 
         fun online(