This commit is contained in:
dalbodeule 2024-08-14 20:18:06 +09:00
parent 370e4519c2
commit 1e1cd50e52
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65

View File

@ -6,6 +6,7 @@ import io.ktor.client.request.*
import io.ktor.http.* import io.ktor.http.*
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.serialization.Serializable 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.DiscordGuildListAPI
import space.mori.chzzk_bot.webserver.dotenv import space.mori.chzzk_bot.webserver.dotenv
import java.time.Instant import java.time.Instant
@ -54,17 +55,22 @@ object DiscordGuildCache {
if(DiscordRatelimits.isLimited()) { if(DiscordRatelimits.isLimited()) {
delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L) delay(DiscordRatelimits.getRateReset().takeIf { it > 1000L } ?: 3000L)
} }
val guilds = fetchGuilds(lastGuildId) try {
if (guilds.isEmpty()) { val guilds = fetchGuilds(lastGuildId)
break if (guilds.isEmpty()) {
} break
}
guilds.forEach { guilds.forEach {
cache[it.id] = CachedGuilds( cache[it.id] = CachedGuilds(
Guild(it.id, it.name, it.icon, it.banner) 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
} }
} }