Interface AuditableRestAction<T>
- Type Parameters:
T
- The return type
- All Superinterfaces:
RestAction<T>
- All Known Subinterfaces:
AccountManager
,ApplicationEmojiManager
,AudioChannelManager<T,
,M> AutoModRuleManager
,CategoryManager
,ChannelAction<T>
,ChannelManager<T,
,M> CustomEmojiManager
,FluentAuditableRestAction<T,
,R> ForumChannelManager
,GuildManager
,GuildStickerManager
,GuildWelcomeScreenManager
,IAgeRestrictedChannelManager<T,
,M> ICategorizableChannelManager<T,
,M> InviteAction
,IPermissionContainerManager<T,
,M> IPositionableChannelManager<T,
,M> IPostContainerManager<T,
,M> ISlowmodeChannelManager<T,
,M> IThreadContainerManager<T,
,M> Manager<M>
,MediaChannelManager
,NewsChannelManager
,PermissionOverrideAction
,PermOverrideManager
,RoleAction
,RoleManager
,ScheduledEventAction
,ScheduledEventManager
,StageChannelManager
,StageInstanceManager
,StandardGuildChannelManager<T,
,M> StandardGuildMessageChannelManager<T,
,M> TemplateManager
,TextChannelManager
,ThreadChannelAction
,ThreadChannelManager
,VoiceChannelManager
,WebhookAction
,WebhookManager
This will automatically use the ThreadLocalReason
if no
reason was specified via reason(String)
.
- Since:
- 3.3.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The maximum length of an audit-log reason -
Method Summary
Modifier and TypeMethodDescriptiondefault AuditableRestAction
<T> deadline
(long timestamp) Similar toRestAction.timeout(long, TimeUnit)
but schedules a deadline at which the request has to be completed.Applies the specified reason as audit-log reason field.setCheck
(BooleanSupplier checks) Sets the last-second checks before finally executing the http request in the queue.default AuditableRestAction
<T> Timeout for this RestAction instance.Methods inherited from interface net.dv8tion.jda.api.requests.RestAction
addCheck, 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
-
Field Details
-
MAX_REASON_LENGTH
static final int MAX_REASON_LENGTHThe maximum length of an audit-log reason- See Also:
-
-
Method Details
-
reason
Applies the specified reason as audit-log reason field.
When the provided reason is empty ornull
it will be treated as not set. If the provided reason is longer than 512<T> characters, it will be truncated to fit the limit.Reasons for any AuditableRestAction may be retrieved via
AuditLogEntry.getReason()
in iterableAuditLogPaginationActions
fromGuild.retrieveAuditLogs()
! Forguild bans
, this is also accessible viaGuild.Ban.getReason()
.This will specify the reason via the
X-Audit-Log-Reason
Request Header. -
setCheck
Sets the last-second checks before finally executing the http request in the queue.
If the provided supplier evaluates tofalse
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 interfaceRestAction<T>
- Parameters:
checks
- The checks to run before executing the request, ornull
to run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
-
timeout
@Nonnull @CheckReturnValue default AuditableRestAction<T> timeout(long timeout, @Nonnull TimeUnit unit) 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 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:
timeout
in interfaceRestAction<T>
- Parameters:
timeout
- The timeout to useunit
-Unit
for the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
-
deadline
Similar 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:
deadline
in interfaceRestAction<T>
- Parameters:
timestamp
- Millisecond timestamp at which the request will timeout- Returns:
- The same RestAction with the applied deadline
- See Also:
-