Skip to content
This repository was archived by the owner on Jun 11, 2026. It is now read-only.

Commit b3ad47c

Browse files
author
Kaleidox
committed
use interactions api for contextual interactions
1 parent 92c70f0 commit b3ad47c

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

src/main/java/org/comroid/interaction/adapter/jda/JdaAdapter.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import net.dv8tion.jda.api.events.interaction.command.GenericCommandInteractionEvent;
1212
import net.dv8tion.jda.api.events.interaction.command.GenericContextInteractionEvent;
1313
import net.dv8tion.jda.api.hooks.EventListener;
14+
import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback;
1415
import net.dv8tion.jda.api.interactions.commands.Command;
1516
import net.dv8tion.jda.api.interactions.commands.CommandInteractionPayload;
1617
import net.dv8tion.jda.api.interactions.commands.OptionMapping;
@@ -33,6 +34,7 @@
3334
import java.util.Arrays;
3435
import java.util.Map;
3536
import java.util.Objects;
37+
import java.util.logging.Level;
3638
import java.util.stream.Stream;
3739

3840
@Log
@@ -79,9 +81,10 @@ public void onEvent(@NonNull GenericEvent generic) {
7981

8082
log.finer("Dispatching command interaction " + event);
8183

82-
var builder = InteractionContext.basic(core, event.getFullCommandName().split("\\s+")).parent(this);
84+
InteractionContext.Builder builder;
8385

8486
try {
87+
builder = InteractionContext.basic(core, event.getFullCommandName().split("\\s+")).parent(this);
8588
initContextVariables(event, builder);
8689

8790
if (event instanceof GenericCommandInteractionEvent command) {
@@ -97,8 +100,11 @@ public void onEvent(@NonNull GenericEvent generic) {
97100
builder.parameter(parameter, value);
98101
}
99102
}
100-
} catch (CannotInitContext cicEx) {
101-
log.warning(cicEx.getMessage());
103+
} catch (Throwable t) {
104+
log.log(Level.SEVERE, "Failed to initilaize interaction context", t);
105+
if (event instanceof IReplyCallback callback) callback.reply(("An internal error occurred ```%s: %s``` Please contact an administrator or bot developer").formatted(
106+
t.getClass().getSimpleName(),
107+
t.getMessage())).setEphemeral(true).queue();
102108
return;
103109
}
104110

src/main/java/org/comroid/interaction/annotation/Interaction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static Resolved of(Element element, @Nullable Element parent) {
7373
.map(ThrowingFunction.fallback(Capitalization::valueOf))
7474
.filter(Objects::nonNull)
7575
.findAny()
76-
.orElse(Capitalization.lowerCamelCase);
76+
.orElse(Capitalization.lower_hyphen_case);
7777

7878
return new Resolved(RegistryHelper.findName(element).map(nameCapitalization::convert).orElseThrow(),
7979
RegistryHelper.findDescription(element.annotated).orElse(null),

0 commit comments

Comments
 (0)