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 e166d2d..cdd5098 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 @@ -29,7 +29,7 @@ object DiscordGuildCache { return guildId.mapNotNull { getCachedGuilds(it) } } - private suspend fun fetchGuilds(beforeGuildId: String? = null, limit: Int = 100): List { + private suspend fun fetchGuilds(beforeGuildId: String? = null): List { if(DiscordRatelimits.isLimited()) { delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L) } @@ -37,7 +37,7 @@ object DiscordGuildCache { headers { append(HttpHeaders.Authorization, "Bot ${dotenv["DISCORD_TOKEN"]}") } - parameter("limit", limit) + parameter("limit", 200) if (beforeGuildId != null) { parameter("before", beforeGuildId) } @@ -57,7 +57,7 @@ object DiscordGuildCache { while (true) { try { val guilds = fetchGuilds(lastGuildId) - if (guilds.isEmpty()) { + if (guilds.isEmpty() || guilds.size <= 200) { break } 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 3a4f795..90a40f8 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 * 1000L + 300L + fun getRateReset() = (rateLimit.resetAfter * 1000) + 300L private fun setRateLimit(rateLimit: RateLimit) { this.rateLimit = rateLimit