forked from Fascinated/Bat
fix help command
This commit is contained in:
parent
deb656086a
commit
ff5b83f531
@ -4,6 +4,9 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.dv8tion.jda.api.entities.emoji.Emoji;
|
import net.dv8tion.jda.api.entities.emoji.Emoji;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Fascinated (fascinated7)
|
* @author Fascinated (fascinated7)
|
||||||
*/
|
*/
|
||||||
@ -31,6 +34,12 @@ public enum Category {
|
|||||||
*/
|
*/
|
||||||
private final boolean hidden;
|
private final boolean hidden;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a category by its name
|
||||||
|
*
|
||||||
|
* @param name the name of the category
|
||||||
|
* @return the category
|
||||||
|
*/
|
||||||
public static Category getByName(String name) {
|
public static Category getByName(String name) {
|
||||||
for (Category category : Category.values()) {
|
for (Category category : Category.values()) {
|
||||||
if (category.getName().equalsIgnoreCase(name)) {
|
if (category.getName().equalsIgnoreCase(name)) {
|
||||||
@ -39,4 +48,13 @@ public enum Category {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all the visible categories
|
||||||
|
*
|
||||||
|
* @return the visible categories
|
||||||
|
*/
|
||||||
|
public static List<Category> getCategories() {
|
||||||
|
return Arrays.stream(Category.values()).filter(category -> !category.isHidden()).toList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ public class HelpCommand extends BatCommand implements EventListener {
|
|||||||
*/
|
*/
|
||||||
private MessageEmbed createHomeEmbed() {
|
private MessageEmbed createHomeEmbed() {
|
||||||
String categories = "";
|
String categories = "";
|
||||||
for (Category category : Category.values()) {
|
for (Category category : Category.getCategories()) {
|
||||||
long commandCount = commandService.getCommandsByCategory(category, true).size();
|
long commandCount = commandService.getCommandsByCategory(category, true).size();
|
||||||
categories += "➜ %s - **%s Command%s**\n".formatted(
|
categories += "➜ %s - **%s Command%s**\n".formatted(
|
||||||
category.getName(),
|
category.getName(),
|
||||||
@ -132,7 +132,7 @@ public class HelpCommand extends BatCommand implements EventListener {
|
|||||||
private LayoutComponent[] createHomeActions() {
|
private LayoutComponent[] createHomeActions() {
|
||||||
List<SelectOption> options = new ArrayList<>();
|
List<SelectOption> options = new ArrayList<>();
|
||||||
options.add(SelectOption.of("Home", "home").withEmoji(Emoji.fromUnicode("U+1F3E0")));
|
options.add(SelectOption.of("Home", "home").withEmoji(Emoji.fromUnicode("U+1F3E0")));
|
||||||
options.addAll(Arrays.stream(Category.values()).map(category ->
|
options.addAll(Category.getCategories().stream().map(category ->
|
||||||
SelectOption.of(category.getName(), category.getName()).withEmoji(category.getEmoji()))
|
SelectOption.of(category.getName(), category.getName()).withEmoji(category.getEmoji()))
|
||||||
.toList());
|
.toList());
|
||||||
|
|
||||||
|
@ -81,7 +81,6 @@ public class CommandService extends ListenerAdapter {
|
|||||||
log.info("Unregistered hidden command \"{}\" from Discord", command.getName());
|
log.info("Unregistered hidden command \"{}\" from Discord", command.getName());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (commands.containsKey(command.getName())) {
|
if (commands.containsKey(command.getName())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -118,7 +117,7 @@ public class CommandService extends ListenerAdapter {
|
|||||||
* @return The commands
|
* @return The commands
|
||||||
*/
|
*/
|
||||||
public List<BatCommand> getCommandsByCategory(Category category, boolean hideHiddenCategories) {
|
public List<BatCommand> getCommandsByCategory(Category category, boolean hideHiddenCategories) {
|
||||||
return commands.values().stream().filter(command -> command.getCategory() == category && (hideHiddenCategories && category.isHidden())).toList();
|
return commands.values().stream().filter(command -> command.getCategory() == category && (hideHiddenCategories && !category.isHidden())).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user