mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-07 00:30:50 +00:00
[AB-xxx] fixing combined parameters not providing the appropriate option types for slash commands
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package dev.sheldan.abstracto.core.command.config;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public class CombinedParameterEntry {
|
||||
private Class type;
|
||||
private boolean usableInSlashCommands;
|
||||
private boolean usableInMessageCommands;
|
||||
|
||||
public static CombinedParameterEntry slashParameter(Class type) {
|
||||
return CombinedParameterEntry
|
||||
.builder()
|
||||
.type(type)
|
||||
.usableInSlashCommands(true)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static CombinedParameterEntry messageParameter(Class type) {
|
||||
return CombinedParameterEntry
|
||||
.builder()
|
||||
.type(type)
|
||||
.usableInMessageCommands(true)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static CombinedParameterEntry parameter(Class type) {
|
||||
return CombinedParameterEntry
|
||||
.builder()
|
||||
.type(type)
|
||||
.usableInMessageCommands(true)
|
||||
.usableInSlashCommands(true)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.interaction.slash.parameter;
|
||||
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.models.database.AEmote;
|
||||
import net.dv8tion.jda.api.entities.emoji.Emoji;
|
||||
import net.dv8tion.jda.api.interactions.commands.CommandInteractionPayload;
|
||||
@@ -17,6 +18,7 @@ public interface SlashCommandParameterService {
|
||||
Boolean hasCommandOptionWithFullType(String name, CommandInteractionPayload event, OptionType optionType);
|
||||
AEmote loadAEmoteFromString(String input, CommandInteractionPayload event);
|
||||
Emoji loadEmoteFromString(String input, CommandInteractionPayload event);
|
||||
List<OptionType> getTypesFromParameter(Parameter parameter);
|
||||
List<OptionType> getTypesFromParameter(Class clazz);
|
||||
String getFullQualifiedParameterName(String name, OptionType type);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
package dev.sheldan.abstracto.core.interaction.slash.parameter.provider;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.interaction.slash.parameter.SlashCommandOptionTypeMapping;
|
||||
|
||||
public interface SlashCommandParameterProvider {
|
||||
SlashCommandOptionTypeMapping getOptionMapping();
|
||||
|
||||
default SlashCommandOptionTypeMapping getOptionMapping(Parameter parameter) {
|
||||
return getOptionMapping();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user