Class ModernBaseMessageContextMenu
java.lang.Object
com.dianxin.tori.api.commands.messagecontext.ModernBaseMessageContextMenu
- All Implemented Interfaces:
IMessageContextMenu
An abstract base class for modern Message Context Menus.
Subclasses extending this class must be annotated with ContextMenu
to provide the necessary metadata (like the interaction name) to the CommandRegistrar.
Execution constraints are handled dynamically via class-level annotations.
-
Constructor Summary
ConstructorsConstructorDescriptionModernBaseMessageContextMenu(net.dv8tion.jda.api.JDA jda, IBotMeta meta) Constructs a new ModernBaseMessageContextMenu. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidexecute(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent event) The core execution logic of the message context menu command.protected net.dv8tion.jda.api.JDAgetJda()Retrieves the JDA instance associated with this command.protected org.slf4j.LoggerRetrieves the logger instance for the current command.final voidhandle(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent event, CommandReplyConfig replyConfig) Handles the lifecycle and validation of the message context menu execution.
-
Constructor Details
-
ModernBaseMessageContextMenu
Constructs a new ModernBaseMessageContextMenu.- Parameters:
jda- TheJDAinstance running this command.meta- TheIBotMetacontaining the bot's metadata.
-
-
Method Details
-
getLogger
protected org.slf4j.Logger getLogger()Retrieves the logger instance for the current command. * @return TheLoggerinstance. -
getJda
protected net.dv8tion.jda.api.JDA getJda()Retrieves the JDA instance associated with this command. * @return TheJDAinstance. -
handle
public final void handle(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent event, CommandReplyConfig replyConfig) Handles the lifecycle and validation of the message context menu execution. Parses the command's class annotations to enforce restrictions before delegating toexecute(MessageContextInteractionEvent).- Specified by:
handlein interfaceIMessageContextMenu- Parameters:
event- TheMessageContextInteractionEventtriggered by Discord.replyConfig- The configuration used for custom error or rejection messages.
-
execute
protected abstract void execute(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent event) The core execution logic of the message context menu command. Developers must implement this method to define what the command actually does after passing all checks.- Parameters:
event- The validMessageContextInteractionEventpassed through all pre-execution checks.
-