Interface CommandInteractionPayload

All Superinterfaces:
Interaction, ISnowflake
All Known Subinterfaces:
CommandAutoCompleteInteraction, CommandInteraction, ContextInteraction<T>, MessageContextInteraction, SlashCommandInteraction, UserContextInteraction
All Known Implementing Classes:
CommandAutoCompleteInteractionEvent, GenericCommandInteractionEvent, MessageContextInteractionEvent, SlashCommandInteractionEvent, UserContextInteractionEvent

public interface CommandInteractionPayload extends Interaction
Interactions which provide command data.
This is an abstraction for CommandAutoCompleteInteraction and CommandInteraction.
  • Method Details

    • getCommandType

      @Nonnull Command.Type getCommandType()
      The Type of command this interaction is for.
      Returns:
      The command type
    • getName

      @Nonnull String getName()
      The command name.
      This can be useful for abstractions.

      Note that commands can have these following structures:

      • /name subcommandGroup subcommandName
      • /name subcommandName
      • /name
      You can use getCommandPath() to simplify your checks.
      Returns:
      The command name
    • getSubcommandName

      @Nullable String getSubcommandName()
      The subcommand name.
      This can be useful for abstractions.

      Note that commands can have these following structures:

      • /name subcommandGroup subcommandName
      • /name subcommandName
      • /name
      You can use getCommandPath() to simplify your checks.
      Returns:
      The subcommand name, or null if this is not a subcommand
    • getSubcommandGroup

      @Nullable String getSubcommandGroup()
      The subcommand group name.
      This can be useful for abstractions.

      Note that commands can have these following structures:

      • /name subcommandGroup subcommandName
      • /name subcommandName
      • /name
      You can use getCommandPath() to simplify your checks.
      Returns:
      The subcommand group name, or null if this is not a subcommand group
    • getCommandPath

      @Nonnull default String getCommandPath()
      Combination of getName(), getSubcommandGroup(), and getSubcommandName().
      This will format the command into a path such as mod/mute where mod would be the getName() and mute the getSubcommandName().

      Examples:

      • /mod ban -> "mod/ban"
      • /admin config owner -> "admin/config/owner"
      • /ban -> "ban"
      Returns:
      The command path
    • getCommandString

      @Nonnull default String getCommandString()
      Gets the display string for this command.
      This is similar to the string you see when clicking the interaction name in the client.

      Example return for an echo command: /say echo phrase: Say this

      Returns:
      The display string for this command
    • getCommandIdLong

      long getCommandIdLong()
      The command id
      Returns:
      The command id
    • getCommandId

      @Nonnull default String getCommandId()
      The command id
      Returns:
      The command id
    • getOptions

      @Nonnull List<OptionMapping> getOptions()
      The options provided by the user when this command was executed.
      Each option has a name and value.

      For CommandAutoCompleteInteraction, this might be incomplete and unvalidated. Auto-complete interactions happen on incomplete command inputs and are not validated.

      Returns:
      The options passed for this command
    • getOptionsByName

      @Nonnull default List<OptionMapping> getOptionsByName(@Nonnull String name)
      Gets all options for the specified name.

      For CommandAutoCompleteInteraction, this might be incomplete and unvalidated. Auto-complete interactions happen on incomplete command inputs and are not validated.

      Parameters:
      name - The option name
      Returns:
      The list of options
      Throws:
      IllegalArgumentException - If the provided name is null
      See Also:
    • getOptionsByType

      @Nonnull default List<OptionMapping> getOptionsByType(@Nonnull OptionType type)
      Gets all options for the specified type.

      For CommandAutoCompleteInteraction, this might be incomplete and unvalidated. Auto-complete interactions happen on incomplete command inputs and are not validated.

      Parameters:
      type - The option type
      Returns:
      The list of options
      Throws:
      IllegalArgumentException - If the provided type is null
    • getOption

      @Nullable default OptionMapping getOption(@Nonnull String name)
      Finds the first option with the specified name.

      For CommandAutoCompleteInteraction, this might be incomplete and unvalidated. Auto-complete interactions happen on incomplete command inputs and are not validated.

      Parameters:
      name - The option name
      Returns:
      The option with the provided name, or null if that option is not provided
      Throws:
      IllegalArgumentException - If the name is null