io.github.freya022.botcommands.internal.commands.application.slash.SlashCommandParameter.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of BotCommands Show documentation
Show all versions of BotCommands Show documentation
A Kotlin-first (and Java) framework that makes creating Discord bots a piece of cake, using the JDA library.
package io.github.freya022.botcommands.internal.commands.application.slash
import io.github.freya022.botcommands.api.commands.application.slash.builder.SlashCommandOptionAggregateBuilder
import io.github.freya022.botcommands.api.commands.application.slash.builder.SlashCommandOptionBuilder
import io.github.freya022.botcommands.api.parameters.SlashParameterResolver
import io.github.freya022.botcommands.internal.transform
class SlashCommandParameter(
slashCommandInfo: SlashCommandInfo,
slashCmdOptionAggregateBuilders: Map,
optionAggregateBuilder: SlashCommandOptionAggregateBuilder
) : AbstractSlashCommandParameter(slashCommandInfo, slashCmdOptionAggregateBuilders, optionAggregateBuilder) {
override val nestedAggregatedParameters = optionAggregateBuilder.nestedAggregates.transform {
SlashCommandParameter(slashCommandInfo, slashCmdOptionAggregateBuilders, it)
}
override fun constructOption(
slashCommandInfo: SlashCommandInfo,
optionAggregateBuilders: Map,
optionBuilder: SlashCommandOptionBuilder,
resolver: SlashParameterResolver<*, *>
) = SlashCommandOption(slashCommandInfo, optionAggregateBuilders, optionBuilder, resolver)
}