@@ -813,6 +813,7 @@ proc createScheduledEvent*(api: RestApi; guild_id: string;
813813 privacy_level: GuildScheduledEventPrivacyLevel ;
814814 entity_type: EntityType ;
815815 entity_metadata = none EntityMetadata ;
816+ recurrence_rule = none RecurrenceRule ;
816817 reason = " "
817818): Future [GuildScheduledEvent ] {.async .} =
818819 # # Create a scheduled event in a guild.
@@ -831,6 +832,9 @@ proc createScheduledEvent*(api: RestApi; guild_id: string;
831832 payload[" entity_metadata" ] = %* {
832833 " location" : entity_metadata.get.location.get
833834 }
835+ if recurrence_rule.isSome:
836+ payload[" recurrence_rule" ] = % recurrence_rule.get
837+
834838 result = (await api.request (
835839 " POST" ,
836840 endpointGuildScheduledEvents (guild_id),
@@ -845,6 +849,7 @@ proc editScheduledEvent*(api: RestApi; guild_id, event_id: string;
845849 entity_type = none EntityType ;
846850 entity_metadata = none EntityMetadata ;
847851 status = none GuildScheduledEventStatus ;
852+ recurrence_rule = none RecurrenceRule ;
848853 reason = " "
849854): Future [GuildScheduledEvent ] {.async .} =
850855 # # Update a scheduled event in a guild.
@@ -855,7 +860,7 @@ proc editScheduledEvent*(api: RestApi; guild_id, event_id: string;
855860 let payload = newJObject ()
856861 payload.loadNullableOptStr (channel_id, image)
857862 payload.loadOpt (scheduled_end_time, scheduled_start_time,
858- description, entity_type, status, privacy_level)
863+ description, entity_type, status, privacy_level, recurrence_rule )
859864
860865 if entity_type.isSome and entity_type.get == etExternal:
861866 assert channel_id.get == " "
0 commit comments