add AddCommand.kt

This commit is contained in:
dalbodeule
2024-06-12 22:35:24 +09:00
parent 4b7fe25b21
commit e1b7b37c85
5 changed files with 69 additions and 2 deletions

View File

@@ -29,9 +29,17 @@ object ChzzkHandler {
handler.disable()
}
}
internal fun reloadCommand(chzzkChannel: ChzzkChannel) {
val handler = handlers.firstOrNull { it.channel == chzzkChannel }
if (handler != null)
handler.reloadCommand()
else
throw RuntimeException("${chzzkChannel.channelName} doesn't have handler")
}
}
class UserHandler(private val channel: ChzzkChannel, private val logger: Logger) {
class UserHandler(val channel: ChzzkChannel, private val logger: Logger) {
private lateinit var messageHandler: MessageHandler
private var listener: ChzzkChat = chzzk.chat(channel.channelId)
@@ -66,4 +74,8 @@ class UserHandler(private val channel: ChzzkChannel, private val logger: Logger)
internal fun disable() {
listener.closeBlocking()
}
internal fun reloadCommand() {
messageHandler.reloadCommand()
}
}

View File

@@ -6,6 +6,7 @@ import space.mori.chzzk_bot.services.UserService
import xyz.r2turntrue.chzzk4j.chat.ChatMessage
import xyz.r2turntrue.chzzk4j.chat.ChzzkChat
import xyz.r2turntrue.chzzk4j.types.channel.ChzzkChannel
class MessageHandler(
private val channel: ChzzkChannel,
private val logger: Logger,
@@ -14,6 +15,10 @@ class MessageHandler(
private val commands = mutableMapOf<String, () -> Unit>()
init {
reloadCommand()
}
internal fun reloadCommand() {
val user = UserService.getUser(channel.channelId)
?: throw RuntimeException("User not found. it's bug? ${channel.channelName} - ${channel.channelId}")
val commands = CommandService.getCommands(user)