diff --git a/discord/channel.py b/discord/channel.py index c31a6af0d..02f2de075 100644 --- a/discord/channel.py +++ b/discord/channel.py @@ -1600,6 +1600,7 @@ class StageChannel(VocalGuildChannel): topic: str, privacy_level: PrivacyLevel = MISSING, send_start_notification: bool = False, + scheduled_event: Snowflake = MISSING, reason: Optional[str] = None, ) -> StageInstance: """|coro| @@ -1621,6 +1622,10 @@ class StageChannel(VocalGuildChannel): You must have :attr:`~Permissions.mention_everyone` to do this. .. versionadded:: 2.3 + scheduled_event: :class:`~discord.abc.Snowflake` + The guild scheduled event associated with the stage instance. + + .. versionadded:: 2.4 reason: :class:`str` The reason the stage instance was created. Shows up on the audit log. @@ -1647,6 +1652,9 @@ class StageChannel(VocalGuildChannel): payload['privacy_level'] = privacy_level.value + if scheduled_event is not MISSING: + payload['guild_scheduled_event_id'] = scheduled_event.id + payload['send_start_notification'] = send_start_notification data = await self._state.http.create_stage_instance(**payload, reason=reason) diff --git a/discord/http.py b/discord/http.py index 84365cec7..aa6dc9f3e 100644 --- a/discord/http.py +++ b/discord/http.py @@ -1918,6 +1918,7 @@ class HTTPClient: 'topic', 'privacy_level', 'send_start_notification', + 'guild_scheduled_event_id', ) payload = {k: v for k, v in payload.items() if k in valid_keys}