From 55f6f5f94d2aa4f3697d669e7d62232e824abe03 Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Sat, 3 Aug 2024 09:25:28 +0900 Subject: [PATCH] Chzzk uptime is in status. - status:IData 's openDate is real uptime. --- .../chzzk_bot/chatbot/chzzk/ChzzkHandler.kt | 3 ++- .../utils/convertChzzkDateToLocalDateTime.kt | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 common/src/main/kotlin/space/mori/chzzk_bot/common/utils/convertChzzkDateToLocalDateTime.kt diff --git a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt index cadb032..574ddf8 100644 --- a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt +++ b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/ChzzkHandler.kt @@ -14,6 +14,7 @@ import space.mori.chzzk_bot.common.events.TimerEvent import space.mori.chzzk_bot.common.events.TimerType import space.mori.chzzk_bot.common.models.User import space.mori.chzzk_bot.common.services.UserService +import space.mori.chzzk_bot.common.utils.convertChzzkDateToLocalDateTime import space.mori.chzzk_bot.common.utils.getUptime import xyz.r2turntrue.chzzk4j.chat.ChatEventListener import xyz.r2turntrue.chzzk4j.chat.ChatMessage @@ -148,7 +149,7 @@ class UserHandler( logger.info("ChzzkChat connecting... ${channel.channelName} - ${channel.channelId}") listener.connectBlocking() - streamStartTime = LocalDateTime.now() + streamStartTime = convertChzzkDateToLocalDateTime(status.content.openDate) CoroutineScope(Dispatchers.Default).launch { dispatcher.post(TimerEvent( diff --git a/common/src/main/kotlin/space/mori/chzzk_bot/common/utils/convertChzzkDateToLocalDateTime.kt b/common/src/main/kotlin/space/mori/chzzk_bot/common/utils/convertChzzkDateToLocalDateTime.kt new file mode 100644 index 0000000..c699fa2 --- /dev/null +++ b/common/src/main/kotlin/space/mori/chzzk_bot/common/utils/convertChzzkDateToLocalDateTime.kt @@ -0,0 +1,20 @@ +package space.mori.chzzk_bot.common.utils + +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter +import java.time.format.DateTimeParseException + +val logger: Logger = LoggerFactory.getLogger("convertChzzkDateToLocalDateTime") + +fun convertChzzkDateToLocalDateTime(chzzkDate: String): LocalDateTime? { + val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") + + return try { + LocalDateTime.parse(chzzkDate, formatter) + } catch(e: DateTimeParseException) { + logger.debug("Error to parsing date", e) + null + } +} \ No newline at end of file