Interface Webhook
- All Superinterfaces:
ISnowflake,WebhookClient<Message>
- Since:
- 3.0
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classPartial Channel which references the source channel for a follower webhook.static classPartial Guild which references the source guild for a follower webhook.static class -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondelete()Deletes this Webhook.Deletes this Webhook.Thechannelinstance this Webhook is attached to.The default User for this Webhook.getGuild()TheGuildinstance for this Webhook.getJDA()The JDA instance of this Webhook.TheWebhookManagerfor this Webhook.getName()The name of this Webhook.getOwner()The owner of this Webhook.The owner of this Webhook.The source channel for a Webhook of typeFOLLOWER.The source guild for a Webhook of typeFOLLOWER.getToken()The execute token for this Webhook.getType()TheWebhookTypeof this webhook.getUrl()ThePOSTroute for this Webhook.booleanWhether this webhook cannot providegetChannel()andgetGuild().Methods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreatedMethods inherited from interface net.dv8tion.jda.api.entities.WebhookClient
deleteMessageById, deleteMessageById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageById, editMessageById, editMessageById, editMessageById, editMessageComponentsById, editMessageComponentsById, editMessageComponentsById, editMessageComponentsById, editMessageEmbedsById, editMessageEmbedsById, editMessageEmbedsById, editMessageEmbedsById, editMessageFormatById, editMessageFormatById, retrieveMessageById, sendFiles, sendFiles, sendMessage, sendMessage, sendMessageComponents, sendMessageComponents, sendMessageEmbeds, sendMessageEmbeds, sendMessageFormat, sendMessagePoll
-
Field Details
-
WEBHOOK_URL
Pattern for a Webhook URL.Groups
You can use the names withIndex Name Description 0 N/A The entire link 1 id The ID of the webhook 2 token The token of the webhook Matcher.group(String)and the index withMatcher.group(int).
-
-
Method Details
-
getJDA
The JDA instance of this Webhook.- Specified by:
getJDAin interfaceWebhookClient<Message>- Returns:
- The current JDA instance of this Webhook
-
getType
- Returns:
- The
WebhookType
-
isPartial
boolean isPartial()Whether this webhook cannot providegetChannel()andgetGuild().
This means that the webhook is not local to this shard's cache and cannot provide full channel/guild references.- Returns:
- True, if
getChannel()andgetGuild()would throw
-
getGuild
- Returns:
- The current Guild of this Webhook
- Throws:
IllegalStateException- If this webhooksis partial
-
getChannel
Thechannelinstance this Webhook is attached to. Webhooks are created on specific channels so that they can interact with that channel. With regard tothreads, Webhooks are attached to theirparent channeland then the Webhooks can post to theparentand thethreadtoo.- Returns:
- The current
channelthat this webhook is attached to. - Throws:
IllegalStateException- If this webhooksis partial
-
getOwner
The owner of this Webhook. This will be null for some Webhooks, such as those retrieved from Audit Logs.
This requires the member to be cached. You can usegetOwnerAsUser()to get a reference to the user instead.- Returns:
- Possibly-null
Memberinstance representing the owner of this Webhook.
-
getOwnerAsUser
The owner of this Webhook. This will be null for some Webhooks, such as those retrieved from Audit Logs.
This can be non-null even whengetOwner()is null.getOwner()requires the webhook to be local to this shard and in cache.- Returns:
- Possibly-null
Userinstance representing the owner of this Webhook.
-
getDefaultUser
The default User for this Webhook.The
Userreturned is always fake and cannot be interacted with.
This User is used for all messages posted to the Webhook route (found ingetUrl()), it holds the default references for the message authors of messages by this Webhook.When
POSTing to a Webhook route the name/avatar of this default user can be overridden.- Returns:
- A fake
Userinstance representing the default webhook user. - See Also:
-
getName
The name of this Webhook.
This will be displayed by default as the author name of every message by this Webhook.This is a shortcut for
.getDefaultUser().getName()- Returns:
- The name of this Webhook
-
getToken
The execute token for this Webhook.
This can be used to modify/delete/execute this Webhook.Note: Some Webhooks, such as those retrieved from Audit Logs, do not contain a token
- Specified by:
getTokenin interfaceWebhookClient<Message>- Returns:
- The execute token for this Webhook
-
getUrl
ThePOSTroute for this Webhook.
This contains thetokenandidof this Webhook. Some Webhooks without tokens (such as those retrieved from Audit Logs) will return a URL without a token.The route returned by this method does not need permission checks to be executed.
It is implied that Webhook messages always have all permissions includingmentioning everyone.Webhook executions are limited with 5 requests per second. The response contains rate limit headers that should be handled by execution frameworks. (Learn More)
- Returns:
- The execution route for this Webhook.
-
getSourceChannel
The source channel for a Webhook of typeFOLLOWER.- Returns:
Webhook.ChannelReference
-
getSourceGuild
The source guild for a Webhook of typeFOLLOWER.- Returns:
Webhook.GuildReference
-
delete
Deletes this Webhook.The following
ErrorResponsesare possible:MISSING_ACCESS
The delete was attempted after the account lost permission to view the channel.MISSING_PERMISSIONS
The delete was attempted after the account lostPermission.MANAGE_WEBHOOKSin the channel.UNKNOWN_WEBHOOK
The delete was attempted after the Webhook had already been deleted.
- Returns:
AuditableRestAction
The rest action to delete this Webhook.- Throws:
InsufficientPermissionException- If the Webhook does not have a token, such as the Webhooks retrieved from Audit Logs and the currently logged in account does not havePermission.MANAGE_WEBHOOKSin this channel.
-
delete
Deletes this Webhook.The following
ErrorResponsesare possible:MISSING_ACCESS
The delete was attempted after the account lost permission to view the channel.MISSING_PERMISSIONS
The delete was attempted after the account lostPermission.MANAGE_WEBHOOKSin the channel.UNKNOWN_WEBHOOK
The delete was attempted after the Webhook had already been deleted.INVALID_WEBHOOK_TOKEN
If the provided webhook token is not valid.
- Parameters:
token- The webhook token (this is not the bot authorization token!)- Returns:
AuditableRestAction
The rest action to delete this Webhook.- Throws:
IllegalArgumentException- If the provided token is null- Since:
- 4.0.0
-
getManager
TheWebhookManagerfor this Webhook.
You can modify multiple fields in one request by chaining setters before callingRestAction.queue().- Returns:
- The
WebhookManagerfor this Webhook - Throws:
InsufficientPermissionException- If the currently logged in account does not havePermission.MANAGE_WEBHOOKS
-