diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordGuildCache.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordGuildCache.kt index 09e5c5e..6e2c343 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordGuildCache.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordGuildCache.kt @@ -51,8 +51,8 @@ object DiscordGuildCache { private suspend fun fetchAllGuilds() { var lastGuildId: String? = null while (true) { - while(!DiscordRatelimits.isLimited()) { - delay(DiscordRatelimits.getRateReset()) + while(DiscordRatelimits.isLimited()) { + delay(DiscordRatelimits.getRateReset().takeIf { it > 0 } ?: 5000L) } val guilds = fetchGuilds(lastGuildId) if (guilds.isEmpty()) { diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordRatelimits.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordRatelimits.kt index 4f4cfb3..d0e3364 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordRatelimits.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/utils/DiscordRatelimits.kt @@ -7,7 +7,7 @@ object DiscordRatelimits { return rateLimit.remainin == 0 } - fun getRateReset() = rateLimit.resetAfter + fun getRateReset() = rateLimit.resetAfter * 1000L private fun setRateLimit(rateLimit: RateLimit) { this.rateLimit = rateLimit