Interface CommandInteractionPayload

    • Method Detail

      • 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
      • 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. For non-slash command types, this simply returns getName() instead.

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

        Returns:
        The display string for this command
      • getCommandIdLong

        long getCommandIdLong()
        The command id.
        This is the id generated when a command is created via Guild.updateCommands() or similar.

        It is usually preferred to discriminate commands by the command names instead.

        Returns:
        The command id
      • getCommandId

        @Nonnull
        default String getCommandId()
        The command id
        This is the id generated when a command is created via Guild.updateCommands() or similar.

        It is usually preferred to discriminate commands by the command names instead.

        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
        See Also:
        getOption(String)
      • getOption

        @Nullable
        default <T> T getOption​(@Nonnull
                                String name,
                                @Nonnull
                                Function<? super OptionMapping,​? extends T> resolver)
        Finds the first option with the specified name.
        A resolver is used to get the value if the option is provided. If no option is provided for the given name, this will simply return null instead. You can use getOption(String, Object, Function) to provide a fallback for missing options.

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

        Example
        You can understand this as a shortcut for these lines of code:

        
         OptionMapping opt = event.getOption("reason");
         String reason = opt == null ? null : opt.getAsString();
         
        Which can be written with this resolver as:
        
         String reason = event.getOption("reason", OptionMapping::getAsString);
         
        Type Parameters:
        T - The type of the resolved option value
        Parameters:
        name - The option name
        resolver - The mapping resolver function to use if there is a mapping available, the provided mapping will never be null!
        Returns:
        The resolved option with the provided name, or null if that option is not provided
        Throws:
        IllegalArgumentException - If the name or resolver is null
        See Also:
        getOption(String, Object, Function), getOption(String, Supplier, Function)
      • getOption

        default <T> T getOption​(@Nonnull
                                String name,
                                @Nullable
                                T fallback,
                                @Nonnull
                                Function<? super OptionMapping,​? extends T> resolver)
        Finds the first option with the specified name.
        A resolver is used to get the value if the option is provided. If no option is provided for the given name, this will simply return your provided fallback instead. You can use getOption(String, Function) to fall back to null.

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

        Example
        You can understand this as a shortcut for these lines of code:

        
         OptionMapping opt = event.getOption("reason");
         String reason = opt == null ? "ban by mod" : opt.getAsString();
         
        Which can be written with this resolver as:
        
         String reason = event.getOption("reason", "ban by mod", OptionMapping::getAsString);
         
        Type Parameters:
        T - The type of the resolved option value
        Parameters:
        name - The option name
        fallback - The fallback to use if the option is not provided, meaning getOption(String) returns null
        resolver - The mapping resolver function to use if there is a mapping available, the provided mapping will never be null!
        Returns:
        The resolved option with the provided name, or fallback if that option is not provided
        Throws:
        IllegalArgumentException - If the name or resolver is null
        See Also:
        getOption(String, Function), getOption(String, Supplier, Function)
      • getOption

        default <T> T getOption​(@Nonnull
                                String name,
                                @Nullable
                                Supplier<? extends T> fallback,
                                @Nonnull
                                Function<? super OptionMapping,​? extends T> resolver)
        Finds the first option with the specified name.
        A resolver is used to get the value if the option is provided. If no option is provided for the given name, this will simply return your provided fallback instead. You can use getOption(String, Function) to fall back to null.

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

        Example
        You can understand this as a shortcut for these lines of code:

        
         OptionMapping opt = event.getOption("reason");
         String reason = opt == null ? context.getFallbackReason() : opt.getAsString();
         
        Which can be written with this resolver as:
        
         String reason = event.getOption("reason", context::getFallbackReason , OptionMapping::getAsString);
         
        Type Parameters:
        T - The type of the resolved option value
        Parameters:
        name - The option name
        fallback - The fallback supplier to use if the option is not provided, meaning getOption(String) returns null
        resolver - The mapping resolver function to use if there is a mapping available, the provided mapping will never be null!
        Returns:
        The resolved option with the provided name, or fallback if that option is not provided
        Throws:
        IllegalArgumentException - If the name or resolver is null
        See Also:
        getOption(String, Function), getOption(String, Object, Function)