From c1000b86ed6d5413afcd6ee7e80505e5a845430b Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Sat, 25 Feb 2023 14:34:48 +0000 Subject: [PATCH] feat(AutoModeration): Support `custom_message` (#9171) * feat: initial commit * docs: fix type * docs: this is probably a better explanation * docs: optional --------- Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- packages/discord.js/src/managers/AutoModerationRuleManager.js | 3 +++ packages/discord.js/src/structures/AutoModerationRule.js | 1 + packages/discord.js/src/util/Transformers.js | 1 + packages/discord.js/typings/index.d.ts | 1 + 4 files changed, 6 insertions(+) diff --git a/packages/discord.js/src/managers/AutoModerationRuleManager.js b/packages/discord.js/src/managers/AutoModerationRuleManager.js index b212babb064f..960173940f48 100644 --- a/packages/discord.js/src/managers/AutoModerationRuleManager.js +++ b/packages/discord.js/src/managers/AutoModerationRuleManager.js @@ -75,6 +75,7 @@ class AutoModerationRuleManager extends CachedManager { * @typedef {Object} AutoModerationActionMetadataOptions * @property {GuildTextChannelResolvable|ThreadChannel} [channel] The channel to which content will be logged * @property {number} [durationSeconds] The timeout duration in seconds + * @property {string} [customMessage] The custom message that is shown whenever a message is blocked */ /** @@ -130,6 +131,7 @@ class AutoModerationRuleManager extends CachedManager { metadata: { duration_seconds: action.metadata?.durationSeconds, channel_id: action.metadata?.channel && this.guild.channels.resolveId(action.metadata.channel), + custom_message: action.metadata?.customMessage, }, })), enabled, @@ -186,6 +188,7 @@ class AutoModerationRuleManager extends CachedManager { metadata: { duration_seconds: action.metadata?.durationSeconds, channel_id: action.metadata?.channel && this.guild.channels.resolveId(action.metadata.channel), + custom_message: action.metadata?.customMessage, }, })), enabled, diff --git a/packages/discord.js/src/structures/AutoModerationRule.js b/packages/discord.js/src/structures/AutoModerationRule.js index 3767331b4ef8..3fcbda2b78b9 100644 --- a/packages/discord.js/src/structures/AutoModerationRule.js +++ b/packages/discord.js/src/structures/AutoModerationRule.js @@ -96,6 +96,7 @@ class AutoModerationRule extends Base { * @typedef {Object} AutoModerationActionMetadata * @property {?Snowflake} channelId The id of the channel to which content will be logged * @property {?number} durationSeconds The timeout duration in seconds + * @property {?string} customMessage The custom message that is shown whenever a message is blocked */ /** diff --git a/packages/discord.js/src/util/Transformers.js b/packages/discord.js/src/util/Transformers.js index 8799dda008ca..f4d7af0ec6ab 100644 --- a/packages/discord.js/src/util/Transformers.js +++ b/packages/discord.js/src/util/Transformers.js @@ -28,6 +28,7 @@ function _transformAPIAutoModerationAction(autoModerationAction) { metadata: { durationSeconds: autoModerationAction.metadata.duration_seconds ?? null, channelId: autoModerationAction.metadata.channel_id ?? null, + customMessage: autoModerationAction.metadata.custom_message ?? null, }, }; } diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 597f334d98da..b0ad33bf8a21 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4543,6 +4543,7 @@ export interface AutoModerationAction { export interface AutoModerationActionMetadata { channelId: Snowflake | null; durationSeconds: number | null; + customMessage: string | null; } export interface AutoModerationTriggerMetadata {