From f16e3658ea8e48d238989e70f3fff04f54a6d1e3 Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:24:19 +0900 Subject: [PATCH] apiDiscordRoutes fix. (7x) - some logic changed. --- .../chzzk_bot/webserver/utils/DiscordGuildCache.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 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 6e5bfd2..0e0a25c 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 @@ -22,19 +22,20 @@ object DiscordGuildCache { suspend fun getCachedGuilds(guildId: String): Guild? { val now = Instant.now() - val guild = cache[guildId] + var guild = cache[guildId] if(guild == null || guild.timestamp.plusSeconds(EXP_SECONDS).isBefore(now) || !guild.isBotAvailable) { mutex.withLock { - if(guild == null || guild.timestamp.plusSeconds(EXP_SECONDS).isBefore(now) || !guild.isBotAvailable) { + if(guild == null || guild!!.timestamp.plusSeconds(EXP_SECONDS).isBefore(now) || !guild!!.isBotAvailable) { fetchAllGuilds() + guild = cache[guildId] } try { - if (guild?.guild?.roles?.isEmpty() == true) { - guild.guild.roles = fetchGuildRoles(guildId) + if (guild!!.guild.roles.isEmpty()) { + guild!!.guild.roles = fetchGuildRoles(guildId) } - if (guild?.guild?.channel?.isEmpty() == true) { - guild.guild.channel = fetchGuildChannels(guildId) + if (guild!!.guild.channel.isEmpty()) { + guild!!.guild.channel = fetchGuildChannels(guildId) } } catch(e: Exception) { logger.info("guild fetch is failed.")