work on the translation stuff in kordex that is required as of version 2.3

This commit is contained in:
Jannik Reimers 2024-11-27 23:13:31 +01:00
parent e36e5a2586
commit 1800f44941
Signed by: jansel
GPG key ID: 39C62D7D5233CFD0
7 changed files with 57 additions and 26 deletions

View file

@ -13,6 +13,7 @@ import dev.jansel.feixiao.extensions.StreamerCommand
import dev.jansel.feixiao.utils.*
import dev.kord.core.entity.channel.GuildMessageChannel
import dev.kordex.core.ExtensibleBot
import dev.kordex.core.i18n.SupportedLocales
import io.github.oshai.kotlinlogging.KotlinLogging
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
@ -27,6 +28,9 @@ suspend fun main() {
add(::EventHooks)
add(::StreamerCommand)
}
i18n {
applicationCommandLocale(SupportedLocales.ENGLISH, SupportedLocales.GERMAN)
}
}
twitchClient = TwitchClientBuilder.builder()
.withEnableHelix(true)

View file

@ -1,6 +1,7 @@
package dev.jansel.feixiao.extensions
import dev.jansel.feixiao.database.collections.StreamerCollection
import dev.jansel.feixiao.i18n.Translations
import dev.jansel.feixiao.twitchClient
import dev.kord.common.entity.Permission
import dev.kordex.core.checks.anyGuild
@ -18,12 +19,12 @@ class StreamerCommand : Extension() {
override val name = "streaming"
override suspend fun setup() {
publicSlashCommand {
name = "streamer"
description = "Streamer commands"
name = Translations.Streamer.Command.name
description = Translations.Streamer.Command.description
publicSubCommand(::AddStreamerArgs) {
name = "add"
description = "Add a streamer to the listener of this server"
name = Translations.Streamer.Command.Add.name
description = Translations.Streamer.Command.Add.description
check {
anyGuild()
hasPermission(Permission.ManageGuild)
@ -39,8 +40,8 @@ class StreamerCommand : Extension() {
}
publicSubCommand(::RemoveStreamerArgs) {
name = "remove"
description = "Remove a streamer from the listener of this server"
name = Translations.Streamer.Command.Remove.name
description = Translations.Streamer.Command.Remove.description
check {
anyGuild()
hasPermission(Permission.ManageGuild)
@ -58,29 +59,29 @@ class StreamerCommand : Extension() {
inner class AddStreamerArgs : Arguments() {
val streamer by string {
name = "streamer"
description = "The streamer to add"
name = Translations.Streamer.Command.Arguments.Add.Streamer.name
description = Translations.Streamer.Command.Arguments.Add.Streamer.description
require(true)
}
val channel by channel {
name = "announcechannel"
description = "Channel where the bot will send a message when the streamer goes live"
name = Translations.Streamer.Command.Arguments.Add.Channel.name
description = Translations.Streamer.Command.Arguments.Add.Channel.description
require(true)
}
val role by optionalRole {
name = "role"
description = "Role to ping when the streamer goes live"
name = Translations.Streamer.Command.Arguments.Add.Role.name
description = Translations.Streamer.Command.Arguments.Add.Role.description
}
val message by optionalString {
name = "message"
description = "Possible placeholders (put in curly braces!!): url, name, title, category, role (if set)"
name = Translations.Streamer.Command.Arguments.Add.Message.name
description = Translations.Streamer.Command.Arguments.Add.Message.description
}
}
inner class RemoveStreamerArgs : Arguments() {
val streamer by string {
name = "streamer"
description = "The streamer to remove"
name = Translations.Streamer.Command.Arguments.Remove.name
description = Translations.Streamer.Command.Arguments.Remove.description
require(true)
}
}

View file

@ -0,0 +1,16 @@
streamer.command.name=streamer
streamer.command.description=A bundle of Streamer commands
streamer.command.add.name=add
streamer.command.add.description=Add a new streamer to the listener
streamer.command.remove.name=remove
streamer.command.remove.description=Remove a streamer from the listener
streamer.command.arguments.add.streamer.name=streamer
streamer.command.arguments.add.streamer.description=The streamer to add
streamer.command.arguments.add.channel.name=channel
streamer.command.arguments.add.channel.description=The channel to add the streamer to
streamer.command.arguments.add.role.name=role
streamer.command.arguments.add.role.description=The role to assign to the streamer
streamer.command.arguments.add.message.name=message
streamer.command.arguments.add.message.description=Custom Announce message. Placeholders (in curly braces): url, name, title, category, role (if set)
streamer.command.arguments.remove.name=streamer
streamer.command.arguments.remove.description=The streamer to remove