diff --git a/src/helpers/webhooks/createWebhook.ts b/src/helpers/webhooks/createWebhook.ts index a7c70ac6e..fccce26e8 100644 --- a/src/helpers/webhooks/createWebhook.ts +++ b/src/helpers/webhooks/createWebhook.ts @@ -13,8 +13,9 @@ export async function createWebhook(bot: Bot, channelId: bigint, options: Create "post", bot.constants.endpoints.CHANNEL_WEBHOOKS(channelId), { - ...options, + name: options.name, avatar: options.avatar ? await bot.utils.urlToBase64(options.avatar) : undefined, + reason: options.reason, } ); diff --git a/src/helpers/webhooks/deleteWebhook.ts b/src/helpers/webhooks/deleteWebhook.ts index d4b8d4470..d70498fa4 100644 --- a/src/helpers/webhooks/deleteWebhook.ts +++ b/src/helpers/webhooks/deleteWebhook.ts @@ -1,6 +1,6 @@ import type { Bot } from "../../bot.ts"; /** Delete a webhook permanently. Requires the `MANAGE_WEBHOOKS` permission. Returns a undefined on success */ -export async function deleteWebhook(bot: Bot, channelId: bigint, webhookId: bigint) { - await bot.rest.runMethod(bot.rest, "delete", bot.constants.endpoints.WEBHOOK_ID(webhookId)); +export async function deleteWebhook(bot: Bot, webhookId: bigint, reason?: string) { + await bot.rest.runMethod(bot.rest, "delete", bot.constants.endpoints.WEBHOOK_ID(webhookId), { reason }); } diff --git a/src/helpers/webhooks/editWebhook.ts b/src/helpers/webhooks/editWebhook.ts index d934d194d..71a88ac65 100644 --- a/src/helpers/webhooks/editWebhook.ts +++ b/src/helpers/webhooks/editWebhook.ts @@ -3,10 +3,12 @@ import type { Webhook } from "../../types/webhooks/webhook.ts"; import type { Bot } from "../../bot.ts"; /** Edit a webhook. Requires the `MANAGE_WEBHOOKS` permission. Returns the updated webhook object on success. */ -export async function editWebhook(bot: Bot, channelId: bigint, webhookId: bigint, options: ModifyWebhook) { +export async function editWebhook(bot: Bot, webhookId: bigint, options: ModifyWebhook) { const result = await bot.rest.runMethod(bot.rest, "patch", bot.constants.endpoints.WEBHOOK_ID(webhookId), { - ...options, + name: options.name, + avatar: options.avatar, channel_id: options.channelId, + reason: options.reason, }); return bot.transformers.webhook(bot, result); diff --git a/src/types/webhooks/createWebhook.ts b/src/types/webhooks/createWebhook.ts index 5311a4a4f..cce31638c 100644 --- a/src/types/webhooks/createWebhook.ts +++ b/src/types/webhooks/createWebhook.ts @@ -3,4 +3,6 @@ export interface CreateWebhook { name: string; /** Image for the default webhook avatar */ avatar?: string | null; + /** The reason you are creating this webhook */ + reason?: string; } diff --git a/src/types/webhooks/modifyWebhook.ts b/src/types/webhooks/modifyWebhook.ts index 562589a27..620ce806e 100644 --- a/src/types/webhooks/modifyWebhook.ts +++ b/src/types/webhooks/modifyWebhook.ts @@ -6,4 +6,6 @@ export interface ModifyWebhook { avatar?: string | null; /** The new channel id this webhook should be moved to */ channelId?: string; + /** The reason you are modifying this webhook */ + reason?: string; }