kord-extensions
kord-extensions copied to clipboard
Argument converters fail to read arguments with capital letters in the name
Description
Argument converters like stringChoice
allow using a capitalized argument name for the name
attribute. However when using a command with such an argument, the value is not read correctly, either using the default, if one exists, or showing an error (Invalid value for argument Choice (which accepts: text)
)
Versions
Latest KordEx snapshot at 1.5.5-SNAPSHOT
Code Examples
class TestExtension : Extension() {
override val name = "test"
override suspend fun setup() {
publicSlashCommand(::TestArgs) {
name = "test"
description = "test"
guild(TEST_SERVER_ID)
action {
respond {
content = arguments.choice
}
}
}
}
class TestArgs : Arguments() {
val choice by stringChoice {
name = "Choice"
description = "Choice"
choices = listOf("this", "other", "that")
.associateBy { it }
.toMutableMap()
}
}
}
Suggestions
I'd suggest disallowing capitals in the name entirely: discord lowercases arg names anyway, so it's misleading to allow them. Same goes for command names as well.
Hello, and thanks for opening an issue! As this is the first time you've created an issue on this repository, we'd just like to offer you a warm welcome to the project, and the following pointers:
-
Most importantly, all issues must adhere to our Code of Conduct. Please give it a quick read if you haven't already.
-
While our team is passionate about the projects we've created here, we're all volunteers. Please don't be offended if it takes time for us to get to your issue - we'll be here as soonas we can be!
-
Please provide as much information as possible when asking a question, reporting a problem, or submitting a feature request. This will help us to address your issue quickly and efficiently. If you forgot to add some information, no worries - feel free to edit the issue and add anything you missed!
Thanks for contacting us! If you have any further questions, please feel free to join us on Discord in the
#dev-kotdis
channel (or#kordex-discussion
for Kord Extensions projects), or to contact a staff member directly.
Discord is fairly inconsistent with its support for capitalization, and I don't think a simple case check is sufficient because of i18n. It's true that this should be better telegraphed somehow, but I'm not 100% sure what the best way to do that is.