From 0e3264a9f3f005aebe3eb33dc9ba759f29fc60dc Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Wed, 14 Aug 2024 20:28:17 +0900 Subject: [PATCH] asdf11 --- .../chzzk_bot/webserver/utils/DiscordGuildCache.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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 9a28094..e166d2d 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 @@ -30,6 +30,9 @@ object DiscordGuildCache { } private suspend fun fetchGuilds(beforeGuildId: String? = null, limit: Int = 100): List { + if(DiscordRatelimits.isLimited()) { + delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L) + } val result = applicationHttpClient.get("https://discord.com/api/users/@me/guilds") { headers { append(HttpHeaders.Authorization, "Bot ${dotenv["DISCORD_TOKEN"]}") @@ -52,9 +55,6 @@ object DiscordGuildCache { private suspend fun fetchAllGuilds() { var lastGuildId: String? = null while (true) { - if(DiscordRatelimits.isLimited()) { - delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L) - } try { val guilds = fetchGuilds(lastGuildId) if (guilds.isEmpty()) { @@ -63,7 +63,8 @@ object DiscordGuildCache { guilds.forEach { cache[it.id] = CachedGuilds( - Guild(it.id, it.name, it.icon, it.banner) + Guild(it.id, it.name, it.icon, it.banner), + Instant.now().plusSeconds(EXP_SECONDS), ) } lastGuildId = guilds.last().id @@ -76,7 +77,7 @@ object DiscordGuildCache { fun addGuild(guilds: Map) { cache.putAll(guilds.map { - it.key to CachedGuilds(it.value, Instant.now()) + it.key to CachedGuilds(it.value, Instant.now().plusSeconds(EXP_SECONDS)) }) } }