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 Summary

    Constructors
    Constructor
    Description
    ModernBaseUserContextMenu(net.dv8tion.jda.api.JDA jda, IBotMeta meta)
    Constructs a new ModernBaseUserContextMenu.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract void
    execute(net.dv8tion.jda.api.events.interaction.command.UserContextInteractionEvent event)
    The core execution logic of the user context menu command.
    protected net.dv8tion.jda.api.JDA
    Retrieves the JDA instance associated with this command.
    protected org.slf4j.Logger
    Retrieves the logger instance for the current command.
    final void
    handle(net.dv8tion.jda.api.events.interaction.command.UserContextInteractionEvent event, CommandReplyConfig replyConfig)
    Handles the lifecycle and validation of the user context menu execution.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ModernBaseUserContextMenu

      public ModernBaseUserContextMenu(net.dv8tion.jda.api.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 net.dv8tion.jda.api.JDA getJda()
      Retrieves the JDA instance associated with this command. * @return The JDA instance.
    • handle

      public final void handle(net.dv8tion.jda.api.events.interaction.command.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(net.dv8tion.jda.api.events.interaction.command.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.