From faeb9c69b6475d21e78b2f7b9a02b5d803678a4c Mon Sep 17 00:00:00 2001 From: Jannik Reimers Date: Wed, 6 Nov 2024 19:52:19 +0100 Subject: [PATCH] add remove subcommand --- .../feixiao/extensions/StreamerCommand.kt | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/dev/jansel/feixiao/extensions/StreamerCommand.kt b/src/main/kotlin/dev/jansel/feixiao/extensions/StreamerCommand.kt index a7a4ec5..2dde0c5 100644 --- a/src/main/kotlin/dev/jansel/feixiao/extensions/StreamerCommand.kt +++ b/src/main/kotlin/dev/jansel/feixiao/extensions/StreamerCommand.kt @@ -19,9 +19,9 @@ class StreamerCommand : Extension() { name = "streamer" description = "Streamer commands" - publicSubCommand(::StreamerArgs) { + publicSubCommand(::AddStreamerArgs) { name = "add" - description = "Add a streamer to the listener" + description = "Add a streamer to the listener of this server" check { anyGuild() hasPermission(Permission.ManageGuild) @@ -35,10 +35,26 @@ class StreamerCommand : Extension() { } } } + + publicSubCommand(::RemoveStreamerArgs) { + name = "remove" + description = "Remove a streamer from the listener of this server" + check { + anyGuild() + hasPermission(Permission.ManageGuild) + } + action { + val streamer = arguments.streamer + StreamerCollection().removeData(guild!!.id, channel.id, streamer, null) + respond { + content = "Removed streamer $streamer" + } + } + } } } - inner class StreamerArgs : Arguments() { + inner class AddStreamerArgs : Arguments() { val streamer by string { name = "streamer" description = "The streamer to add" @@ -56,4 +72,11 @@ class StreamerCommand : Extension() { } } + inner class RemoveStreamerArgs : Arguments() { + val streamer by string { + name = "streamer" + description = "The streamer to remove" + require(true) + } + } }