mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(ClientApplication): add webhook events (#10588)
* feat(ClientApplication): add webhook events * refactor: update enum names and add external types * docs(APITypes): reorder * chore: requested changes * chore: requested changes * docs: remove redundancy * Update ClientApplication.js --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: Almeida <github@almeidx.dev>
This commit is contained in:
@@ -243,6 +243,36 @@ class ClientApplication extends Application {
|
||||
this.roleConnectionsVerificationURL ??= null;
|
||||
}
|
||||
|
||||
if ('event_webhooks_url' in data) {
|
||||
/**
|
||||
* This application's URL to receive event webhooks
|
||||
* @type {?string}
|
||||
*/
|
||||
this.eventWebhooksURL = data.event_webhooks_url;
|
||||
} else {
|
||||
this.eventWebhooksURL ??= null;
|
||||
}
|
||||
|
||||
if ('event_webhooks_status' in data) {
|
||||
/**
|
||||
* This application's event webhooks status
|
||||
* @type {?ApplicationWebhookEventStatus}
|
||||
*/
|
||||
this.eventWebhooksStatus = data.event_webhooks_status;
|
||||
} else {
|
||||
this.eventWebhooksStatus ??= null;
|
||||
}
|
||||
|
||||
if ('event_webhooks_types' in data) {
|
||||
/**
|
||||
* List of event webhooks types this application subscribes to
|
||||
* @type {?ApplicationWebhookEventType[]}
|
||||
*/
|
||||
this.eventWebhooksTypes = data.event_webhooks_types;
|
||||
} else {
|
||||
this.eventWebhooksTypes ??= null;
|
||||
}
|
||||
|
||||
/**
|
||||
* The owner of this OAuth application
|
||||
* @type {?(User|Team)}
|
||||
@@ -284,6 +314,10 @@ class ClientApplication extends Application {
|
||||
* @property {?(BufferResolvable|Base64Resolvable)} [icon] The application's icon
|
||||
* @property {?(BufferResolvable|Base64Resolvable)} [coverImage] The application's cover image
|
||||
* @property {string} [interactionsEndpointURL] The application's interaction endpoint URL
|
||||
* @property {string} [eventWebhooksURL] The application's event webhooks URL
|
||||
* @property {ApplicationWebhookEventStatus.Enabled|ApplicationWebhookEventStatus.Disabled} [eventWebhooksStatus]
|
||||
* The application's event webhooks status.
|
||||
* @property {ApplicationWebhookEventType[]} [eventWebhooksTypes] The application's event webhooks types
|
||||
* @property {string[]} [tags] The application's tags
|
||||
*/
|
||||
|
||||
@@ -301,6 +335,9 @@ class ClientApplication extends Application {
|
||||
icon,
|
||||
coverImage,
|
||||
interactionsEndpointURL,
|
||||
eventWebhooksURL,
|
||||
eventWebhooksStatus,
|
||||
eventWebhooksTypes,
|
||||
tags,
|
||||
} = {}) {
|
||||
const data = await this.client.rest.patch(Routes.currentApplication(), {
|
||||
@@ -313,6 +350,9 @@ class ClientApplication extends Application {
|
||||
icon: icon && (await resolveImage(icon)),
|
||||
cover_image: coverImage && (await resolveImage(coverImage)),
|
||||
interactions_endpoint_url: interactionsEndpointURL,
|
||||
event_webhooks_url: eventWebhooksURL,
|
||||
event_webhooks_status: eventWebhooksStatus,
|
||||
event_webhooks_types: eventWebhooksTypes,
|
||||
tags,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -255,6 +255,16 @@
|
||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/ApplicationRoleConnectionMetadataType}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @external ApplicationWebhookEventStatus
|
||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/ApplicationWebhookEventStatus}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @external ApplicationWebhookEventType
|
||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/ApplicationWebhookEventType}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @external AttachmentFlags
|
||||
* @see {@link https://discord-api-types.dev/api/discord-api-types-v10/enum/AttachmentFlags}
|
||||
|
||||
8
packages/discord.js/typings/index.d.ts
vendored
8
packages/discord.js/typings/index.d.ts
vendored
@@ -167,6 +167,8 @@ import {
|
||||
SubscriptionStatus,
|
||||
GatewaySendPayload,
|
||||
GatewayDispatchPayload,
|
||||
ApplicationWebhookEventStatus,
|
||||
ApplicationWebhookEventType,
|
||||
RESTPostAPIInteractionCallbackWithResponseResult,
|
||||
RESTAPIInteractionCallbackObject,
|
||||
RESTAPIInteractionCallbackResourceObject,
|
||||
@@ -1081,6 +1083,9 @@ export class ClientApplication extends Application {
|
||||
public owner: User | Team | null;
|
||||
public get partial(): boolean;
|
||||
public interactionsEndpointURL: string | null;
|
||||
public eventWebhooksURL: string | null;
|
||||
public eventWebhooksStatus: ApplicationWebhookEventStatus | null;
|
||||
public eventWebhooksTypes: ApplicationWebhookEventType[] | null;
|
||||
public roleConnectionsVerificationURL: string | null;
|
||||
public rpcOrigins: string[];
|
||||
public edit(options: ClientApplicationEditOptions): Promise<ClientApplication>;
|
||||
@@ -6972,6 +6977,9 @@ export interface ClientApplicationEditOptions {
|
||||
icon?: BufferResolvable | Base64Resolvable | null;
|
||||
coverImage?: BufferResolvable | Base64Resolvable | null;
|
||||
interactionsEndpointURL?: string;
|
||||
eventWebhooksURL?: string;
|
||||
eventWebhooksStatus?: ApplicationWebhookEventStatus.Enabled | ApplicationWebhookEventStatus.Disabled;
|
||||
eventWebhooksTypes?: readonly ApplicationWebhookEventType[];
|
||||
tags?: readonly string[];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user