From 945d3fd5e4661f999de8cb651b44b7b06e9b2378 Mon Sep 17 00:00:00 2001 From: dalbodeule <11470513+dalbodeule@users.noreply.github.com> Date: Tue, 24 Jun 2025 16:59:18 +0900 Subject: [PATCH] [hotfix] add title change command; restrict usage to moderators. --- .../chzzk_bot/chatbot/chzzk/MessageHandler.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt index 65caeee..5629518 100644 --- a/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt +++ b/chatbot/src/main/kotlin/space/mori/chzzk_bot/chatbot/chzzk/MessageHandler.kt @@ -63,6 +63,7 @@ class MessageHandler( "!노래목록" to this::songListCommand, "!노래시작" to this::songStartCommand, "!카테고리" to this::categoryChangeCommand, + "!방제" to this::titleChangeCommand, ) manageCommands.forEach { (commandName, command) -> @@ -350,6 +351,25 @@ class MessageHandler( } } + private fun titleChangeCommand(msg: SessionChatMessage, user: User) { + if (msg.profile.badges.none { it.isModerator() }) { + handler.sendChat("매니저만 이 명령어를 사용할 수 있습니다.") + return + } + + val parts = msg.content.split(" ", limit = 2) + if(parts.size <= 1) { + handler.sendChat("입력된 방송 제목이 없습니다.") + return + } + val title = parts[1] + val settings = ChzzkLiveSettings() + settings.defaultLiveTitle = title + + handler.client.modifyLiveSettings(settings) + handler.sendChat("$title 로 수정했어요!") + } + internal fun handle(msg: SessionChatMessage, user: User) { if(msg.senderChannelId == ChzzkHandler.botUid) return