mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-04 07:33:54 +00:00
[AB-xxx] adding feature to suggest slash commands for message commands, if the command is slash command only
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.command.config.features;
|
||||
|
||||
import dev.sheldan.abstracto.core.config.FeatureMode;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum CoreFeatureMode implements FeatureMode {
|
||||
SUGGEST_SLASH_COMMANDS("suggestSlashCommands");
|
||||
|
||||
private final String key;
|
||||
|
||||
CoreFeatureMode(String key) {
|
||||
this.key = key;
|
||||
}
|
||||
}
|
||||
@@ -32,12 +32,12 @@ public class UnParsedCommandParameter {
|
||||
}
|
||||
if (m.group(1) != null) {
|
||||
String group = m.group(1);
|
||||
if(!group.equals("")) {
|
||||
if(!group.isEmpty()) {
|
||||
this.parameters.add(UnparsedCommandParameterPiece.builder().value(group).build());
|
||||
}
|
||||
} else {
|
||||
String group = m.group(2);
|
||||
if(!group.equals("")) {
|
||||
if(!group.isEmpty()) {
|
||||
this.parameters.add(UnparsedCommandParameterPiece.builder().value(group).build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,10 @@ package dev.sheldan.abstracto.core.interaction.slash;
|
||||
|
||||
import dev.sheldan.abstracto.core.command.config.UserCommandConfig;
|
||||
import dev.sheldan.abstracto.core.utils.ContextUtils;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.Builder;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
@@ -67,4 +71,13 @@ public class SlashCommandConfig {
|
||||
public String getUserSlashCompatibleCommandName() {
|
||||
return userCommandName != null ? userCommandName.toLowerCase(Locale.ROOT) : null;
|
||||
}
|
||||
|
||||
public String getSlashCommandPath() {
|
||||
String root = getSlashCompatibleRootName();
|
||||
String group = getSlashCompatibleGroupName();
|
||||
String command = getSlashCompatibleCommandName();
|
||||
return Stream.of(root, group, command)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.joining(" "));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package dev.sheldan.abstracto.core.models.template.commands;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
public class SlashCommandSuggestionModel {
|
||||
private String slashCommandPath;
|
||||
}
|
||||
Reference in New Issue
Block a user