chzzkHandler fix

This commit is contained in:
dalbodeule 2024-08-15 19:26:26 +09:00
parent 032a03b3ce
commit 23c28ce643
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65

View File

@ -181,7 +181,9 @@ class UserHandler(
private var user: User, private var user: User,
var streamStartTime: LocalDateTime?, var streamStartTime: LocalDateTime?,
) { ) {
private val messageHandler = MessageHandler(this@UserHandler) var messageHandler: MessageHandler
var listener: ChzzkChat
private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java) private val dispatcher: CoroutinesEventBus by inject(CoroutinesEventBus::class.java)
private var _isActive: Boolean private var _isActive: Boolean
get() = LiveStatusService.getLiveStatus(user)?.status ?: false get() = LiveStatusService.getLiveStatus(user)?.status ?: false
@ -189,11 +191,13 @@ class UserHandler(
LiveStatusService.updateOrCreate(user, value) LiveStatusService.updateOrCreate(user, value)
} }
var listener: ChzzkChat = chzzk.chat(channel.channelId) init {
messageHandler = MessageHandler(this@UserHandler)
listener = chzzk.chat(channel.channelId)
.withAutoReconnect(true) .withAutoReconnect(true)
.withChatListener(object : ChatEventListener { .withChatListener(object : ChatEventListener {
override fun onConnect(chat: ChzzkChat, isReconnecting: Boolean) { override fun onConnect(chat: ChzzkChat, isReconnecting: Boolean) {
logger.info("ChzzkChat connected. ${channel.channelName} - ${channel.channelId} / reconnected: $isReconnecting") logger.info("${channel.channelName} - ${channel.channelId} / reconnected: $isReconnecting")
} }
override fun onError(ex: Exception) { override fun onError(ex: Exception) {
@ -212,6 +216,8 @@ class UserHandler(
} }
}) })
.build() .build()
}
internal fun disable() { internal fun disable() {
listener.closeAsync() listener.closeAsync()