[hotfix] temporary debug.

This commit is contained in:
dalbodeule
2025-07-13 18:05:29 +09:00
parent 945d3fd5e4
commit 9e3a79a613

View File

@@ -206,7 +206,7 @@ class UserHandler(
) { ) {
lateinit var client: ChzzkClient lateinit var client: ChzzkClient
lateinit var chatChannelId: String lateinit var chatChannelId: String
lateinit var listener: ChzzkUserSession var listener: ChzzkUserSession? = null
lateinit var messageHandler: MessageHandler lateinit var messageHandler: MessageHandler
private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java) private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java)
@@ -233,14 +233,12 @@ class UserHandler(
client.loginAsync().await() client.loginAsync().await()
listener = ChzzkSessionBuilder(client).buildUserSession() listener = ChzzkSessionBuilder(client).buildUserSession()
listener.createAndConnectAsync().await()
listener.subscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await()
delay(5000L) delay(5000L)
messageHandler = MessageHandler(this@UserHandler) messageHandler = MessageHandler(this@UserHandler)
logger.info("${user.username} message handler init.") logger.info("${user.username} message handler init.")
listener.on(SessionChatMessageEvent::class.java) { listener?.on(SessionChatMessageEvent::class.java) {
messageHandler.handle(it.message, user) messageHandler.handle(it.message, user)
} }
logger.info("${user.username} is connected.") logger.info("${user.username} is connected.")
@@ -264,8 +262,8 @@ class UserHandler(
} }
internal suspend fun disable() { internal suspend fun disable() {
listener.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await() listener?.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await()
listener.disconnectAsync()?.await() listener?.disconnectAsync()?.await()
_isActive = false _isActive = false
} }
@@ -284,8 +282,11 @@ class UserHandler(
internal fun isActive(value: Boolean, status: ChzzkLiveDetail) { internal fun isActive(value: Boolean, status: ChzzkLiveDetail) {
if(value) { if(value) {
CoroutineScope(Dispatchers.Default).launch { CoroutineScope(Dispatchers.Default).launch {
if(listener == null)
connect() connect()
listener!!.createAndConnectAsync()?.await()
listener!!.subscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.await()
logger.info("${user.username} is live.") logger.info("${user.username} is live.")
reloadUser(UserService.getUser(user.id.value)!!) reloadUser(UserService.getUser(user.id.value)!!)
@@ -325,8 +326,8 @@ class UserHandler(
} else { } else {
logger.info("${user.username} is offline.") logger.info("${user.username} is offline.")
streamStartTime = null streamStartTime = null
listener.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.join() listener?.unsubscribeAsync(ChzzkSessionSubscriptionType.CHAT)?.join()
listener.disconnectAsync()?.join() listener?.disconnectAsync()?.join()
_isActive = false _isActive = false
CoroutineScope(Dispatchers.Default).launch { CoroutineScope(Dispatchers.Default).launch {