Interface CommandListUpdateAction

All Superinterfaces:
RestAction<List<Command>>

public interface CommandListUpdateAction extends RestAction<List<Command>>
Specialized RestAction used to replace existing commands of a guild or globally.
Any commands that currently exist and are not listed through addCommands(CommandData...) will be DELETED!

This operation is idempotent. Commands will persist between restarts of your bot, you only have to create a command once.

  • Method Details

    • timeout

      @Nonnull @CheckReturnValue CommandListUpdateAction timeout(long timeout, @Nonnull TimeUnit unit)
      Description copied from interface: RestAction
      Timeout 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 as deadline(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:
      timeout in interface RestAction<List<Command>>
      Parameters:
      timeout - The timeout to use
      unit - Unit for the timeout value
      Returns:
      The same RestAction instance with the applied timeout
      See Also:
    • deadline

      @Nonnull @CheckReturnValue CommandListUpdateAction deadline(long timestamp)
      Description copied from interface: RestAction
      Similar to RestAction.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 a TimeoutException.

      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:
      deadline in interface RestAction<List<Command>>
      Parameters:
      timestamp - Millisecond timestamp at which the request will timeout
      Returns:
      The same RestAction with the applied deadline
      See Also:
    • setCheck

      @Nonnull @CheckReturnValue CommandListUpdateAction setCheck(@Nullable BooleanSupplier checks)
      Description copied from interface: RestAction
      Sets the last-second checks before finally executing the http request in the queue.
      If the provided supplier evaluates to false or 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:
      setCheck in interface RestAction<List<Command>>
      Parameters:
      checks - The checks to run before executing the request, or null to run no checks
      Returns:
      The current RestAction for chaining convenience
      See Also:
    • addCheck

      @Nonnull @CheckReturnValue CommandListUpdateAction addCheck(@Nonnull BooleanSupplier checks)
      Description copied from interface: RestAction
      Shortcut for setCheck(() -> getCheck().getAsBoolean() && checks.getAsBoolean()).
      Specified by:
      addCheck in interface RestAction<List<Command>>
      Parameters:
      checks - Other checks to run
      Returns:
      The current RestAction for chaining convenience
      See Also:
    • addCommands

      @Nonnull @CheckReturnValue CommandListUpdateAction addCommands(@Nonnull Collection<? extends CommandData> commands)
      Adds up to 100 slash commands, 5 user context commands, and 5 message context commands.

      When a command is not listed in this request, it will be deleted.

      Parameters:
      commands - The commands to add
      Returns:
      The CommandUpdateAction instance, for chaining
      Throws:
      IllegalArgumentException - If null or more than 100 slash commands, 5 user context commands, or 5 message context commands, are provided
      See Also:
    • addCommands

      @Nonnull @CheckReturnValue default CommandListUpdateAction addCommands(@Nonnull CommandData... commands)
      Adds up to 100 slash commands, 5 user context commands, and 5 message context commands.

      When a command is not listed in this request, it will be deleted.

      Parameters:
      commands - The commands to add
      Returns:
      The CommandUpdateAction instance, for chaining
      Throws:
      IllegalArgumentException - If null or more than 100 slash commands, 5 user context commands, or 5 message context commands, are provided
      See Also: