From c5c115f6e6632df2fe84ce7a0fef64e822d0a110 Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:11:42 +0900 Subject: [PATCH] [hotfix] make listener and messageHandler non-nullable; update related logic. --- .../chzzk_bot/chatbot/chzzk/ChzzkHandler.kt | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) 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 5ffc63a..752d903 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 @@ -206,8 +206,8 @@ class UserHandler( ) { lateinit var client: ChzzkClient lateinit var chatChannelId: String - var listener: ChzzkUserSession? = null - var messageHandler: MessageHandler? = null + lateinit var listener: ChzzkUserSession + lateinit var messageHandler: MessageHandler private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java) private var _isActive: Boolean @@ -233,7 +233,7 @@ class UserHandler( client.loginAsync().await() listener = ChzzkSessionBuilder(client).buildUserSession() - listener?.createAndConnectAsync()?.await() + listener.createAndConnectAsync()?.await() delay(1000L) @@ -255,23 +255,20 @@ class UserHandler( ) messageHandler = MessageHandler(this@UserHandler) - listener?.on(SessionChatMessageEvent::class.java) { - messageHandler?.handle(it.message, user) + listener.on(SessionChatMessageEvent::class.java) { + messageHandler.handle(it.message, user) } } internal suspend fun disable() { - listener?.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await() - listener?.disconnectAsync()?.await() - - listener = null - messageHandler = null + listener.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await() + listener.disconnectAsync()?.await() _isActive = false } internal fun reloadCommand() { - messageHandler?.reloadCommand() + messageHandler.reloadCommand() } internal fun reloadUser(user: User) { @@ -325,7 +322,7 @@ class UserHandler( } else { logger.info("${user.username} is offline.") streamStartTime = null - listener?.disconnectAsync()?.join() + listener.disconnectAsync()?.join() _isActive = false CoroutineScope(Dispatchers.Default).launch {