Package group.worldstandard.pudel.api.interaction
package group.worldstandard.pudel.api.interaction
Discord interaction handling API (slash commands, buttons, modals, etc.).
This package provides interfaces for registering and managing Discord interactions. Interactions are the modern way to create Discord bot features, including slash commands, context menus, buttons, select menus, modals, and autocomplete.
Key Components:
InteractionManager- Main manager for all interaction typesSlashCommandHandler- Handler for slash commandsContextMenuHandler- Handler for context menusButtonHandler- Handler for button clicksSelectMenuHandler- Handler for select menu interactionsModalHandler- Handler for modal submissionsAutoCompleteHandler- Handler for autocomplete
Slash Command Example:
public class PingCommand implements SlashCommandHandler {
@Override
public String getName() { return "ping"; }
@Override
public String getDescription() { return "Check bot latency"; }
@Override
public void handle(SlashCommandInteractionEvent event) {
long ping = event.getJDA().getGatewayPing();
event.reply("Pong! " + ping + "ms").queue();
}
}
// Register in your plugin:
@OnEnable
public void onEnable(PluginContext context) {
InteractionManager manager = context.getInteractionManager();
manager.registerSlashCommand("my-plugin", new PingCommand());
manager.syncCommands();
}
Button Handler Example:
public class ConfirmButton implements ButtonHandler {
@Override
public String getIdPrefix() { return "confirm"; }
@Override
public void handle(ButtonInteractionEvent event) {
event.reply("Confirmed!").queue();
}
}
- Since:
- 2.3.0
-
ClassDescriptionHandler for slash command autocomplete.Handler for button interactions.Handler for context menu commands.Manager for Discord interactions (slash commands, buttons, modals, etc.).Statistics about registered interaction handlers.Handler for modal (popup form) interactions.Handler for select menu (dropdown) interactions.Handler for slash command interactions.