diff --git a/src/main/java/com/github/kaktushose/jda/commands/dispatching/interactions/modals/ModalDispatcher.java b/src/main/java/com/github/kaktushose/jda/commands/dispatching/interactions/modals/ModalDispatcher.java index 5991aea7e..26543c542 100644 --- a/src/main/java/com/github/kaktushose/jda/commands/dispatching/interactions/modals/ModalDispatcher.java +++ b/src/main/java/com/github/kaktushose/jda/commands/dispatching/interactions/modals/ModalDispatcher.java @@ -79,7 +79,7 @@ public void onEvent(Context context) { context.setRuntime(runtime); List<Object> arguments = new ArrayList<>(); arguments.add(new ModalEvent(context)); - arguments.addAll(event.getValues().stream().map(ModalMapping::getAsString).collect(Collectors.toSet())); + arguments.addAll(event.getValues().stream().map(ModalMapping::getAsString).collect(Collectors.toList())); modal.getMethod().invoke(runtime.getInstance(), arguments.toArray()); } catch (Exception exception) { log.error("Modal execution failed!", exception); diff --git a/src/main/java/com/github/kaktushose/jda/commands/dispatching/reply/ReplyContext.java b/src/main/java/com/github/kaktushose/jda/commands/dispatching/reply/ReplyContext.java index 3ab49278a..940c83d70 100644 --- a/src/main/java/com/github/kaktushose/jda/commands/dispatching/reply/ReplyContext.java +++ b/src/main/java/com/github/kaktushose/jda/commands/dispatching/reply/ReplyContext.java @@ -4,6 +4,7 @@ import com.github.kaktushose.jda.commands.dispatching.interactions.commands.SlashCommandContext; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.interaction.GenericInteractionCreateEvent; +import net.dv8tion.jda.api.events.interaction.ModalInteractionEvent; import net.dv8tion.jda.api.interactions.callbacks.IMessageEditCallback; import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; @@ -216,6 +217,12 @@ private void queueEdit() { queueReply(); return; } + if (event instanceof ModalInteractionEvent) { + if (((ModalInteractionEvent) event).getMessage() == null) { + queueReply(); + return; + } + } if (!event.isAcknowledged()) { callback.deferEdit().queue(); }