diff --git a/packages/discord.js/src/managers/GuildScheduledEventManager.js b/packages/discord.js/src/managers/GuildScheduledEventManager.js index fb5b3db49..425b2b70b 100644 --- a/packages/discord.js/src/managers/GuildScheduledEventManager.js +++ b/packages/discord.js/src/managers/GuildScheduledEventManager.js @@ -196,7 +196,7 @@ class GuildScheduledEventManager extends CachedManager { * @property {DateResolvable} [scheduledEndTime] The time to end the event at * @property {GuildScheduledEventPrivacyLevel} [privacyLevel] The privacy level of the guild scheduled event * @property {GuildScheduledEventEntityType} [entityType] The scheduled entity type of the event - * @property {string} [description] The description of the guild scheduled event + * @property {?string} [description] The description of the guild scheduled event, or `null` to remove it * @property {?GuildVoiceChannelResolvable} [channel] The channel of the guild scheduled event * @property {GuildScheduledEventStatus} [status] The status of the guild scheduled event * @property {GuildScheduledEventEntityMetadataOptions} [entityMetadata] The entity metadata of the diff --git a/packages/discord.js/src/structures/GuildScheduledEvent.js b/packages/discord.js/src/structures/GuildScheduledEvent.js index 50914fc28..d70d3bfd2 100644 --- a/packages/discord.js/src/structures/GuildScheduledEvent.js +++ b/packages/discord.js/src/structures/GuildScheduledEvent.js @@ -470,7 +470,7 @@ class GuildScheduledEvent extends Base { /** * Sets the new description of the guild scheduled event. * - * @param {string} description The description of the guild scheduled event + * @param {?string} description The description of the guild scheduled event, or `null` to remove it * @param {string} [reason] The reason for changing the description * @returns {Promise} * @example diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 8847caa38..201e10b14 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -1817,7 +1817,7 @@ export class GuildScheduledEvent>; public setScheduledEndTime(scheduledEndTime: DateResolvable, reason?: string): Promise>; - public setDescription(description: string, reason?: string): Promise>; + public setDescription(description: string | null, reason?: string): Promise>; public setStatus>( status: AcceptableStatus, reason?: string, @@ -6453,7 +6453,7 @@ export interface GuildListMembersOptions { export interface BaseGuildScheduledEventOptions { channel?: GuildVoiceChannelResolvable | null; - description?: string; + description?: string | null; entityMetadata?: GuildScheduledEventEntityMetadataOptions; entityType?: GuildScheduledEventEntityType; image?: Base64Resolvable | BufferResolvable | null; @@ -6468,6 +6468,7 @@ export interface BaseGuildScheduledEventOptions { // TODO: use conditional types for better TS support export interface GuildScheduledEventCreateOptions extends BaseGuildScheduledEventOptions { channel?: GuildVoiceChannelResolvable; + description?: string; entityType: GuildScheduledEventEntityType; name: string; privacyLevel: GuildScheduledEventPrivacyLevel; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index a0cfd48bd..c9fd03127 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -139,6 +139,7 @@ import type { GuildMessageManager, GuildOnboarding, GuildResolvable, + GuildScheduledEventCreateOptions, GuildScheduledEventManager, GuildScheduledEventRecurrenceRuleOptions, GuildTextBasedChannel, @@ -2999,6 +3000,14 @@ client.on('interactionCreate', async interaction => { declare const guildScheduledEventManager: GuildScheduledEventManager; await guildScheduledEventManager.edit(snowflake, { recurrenceRule: null }); +await guildScheduledEventManager.edit(snowflake, { description: null }); + +{ + const event = await guildScheduledEventManager.fetch(snowflake); + await event.setDescription(null); + await event.edit({ description: null }); + expectNotAssignable(null); +} { expectNotAssignable({