Interface WebhookAction
-
- All Superinterfaces:
AuditableRestAction<Webhook>
,RestAction<Webhook>
public interface WebhookAction extends AuditableRestAction<Webhook>
Webhook
Builder system created as an extension ofRestAction
Provides an easy way to gather and deliver information to Discord to createWebhooks
.- See Also:
TextChannel.createWebhook(String)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description WebhookAction
deadline(long timestamp)
Similar toRestAction.timeout(long, TimeUnit)
but schedules a deadline at which the request has to be completed.TextChannel
getChannel()
TheTextChannel
to create this webhook indefault Guild
getGuild()
TheGuild
to create this webhook inWebhookAction
setAvatar(Icon icon)
Sets the Avatar for the custom Webhook UserWebhookAction
setCheck(java.util.function.BooleanSupplier checks)
Sets the last-second checks before finally executing the http request in the queue.WebhookAction
setName(java.lang.String name)
Sets the Name for the custom Webhook UserWebhookAction
timeout(long timeout, java.util.concurrent.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 WebhookAction setCheck(@Nullable java.util.function.BooleanSupplier checks)
Description copied from interface:AuditableRestAction
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 interfaceAuditableRestAction<Webhook>
- Specified by:
setCheck
in interfaceRestAction<Webhook>
- Parameters:
checks
- The checks to run before executing the request, ornull
to run no checks- Returns:
- The current RestAction for chaining convenience
- See Also:
RestAction.getCheck()
,RestAction.addCheck(BooleanSupplier)
-
timeout
@Nonnull WebhookAction timeout(long timeout, @Nonnull java.util.concurrent.TimeUnit unit)
Description copied from interface:AuditableRestAction
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 interfaceAuditableRestAction<Webhook>
- Specified by:
timeout
in interfaceRestAction<Webhook>
- Parameters:
timeout
- The timeout to useunit
-Unit
for the timeout value- Returns:
- The same RestAction instance with the applied timeout
- See Also:
RestAction.setDefaultTimeout(long, TimeUnit)
-
deadline
@Nonnull WebhookAction deadline(long timestamp)
Description copied from interface:AuditableRestAction
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 interfaceAuditableRestAction<Webhook>
- Specified by:
deadline
in interfaceRestAction<Webhook>
- 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)
-
getChannel
@Nonnull TextChannel getChannel()
TheTextChannel
to create this webhook in- Returns:
- The channel
-
setName
@Nonnull @CheckReturnValue WebhookAction setName(@Nonnull java.lang.String name)
Sets the Name for the custom Webhook User- Parameters:
name
- A not-null String name for the new Webhook user.- Returns:
- The current WebhookAction for chaining convenience.
- Throws:
java.lang.IllegalArgumentException
- If the specified name is not in the range of 2-100.
-
setAvatar
@Nonnull @CheckReturnValue WebhookAction setAvatar(@Nullable Icon icon)
Sets the Avatar for the custom Webhook User- Parameters:
icon
- AnIcon
for the new avatar. Or null to use default avatar.- Returns:
- The current WebhookAction for chaining convenience.
-
-