Interface ThreadAction
-
- All Superinterfaces:
AuditableRestAction<ThreadChannel>,RestAction<ThreadChannel>
public interface ThreadAction extends AuditableRestAction<ThreadChannel>
Extension ofRestActionspecifically designed to create aThreadChannel. This extension allows setting properties before executing the action.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ThreadActiondeadline(long timestamp)Similar toRestAction.timeout(long, TimeUnit)but schedules a deadline at which the request has to be completed.GuildgetGuild()The guild to create thisGuildChannelinChannelTypegetType()TheChannelTypefor the resulting channelThreadActionsetAutoArchiveDuration(ThreadChannel.AutoArchiveDuration autoArchiveDuration)ThreadActionsetCheck(BooleanSupplier checks)Sets the last-second checks before finally executing the http request in the queue.ThreadActionsetInvitable(boolean isInvitable)ThreadActionsetName(String name)Sets the name for the new GuildChannelThreadActiontimeout(long timeout, TimeUnit unit)Timeout for this RestAction instance.-
Methods inherited from interface net.dv8tion.jda.api.requests.restaction.AuditableRestAction
reason
-
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, queue, queue, queue, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, queueAfter, submit, submit, submitAfter, submitAfter, zip
-
-
-
-
Method Detail
-
setCheck
@Nonnull ThreadAction setCheck(@Nullable BooleanSupplier checks)
Description copied from interface:AuditableRestActionSets 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 interfaceAuditableRestAction<ThreadChannel>- Specified by:
setCheckin interfaceRestAction<ThreadChannel>- Parameters:
checks- The checks to run before executing the request, ornullto run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
RestAction.getCheck(),RestAction.addCheck(BooleanSupplier)
-
timeout
@Nonnull ThreadAction timeout(long timeout, @Nonnull TimeUnit unit)
Description copied from interface:AuditableRestActionTimeout 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 interfaceAuditableRestAction<ThreadChannel>- Specified by:
timeoutin interfaceRestAction<ThreadChannel>- Parameters:
timeout- The timeout to useunit-Unitfor the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
RestAction.setDefaultTimeout(long, TimeUnit)
-
deadline
@Nonnull ThreadAction deadline(long timestamp)
Description copied from interface:AuditableRestActionSimilar 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 interfaceAuditableRestAction<ThreadChannel>- Specified by:
deadlinein interfaceRestAction<ThreadChannel>- Parameters:
timestamp- Millisecond timestamp at which the request will timeout- Returns:
- The same RestAction with the applied deadline
- See Also:
RestAction.timeout(long, TimeUnit),RestAction.setDefaultTimeout(long, TimeUnit)
-
getGuild
@Nonnull Guild getGuild()
The guild to create thisGuildChannelin- Returns:
- The guild
-
getType
@Nonnull ChannelType getType()
TheChannelTypefor the resulting channel- Returns:
- The channel type
-
setName
@Nonnull @CheckReturnValue ThreadAction setName(@Nonnull String name)
Sets the name for the new GuildChannel- Parameters:
name- The not-null name for the new GuildChannel (1-100 chars long)- Returns:
- The current ChannelAction, for chaining convenience
- Throws:
IllegalArgumentException- If the provided name is null or not between 1-100 chars long
-
setAutoArchiveDuration
@Nonnull @CheckReturnValue ThreadAction setAutoArchiveDuration(@Nonnull ThreadChannel.AutoArchiveDuration autoArchiveDuration)
-
setInvitable
@Nonnull @CheckReturnValue ThreadAction setInvitable(boolean isInvitable)
-
-