From 080b17cf258a666dcfc4738125753e10b8da01e8 Mon Sep 17 00:00:00 2001 From: koply Date: Sun, 25 Jun 2023 12:46:33 +0300 Subject: [PATCH] update to 5.1.0 fixed blank slash options --- .../me/koply/kcommando/internal/boxes/SlashBox.java | 3 ++- javacord-integration/pom.xml | 2 +- jda-integration/pom.xml | 2 +- .../kcommando/integration/impl/jda/JDAIntegration.java | 10 ++++++++-- jda-integration/src/main/test/me/koply/aaa/Test.java | 5 +++++ pom.xml | 8 ++++---- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/internal/src/main/java/me/koply/kcommando/internal/boxes/SlashBox.java b/internal/src/main/java/me/koply/kcommando/internal/boxes/SlashBox.java index f39f32f..d0c345f 100644 --- a/internal/src/main/java/me/koply/kcommando/internal/boxes/SlashBox.java +++ b/internal/src/main/java/me/koply/kcommando/internal/boxes/SlashBox.java @@ -16,7 +16,8 @@ public SlashBox(Object instance, Method method, Class clazz, HandleSlash info } public Optional getPerm() { - return Optional.of(method.getAnnotation(Perm.class)); + Perm annotation = method.getAnnotation(Perm.class); + return annotation == null ? Optional.empty() : Optional.of(annotation); } } \ No newline at end of file diff --git a/javacord-integration/pom.xml b/javacord-integration/pom.xml index 0df7e2d..7327801 100644 --- a/javacord-integration/pom.xml +++ b/javacord-integration/pom.xml @@ -13,7 +13,7 @@ javacord-integration - 3.7.0 + 3.8.0 diff --git a/jda-integration/pom.xml b/jda-integration/pom.xml index 97530a4..c0f16cd 100644 --- a/jda-integration/pom.xml +++ b/jda-integration/pom.xml @@ -21,7 +21,7 @@ - 5.0.0-alpha.21 + 5.0.0-beta.11 diff --git a/jda-integration/src/main/java/me/koply/kcommando/integration/impl/jda/JDAIntegration.java b/jda-integration/src/main/java/me/koply/kcommando/integration/impl/jda/JDAIntegration.java index 42dbc74..dd8034a 100644 --- a/jda-integration/src/main/java/me/koply/kcommando/integration/impl/jda/JDAIntegration.java +++ b/jda-integration/src/main/java/me/koply/kcommando/integration/impl/jda/JDAIntegration.java @@ -31,6 +31,7 @@ public JDAIntegration(JDA api) { this.api = api; } + @Override public void registerCommandHandler(CommandHandler handler) { api.addEventListener(new CommandListener(handler)); } @@ -55,17 +56,22 @@ public void registerSlashCommand(SlashBox box) { Option[] options = info.options(); OptionData[] optionDatas = new OptionData[options.length]; + int filledDatas = 0; for (int i = 0; i < options.length; i++) { if (options[i].type() == me.koply.kcommando.internal.OptionType.UNKNOWN) continue; OptionType type = OptionType.fromKey(options[i].type().value); optionDatas[i] = new OptionData(type, options[i].name(), options[i].desc(), options[i].required()); + filledDatas++; } + OptionData[] rolledOptionDatas = new OptionData[filledDatas]; + System.arraycopy(optionDatas, 0, rolledOptionDatas, 0, filledDatas); + boolean guildOnly = !info.enabledInDms(); CommandData data = new CommandDataImpl(name, desc) - .addOptions(optionDatas) - .setGuildOnly(guildOnly); + .setGuildOnly(guildOnly) + .addOptions(rolledOptionDatas); box.getPerm().ifPresent(perm -> data.setDefaultPermissions(DefaultMemberPermissions.enabledFor(Util.getPermissions(perm.value())))); diff --git a/jda-integration/src/main/test/me/koply/aaa/Test.java b/jda-integration/src/main/test/me/koply/aaa/Test.java index 1a0b7ae..b75337d 100644 --- a/jda-integration/src/main/test/me/koply/aaa/Test.java +++ b/jda-integration/src/main/test/me/koply/aaa/Test.java @@ -86,6 +86,11 @@ public static void slash(SlashCommandInteractionEvent e) { e.getHook().sendMessage("Bu bir cevap mı bilmiyorum. -> " + val).queue(); } + @HandleSlash(name = "amogus", desc = "amogus", guildId = 674334330444709904L) + public static void nonoptions(SlashCommandInteractionEvent e) { + e.reply("yes man u got that").queue(); + } + @Override public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent event) { System.out.println("slash command timez " + event.getName() + " - " + event.getCommandId()); diff --git a/pom.xml b/pom.xml index 8072230..139b376 100644 --- a/pom.xml +++ b/pom.xml @@ -10,9 +10,9 @@ 5.1.0 - scm:git:git://github.com/MusaBrt/KCommando.git - scm:git:ssh://github.com/MusaBrt/KCommando.git - https://github.com/MusaBrt/KCommando + scm:git:git://github.com/koply/KCommando.git + scm:git:ssh://github.com/koply/KCommando.git + https://github.com/koply/KCommando all @@ -25,7 +25,7 @@ KCommando Annotation based command handler wrapper for JDA & Javacord. - https://github.com/MusaBrt/KCommando + https://github.com/koply/KCommando UTF-8