fix for sub commands since discord doesn't allow not showing them in dms
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 34s
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 34s
This commit is contained in:
parent
fa205d7ff2
commit
e17c8a08c2
@ -150,6 +150,7 @@ public class CommandService extends ListenerAdapter {
|
|||||||
try {
|
try {
|
||||||
BatCommandExecutor executor = null;
|
BatCommandExecutor executor = null;
|
||||||
List<Permission> requiredPermissions = new ArrayList<>();
|
List<Permission> requiredPermissions = new ArrayList<>();
|
||||||
|
boolean isSubCommand = false;
|
||||||
|
|
||||||
// No args provided, use the main command executor
|
// No args provided, use the main command executor
|
||||||
if (event.getInteraction().getSubcommandName() == null) {
|
if (event.getInteraction().getSubcommandName() == null) {
|
||||||
@ -162,6 +163,7 @@ public class CommandService extends ListenerAdapter {
|
|||||||
executor = subCommand.getValue();
|
executor = subCommand.getValue();
|
||||||
requiredPermissions.addAll(Arrays.asList(subCommand.getValue().getCommandInfo().requiredPermissions()));
|
requiredPermissions.addAll(Arrays.asList(subCommand.getValue().getCommandInfo().requiredPermissions()));
|
||||||
requiredPermissions.addAll(Arrays.asList(command.getCommandInfo().requiredPermissions())); // not sure if we'd want this, but it's here for now
|
requiredPermissions.addAll(Arrays.asList(command.getCommandInfo().requiredPermissions())); // not sure if we'd want this, but it's here for now
|
||||||
|
isSubCommand = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -196,6 +198,14 @@ public class CommandService extends ListenerAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isSubCommand && command.getCommandInfo().guildOnly() && !ranInsideGuild) {
|
||||||
|
event.replyEmbeds(EmbedUtils.errorEmbed()
|
||||||
|
.setDescription("This command can only be executed in a guild")
|
||||||
|
.build()).setEphemeral(true).queue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
log.info("Executing command \"{}\" for user \"{}\"", commandName, user.getDiscordUser().getName());
|
log.info("Executing command \"{}\" for user \"{}\"", commandName, user.getDiscordUser().getName());
|
||||||
executor.execute(guild, user, ranInsideGuild ? event.getChannel().asTextChannel() : event.getChannel().asPrivateChannel(),
|
executor.execute(guild, user, ranInsideGuild ? event.getChannel().asTextChannel() : event.getChannel().asPrivateChannel(),
|
||||||
event.getMember(), event.getInteraction());
|
event.getMember(), event.getInteraction());
|
||||||
|
Loading…
Reference in New Issue
Block a user