diff --git a/packages/discord.js/src/managers/StageInstanceManager.js b/packages/discord.js/src/managers/StageInstanceManager.js index ea037cfe5e99..2f78b12f0c17 100644 --- a/packages/discord.js/src/managers/StageInstanceManager.js +++ b/packages/discord.js/src/managers/StageInstanceManager.js @@ -32,6 +32,8 @@ class StageInstanceManager extends CachedManager { * @property {string} topic The topic of the stage instance * @property {StageInstancePrivacyLevel} [privacyLevel] The privacy level of the stage instance * @property {boolean} [sendStartNotification] Whether to notify `@everyone` that the stage instance has started + * @property {GuildScheduledEventResolvable} [guildScheduledEvent] + * The guild scheduled event associated with the stage instance */ /** @@ -59,7 +61,9 @@ class StageInstanceManager extends CachedManager { const channelId = this.guild.channels.resolveId(channel); if (!channelId) throw new DiscordjsError(ErrorCodes.StageChannelResolve); if (typeof options !== 'object') throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'options', 'object', true); - let { topic, privacyLevel, sendStartNotification } = options; + const { guildScheduledEvent, topic, privacyLevel, sendStartNotification } = options; + + const guildScheduledEventId = guildScheduledEvent && this.resolveId(guildScheduledEvent); const data = await this.client.rest.post(Routes.stageInstances(), { body: { @@ -67,6 +71,7 @@ class StageInstanceManager extends CachedManager { topic, privacy_level: privacyLevel, send_start_notification: sendStartNotification, + guild_scheduled_event_id: guildScheduledEventId, }, }); diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 1a80284102b0..3b72e64dd63b 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -5214,6 +5214,7 @@ export interface StageInstanceCreateOptions { topic: string; privacyLevel?: StageInstancePrivacyLevel; sendStartNotification?: boolean; + guildScheduledEvent?: GuildScheduledEventResolvable; } export interface CrosspostedChannel {