From 1e1cd50e52d7c127df53657c34e7d8d12892547e Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Wed, 14 Aug 2024 20:18:06 +0900 Subject: [PATCH] asdf9 --- .../webserver/utils/DiscordGuildCache.kt | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 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 b6ea531..3de8c84 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 @@ -6,6 +6,7 @@ import io.ktor.client.request.* import io.ktor.http.* import kotlinx.coroutines.delay import kotlinx.serialization.Serializable +import space.mori.chzzk_bot.common.utils.logger import space.mori.chzzk_bot.webserver.DiscordGuildListAPI import space.mori.chzzk_bot.webserver.dotenv import java.time.Instant @@ -54,17 +55,22 @@ object DiscordGuildCache { if(DiscordRatelimits.isLimited()) { delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L) } - val guilds = fetchGuilds(lastGuildId) - if (guilds.isEmpty()) { - break - } + try { + val guilds = fetchGuilds(lastGuildId) + if (guilds.isEmpty()) { + break + } - guilds.forEach { - cache[it.id] = CachedGuilds( - Guild(it.id, it.name, it.icon, it.banner) - ) + guilds.forEach { + cache[it.id] = CachedGuilds( + Guild(it.id, it.name, it.icon, it.banner) + ) + } + lastGuildId = guilds.last().id + } catch(e: Exception) { + logger.info("Exception in discord caches. ${e.stackTraceToString()}") + return } - lastGuildId = guilds.last().id } }