Interface CommandEditAction
- All Superinterfaces:
RestAction<Command>
RestAction used to edit an existing command.-
Method Summary
Modifier and TypeMethodDescriptionaddCheck(BooleanSupplier checks) Shortcut forsetCheck(() -> getCheck().getAsBoolean() && checks.getAsBoolean()).default CommandEditActionaddOption(OptionType type, String name, String description) Adds an option to this command.default CommandEditActionaddOption(OptionType type, String name, String description, boolean required) Adds an option to this command.default CommandEditActionaddOptions(Collection<? extends OptionData> options) Adds up to 25 options to this command.addOptions(OptionData... options) Adds up to 25 options to this command.default CommandEditActionaddSubcommandGroups(Collection<? extends SubcommandGroupData> groups) Add up to 25Subcommand-Groupsto this command.addSubcommandGroups(SubcommandGroupData... groups) Add up to 25Subcommand-Groupsto this command.default CommandEditActionaddSubcommands(Collection<? extends SubcommandData> subcommands) Add up to 25Subcommandsto this command.addSubcommands(SubcommandData... subcommands) Add up to 25Subcommandsto this command.apply(CommandData commandData) Replace the command with the providedCommandData.Removes all existing options/subcommands/groups from this command.deadline(long timestamp) Similar toRestAction.timeout(long, TimeUnit)but schedules a deadline at which the request has to be completed.setCheck(BooleanSupplier checks) Sets the last-second checks before finally executing the http request in the queue.setDefaultPermissions(DefaultMemberPermissions permission) Sets thePermissionsthat a user must have in a specific channel to be able to use this command.setDescription(String description) Configure the descriptionsetGuildOnly(boolean guildOnly) Sets whether this command is only usable in a guild (Default: false).Configure the namesetNSFW(boolean nsfw) Sets whether this command should only be usable in NSFW (age-restricted) channels.Timeout for this RestAction instance.Methods inherited from interface net.dv8tion.jda.api.requests.RestAction
and, and, complete, complete, completeAfter, delay, delay, delay, delay, flatMap, flatMap, getCheck, getJDA, map, mapToResult, onErrorFlatMap, onErrorFlatMap, onErrorMap, onErrorMap, onSuccess, queue, queue, queue, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, submit, submit, submitAfter, submitAfter, zip
-
Method Details
-
setCheck
Description copied from interface:RestActionSets the last-second checks before finally executing the http request in the queue.
If the provided supplier evaluates tofalseor throws an exception this will not be finished. When an exception is thrown from the supplier it will be provided to the failure callback.- Specified by:
setCheckin interfaceRestAction<Command>- Parameters:
checks- The checks to run before executing the request, ornullto run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
-
addCheck
Description copied from interface:RestActionShortcut forsetCheck(() -> getCheck().getAsBoolean() && checks.getAsBoolean()).- Specified by:
addCheckin interfaceRestAction<Command>- Parameters:
checks- Other checks to run- Returns:
- The current RestAction for chaining convenience
- See Also:
-
timeout
Description copied from interface:RestActionTimeout for this RestAction instance.
If the request doesn't get executed within the timeout it will fail.When a RestAction times out, it will fail with a
TimeoutException. This is the same asdeadline(System.currentTimeMillis() + unit.toMillis(timeout)).Example
action.timeout(10, TimeUnit.SECONDS) // 10 seconds from now .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds- Specified by:
timeoutin interfaceRestAction<Command>- Parameters:
timeout- The timeout to useunit-Unitfor the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
-
deadline
Description copied from interface:RestActionSimilar toRestAction.timeout(long, TimeUnit)but schedules a deadline at which the request has to be completed.
If the deadline is reached, the request will fail with aTimeoutException.This does not mean that the request will immediately timeout when the deadline is reached. JDA will check the deadline right before executing the request or within intervals in a worker thread. This only means the request will timeout if the deadline has passed.
Example
action.deadline(System.currentTimeMillis() + 10000) // 10 seconds from now .queueAfter(20, SECONDS); // request will not be executed within deadline and timeout immediately after 20 seconds- Specified by:
deadlinein interfaceRestAction<Command>- Parameters:
timestamp- Millisecond timestamp at which the request will timeout- Returns:
- The same RestAction with the applied deadline
- See Also:
-
apply
Replace the command with the providedCommandData.- Parameters:
commandData- The data for the command- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If null is provided- See Also:
-
setName
Configure the name- Parameters:
name- The lowercase alphanumeric (with dash) name, 1-32 characters. Use null to keep the current name.- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If the name is not alphanumeric or not between 1-32 characters
-
setGuildOnly
Sets whether this command is only usable in a guild (Default: false).
This only has an effect if this command is registered globally.- Parameters:
guildOnly- Whether to restrict this command to guilds- Returns:
- The CommandEditAction instance, for chaining
-
setNSFW
Sets whether this command should only be usable in NSFW (age-restricted) channels.
Default: falseNote: Age-restricted commands will not show up in direct messages by default unless the user enables them in their settings.
- Parameters:
nsfw- True, to make this command nsfw- Returns:
- The CommandEditAction instance, for chaining
- See Also:
-
setDefaultPermissions
@Nonnull @CheckReturnValue CommandEditAction setDefaultPermissions(@Nonnull DefaultMemberPermissions permission) Sets thePermissionsthat a user must have in a specific channel to be able to use this command.
By default, everyone can use this command (DefaultMemberPermissions.ENABLED). Additionally, a command can be disabled for everyone but admins viaDefaultMemberPermissions.DISABLED.These configurations can be overwritten by moderators in each guild. See
Command.retrievePrivileges(net.dv8tion.jda.api.entities.Guild)to get moderator defined overrides.- Parameters:
permission-DefaultMemberPermissionsrepresenting the default permissions of this command.- Returns:
- The CommandEditAction instance, for chaining
- See Also:
-
setDescription
Configure the description- Parameters:
description- The description, 1-100 characters. Use null to keep the current description.- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If the name is null or not between 1-100 characters
-
clearOptions
Removes all existing options/subcommands/groups from this command.- Returns:
- The CommandEditAction instance, for chaining
-
addOptions
Adds up to 25 options to this command.
This will replace any existing options/subcommands/groups on the command.Required options must be added before non-required options!
- Parameters:
options- TheOptionsto add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException-- If you try to mix subcommands/options/groups in one command.
- If the option type is
OptionType.SUB_COMMANDorOptionType.SUB_COMMAND_GROUP. - If this option is required and you already added a non-required option.
- If more than 25 options are provided.
- If null is provided
-
addOptions
@Nonnull @CheckReturnValue default CommandEditAction addOptions(@Nonnull Collection<? extends OptionData> options) Adds up to 25 options to this command.
This will replace any existing options/subcommands/groups on the command.Required options must be added before non-required options!
- Parameters:
options- TheOptionsto add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException-- If you try to mix subcommands/options/groups in one command.
- If the option type is
OptionType.SUB_COMMANDorOptionType.SUB_COMMAND_GROUP. - If this option is required and you already added a non-required option.
- If more than 25 options are provided.
- If null is provided
-
addOption
@Nonnull @CheckReturnValue default CommandEditAction addOption(@Nonnull OptionType type, @Nonnull String name, @Nonnull String description, boolean required) Adds an option to this command.
This will replace any existing options/subcommands/groups on the command.Required options must be added before non-required options!
- Parameters:
type- TheOptionTypename- The lowercase option name, 1-32 charactersdescription- The option description, 1-100 charactersrequired- Whether this option is required (SeeOptionData.setRequired(boolean))- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException-- If you try to mix subcommands/options/groups in one command.
- If the option type is
OptionType.SUB_COMMANDorOptionType.SUB_COMMAND_GROUP. - If this option is required and you already added a non-required option.
- If more than 25 options are provided.
- If null is provided
-
addOption
@Nonnull @CheckReturnValue default CommandEditAction addOption(@Nonnull OptionType type, @Nonnull String name, @Nonnull String description) Adds an option to this command.
This will replace any existing options/subcommands/groups on the command.Required options must be added before non-required options!
- Parameters:
type- TheOptionTypename- The lowercase option name, 1-32 charactersdescription- The option description, 1-100 characters- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException-- If you try to mix subcommands/options/groups in one command.
- If the option type is
OptionType.SUB_COMMANDorOptionType.SUB_COMMAND_GROUP. - If this option is required and you already added a non-required option.
- If more than 25 options are provided.
- If null is provided
-
addSubcommands
Add up to 25Subcommandsto this command.
This will replace any existing options/subcommands/groups on the command.- Parameters:
subcommands- The subcommands to add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If null is provided, or more than 25 subcommands are provided. Also throws if you try to mix subcommands/options/groups in one command.
-
addSubcommands
@Nonnull @CheckReturnValue default CommandEditAction addSubcommands(@Nonnull Collection<? extends SubcommandData> subcommands) Add up to 25Subcommandsto this command.
This will replace any existing options/subcommands/groups on the command.- Parameters:
subcommands- The subcommands to add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If null is provided, or more than 25 subcommands are provided. Also throws if you try to mix subcommands/options/groups in one command.
-
addSubcommandGroups
@Nonnull @CheckReturnValue CommandEditAction addSubcommandGroups(@Nonnull SubcommandGroupData... groups) Add up to 25Subcommand-Groupsto this command.
This will replace any existing options/subcommands/groups on the command.- Parameters:
groups- The subcommand groups to add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If null is provided, or more than 25 subcommand groups are provided. Also throws if you try to mix subcommands/options/groups in one command.
-
addSubcommandGroups
@Nonnull @CheckReturnValue default CommandEditAction addSubcommandGroups(@Nonnull Collection<? extends SubcommandGroupData> groups) Add up to 25Subcommand-Groupsto this command.
This will replace any existing options/subcommands/groups on the command.- Parameters:
groups- The subcommand groups to add- Returns:
- The CommandEditAction instance, for chaining
- Throws:
IllegalArgumentException- If null is provided, or more than 25 subcommand groups are provided. Also throws if you try to mix subcommands/options/groups in one command.
-