Class ModernBaseUserContextMenu

java.lang.Object
com.dianxin.tori.api.commands.usercontext.ModernBaseUserContextMenu
All Implemented Interfaces:
IUserContextMenu

public abstract class ModernBaseUserContextMenu extends Object implements IUserContextMenu
An abstract base class for modern User Context Menus.

Subclasses extending this class must be annotated with ContextMenu to provide the necessary metadata (like the interaction name) to the CommandRegistrar.

  • Constructor Details

    • ModernBaseUserContextMenu

      public ModernBaseUserContextMenu(JDA jda, IBotMeta meta)
      Constructs a new ModernBaseUserContextMenu.
      Parameters:
      jda - The JDA instance running this command.
      meta - The IBotMeta containing the bot's metadata.
  • Method Details

    • getLogger

      protected org.slf4j.Logger getLogger()
      Retrieves the logger instance for the current command. * @return The Logger instance.
    • getJda

      protected JDA getJda()
      Retrieves the JDA instance associated with this command. * @return The JDA instance.
    • handle

      public final void handle(UserContextInteractionEvent event, CommandReplyConfig replyConfig)
      Handles the lifecycle and validation of the user context menu execution. Parses the command's class annotations to enforce restrictions before delegating to execute(UserContextInteractionEvent).
      Specified by:
      handle in interface IUserContextMenu
      Parameters:
      event - The UserContextInteractionEvent triggered by Discord.
      replyConfig - The configuration used for custom error or rejection messages.
    • execute

      protected abstract void execute(UserContextInteractionEvent event)
      The core execution logic of the user context menu command. Developers must implement this method to define what the command actually does after passing all checks.
      Parameters:
      event - The valid UserContextInteractionEvent passed through all pre-execution checks.