diff --git a/deno/payloads/v10/guildScheduledEvent.ts b/deno/payloads/v10/guildScheduledEvent.ts index 26c0767b..b187f02a 100644 --- a/deno/payloads/v10/guildScheduledEvent.ts +++ b/deno/payloads/v10/guildScheduledEvent.ts @@ -67,6 +67,113 @@ interface APIGuildScheduledEventBase * The cover image of the scheduled event */ image?: string | null; + /** + * The definition for how often this event should recur + */ + recurrence_rule: APIGuildScheduledEventRecurrenceRule | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-structure + */ +export interface APIGuildScheduledEventRecurrenceRule { + /** + * Starting time of the recurrence interval + */ + start: string; + /** + * Ending time of the recurrence interval + */ + end: string | null; + /** + * How often the event occurs + */ + frequency: GuildScheduledEventRecurrenceRuleFrequency; + /** + * The spacing between the events, defined by `frequency`. + * For example, `frequency` of {@apilink GuildScheduledEventRecurrenceRuleFrequency#Weekly} and an `interval` of `2` + * would be "every-other week" + */ + interval: number; + /** + * Set of specific days within a week for the event to recur on + */ + by_weekday: GuildScheduledEventRecurrenceRuleWeekday[] | null; + /** + * List of specific days within a specific week (1-5) to recur on + */ + by_n_weekday: GuildScheduledEventRecurrenceRuleNWeekdayStructure[] | null; + /** + * Set of specific months to recur on + */ + by_month: GuildScheduledEventRecurrenceRuleMonth[] | null; + /** + * Set of specific dates within a month to recur on + */ + by_month_day: number[] | null; + /** + * Set of days within a year to recur on (1-364) + */ + by_year_day: number[] | null; + /** + * The total amount of times that the event is allowed to recur before stopping + */ + count: number | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-frequency + */ +export enum GuildScheduledEventRecurrenceRuleFrequency { + Yearly, + Monthly, + Weekly, + Daily, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-weekday + */ +export enum GuildScheduledEventRecurrenceRuleWeekday { + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-month + */ +export enum GuildScheduledEventRecurrenceRuleMonth { + January = 1, + February, + March, + April, + May, + June, + July, + August, + September, + October, + November, + December, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-nweekday-structure + */ +export interface GuildScheduledEventRecurrenceRuleNWeekdayStructure { + /** + * The week to reoccur on. + */ + n: 1 | 2 | 3 | 4 | 5; + /** + * The day within the week to reoccur on + */ + day: GuildScheduledEventRecurrenceRuleWeekday; } export interface APIStageInstanceGuildScheduledEvent diff --git a/deno/payloads/v9/guildScheduledEvent.ts b/deno/payloads/v9/guildScheduledEvent.ts index 26c0767b..b187f02a 100644 --- a/deno/payloads/v9/guildScheduledEvent.ts +++ b/deno/payloads/v9/guildScheduledEvent.ts @@ -67,6 +67,113 @@ interface APIGuildScheduledEventBase * The cover image of the scheduled event */ image?: string | null; + /** + * The definition for how often this event should recur + */ + recurrence_rule: APIGuildScheduledEventRecurrenceRule | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-structure + */ +export interface APIGuildScheduledEventRecurrenceRule { + /** + * Starting time of the recurrence interval + */ + start: string; + /** + * Ending time of the recurrence interval + */ + end: string | null; + /** + * How often the event occurs + */ + frequency: GuildScheduledEventRecurrenceRuleFrequency; + /** + * The spacing between the events, defined by `frequency`. + * For example, `frequency` of {@apilink GuildScheduledEventRecurrenceRuleFrequency#Weekly} and an `interval` of `2` + * would be "every-other week" + */ + interval: number; + /** + * Set of specific days within a week for the event to recur on + */ + by_weekday: GuildScheduledEventRecurrenceRuleWeekday[] | null; + /** + * List of specific days within a specific week (1-5) to recur on + */ + by_n_weekday: GuildScheduledEventRecurrenceRuleNWeekdayStructure[] | null; + /** + * Set of specific months to recur on + */ + by_month: GuildScheduledEventRecurrenceRuleMonth[] | null; + /** + * Set of specific dates within a month to recur on + */ + by_month_day: number[] | null; + /** + * Set of days within a year to recur on (1-364) + */ + by_year_day: number[] | null; + /** + * The total amount of times that the event is allowed to recur before stopping + */ + count: number | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-frequency + */ +export enum GuildScheduledEventRecurrenceRuleFrequency { + Yearly, + Monthly, + Weekly, + Daily, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-weekday + */ +export enum GuildScheduledEventRecurrenceRuleWeekday { + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-month + */ +export enum GuildScheduledEventRecurrenceRuleMonth { + January = 1, + February, + March, + April, + May, + June, + July, + August, + September, + October, + November, + December, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-nweekday-structure + */ +export interface GuildScheduledEventRecurrenceRuleNWeekdayStructure { + /** + * The week to reoccur on. + */ + n: 1 | 2 | 3 | 4 | 5; + /** + * The day within the week to reoccur on + */ + day: GuildScheduledEventRecurrenceRuleWeekday; } export interface APIStageInstanceGuildScheduledEvent diff --git a/deno/rest/v10/guildScheduledEvent.ts b/deno/rest/v10/guildScheduledEvent.ts index 1d9f83b6..59c5712d 100644 --- a/deno/rest/v10/guildScheduledEvent.ts +++ b/deno/rest/v10/guildScheduledEvent.ts @@ -3,6 +3,7 @@ import type { StrictPartial } from '../../utils/internals.ts'; import type { APIGuildScheduledEvent, APIGuildScheduledEventEntityMetadata, + APIGuildScheduledEventRecurrenceRule, APIGuildScheduledEventUser, GuildScheduledEventEntityType, GuildScheduledEventPrivacyLevel, @@ -64,6 +65,10 @@ export interface RESTPostAPIGuildScheduledEventJSONBody { * The cover image of the scheduled event */ image?: string | null | undefined; + /** + * The definition for how often this event should recur + */ + recurrence_rule?: APIGuildScheduledEventRecurrenceRule | undefined; } /** diff --git a/deno/rest/v9/guildScheduledEvent.ts b/deno/rest/v9/guildScheduledEvent.ts index e0ff9da8..a1b9d476 100644 --- a/deno/rest/v9/guildScheduledEvent.ts +++ b/deno/rest/v9/guildScheduledEvent.ts @@ -2,11 +2,12 @@ import type { Snowflake } from '../../globals.ts'; import type { StrictPartial } from '../../utils/internals.ts'; import type { APIGuildScheduledEvent, + APIGuildScheduledEventEntityMetadata, + APIGuildScheduledEventRecurrenceRule, + APIGuildScheduledEventUser, GuildScheduledEventEntityType, GuildScheduledEventPrivacyLevel, - APIGuildScheduledEventEntityMetadata, GuildScheduledEventStatus, - APIGuildScheduledEventUser, } from '../../v9.ts'; /** @@ -64,6 +65,10 @@ export interface RESTPostAPIGuildScheduledEventJSONBody { * The cover image of the scheduled event */ image?: string | null | undefined; + /** + * The definition for how often this event should recur + */ + recurrence_rule?: APIGuildScheduledEventRecurrenceRule | undefined; } /** diff --git a/payloads/v10/guildScheduledEvent.ts b/payloads/v10/guildScheduledEvent.ts index 06db53e6..ce875eaa 100644 --- a/payloads/v10/guildScheduledEvent.ts +++ b/payloads/v10/guildScheduledEvent.ts @@ -67,6 +67,113 @@ interface APIGuildScheduledEventBase * The cover image of the scheduled event */ image?: string | null; + /** + * The definition for how often this event should recur + */ + recurrence_rule: APIGuildScheduledEventRecurrenceRule | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-structure + */ +export interface APIGuildScheduledEventRecurrenceRule { + /** + * Starting time of the recurrence interval + */ + start: string; + /** + * Ending time of the recurrence interval + */ + end: string | null; + /** + * How often the event occurs + */ + frequency: GuildScheduledEventRecurrenceRuleFrequency; + /** + * The spacing between the events, defined by `frequency`. + * For example, `frequency` of {@apilink GuildScheduledEventRecurrenceRuleFrequency#Weekly} and an `interval` of `2` + * would be "every-other week" + */ + interval: number; + /** + * Set of specific days within a week for the event to recur on + */ + by_weekday: GuildScheduledEventRecurrenceRuleWeekday[] | null; + /** + * List of specific days within a specific week (1-5) to recur on + */ + by_n_weekday: GuildScheduledEventRecurrenceRuleNWeekdayStructure[] | null; + /** + * Set of specific months to recur on + */ + by_month: GuildScheduledEventRecurrenceRuleMonth[] | null; + /** + * Set of specific dates within a month to recur on + */ + by_month_day: number[] | null; + /** + * Set of days within a year to recur on (1-364) + */ + by_year_day: number[] | null; + /** + * The total amount of times that the event is allowed to recur before stopping + */ + count: number | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-frequency + */ +export enum GuildScheduledEventRecurrenceRuleFrequency { + Yearly, + Monthly, + Weekly, + Daily, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-weekday + */ +export enum GuildScheduledEventRecurrenceRuleWeekday { + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-month + */ +export enum GuildScheduledEventRecurrenceRuleMonth { + January = 1, + February, + March, + April, + May, + June, + July, + August, + September, + October, + November, + December, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-nweekday-structure + */ +export interface GuildScheduledEventRecurrenceRuleNWeekdayStructure { + /** + * The week to reoccur on. + */ + n: 1 | 2 | 3 | 4 | 5; + /** + * The day within the week to reoccur on + */ + day: GuildScheduledEventRecurrenceRuleWeekday; } export interface APIStageInstanceGuildScheduledEvent diff --git a/payloads/v9/guildScheduledEvent.ts b/payloads/v9/guildScheduledEvent.ts index 06db53e6..ce875eaa 100644 --- a/payloads/v9/guildScheduledEvent.ts +++ b/payloads/v9/guildScheduledEvent.ts @@ -67,6 +67,113 @@ interface APIGuildScheduledEventBase * The cover image of the scheduled event */ image?: string | null; + /** + * The definition for how often this event should recur + */ + recurrence_rule: APIGuildScheduledEventRecurrenceRule | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-structure + */ +export interface APIGuildScheduledEventRecurrenceRule { + /** + * Starting time of the recurrence interval + */ + start: string; + /** + * Ending time of the recurrence interval + */ + end: string | null; + /** + * How often the event occurs + */ + frequency: GuildScheduledEventRecurrenceRuleFrequency; + /** + * The spacing between the events, defined by `frequency`. + * For example, `frequency` of {@apilink GuildScheduledEventRecurrenceRuleFrequency#Weekly} and an `interval` of `2` + * would be "every-other week" + */ + interval: number; + /** + * Set of specific days within a week for the event to recur on + */ + by_weekday: GuildScheduledEventRecurrenceRuleWeekday[] | null; + /** + * List of specific days within a specific week (1-5) to recur on + */ + by_n_weekday: GuildScheduledEventRecurrenceRuleNWeekdayStructure[] | null; + /** + * Set of specific months to recur on + */ + by_month: GuildScheduledEventRecurrenceRuleMonth[] | null; + /** + * Set of specific dates within a month to recur on + */ + by_month_day: number[] | null; + /** + * Set of days within a year to recur on (1-364) + */ + by_year_day: number[] | null; + /** + * The total amount of times that the event is allowed to recur before stopping + */ + count: number | null; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-frequency + */ +export enum GuildScheduledEventRecurrenceRuleFrequency { + Yearly, + Monthly, + Weekly, + Daily, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-weekday + */ +export enum GuildScheduledEventRecurrenceRuleWeekday { + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Sunday, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-month + */ +export enum GuildScheduledEventRecurrenceRuleMonth { + January = 1, + February, + March, + April, + May, + June, + July, + August, + September, + October, + November, + December, +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-nweekday-structure + */ +export interface GuildScheduledEventRecurrenceRuleNWeekdayStructure { + /** + * The week to reoccur on. + */ + n: 1 | 2 | 3 | 4 | 5; + /** + * The day within the week to reoccur on + */ + day: GuildScheduledEventRecurrenceRuleWeekday; } export interface APIStageInstanceGuildScheduledEvent diff --git a/rest/v10/guildScheduledEvent.ts b/rest/v10/guildScheduledEvent.ts index 90506ed8..3dd5a849 100644 --- a/rest/v10/guildScheduledEvent.ts +++ b/rest/v10/guildScheduledEvent.ts @@ -3,6 +3,7 @@ import type { StrictPartial } from '../../utils/internals'; import type { APIGuildScheduledEvent, APIGuildScheduledEventEntityMetadata, + APIGuildScheduledEventRecurrenceRule, APIGuildScheduledEventUser, GuildScheduledEventEntityType, GuildScheduledEventPrivacyLevel, @@ -64,6 +65,10 @@ export interface RESTPostAPIGuildScheduledEventJSONBody { * The cover image of the scheduled event */ image?: string | null | undefined; + /** + * The definition for how often this event should recur + */ + recurrence_rule?: APIGuildScheduledEventRecurrenceRule | undefined; } /** diff --git a/rest/v9/guildScheduledEvent.ts b/rest/v9/guildScheduledEvent.ts index 35eec77c..2ed52c0a 100644 --- a/rest/v9/guildScheduledEvent.ts +++ b/rest/v9/guildScheduledEvent.ts @@ -2,11 +2,12 @@ import type { Snowflake } from '../../globals'; import type { StrictPartial } from '../../utils/internals'; import type { APIGuildScheduledEvent, + APIGuildScheduledEventEntityMetadata, + APIGuildScheduledEventRecurrenceRule, + APIGuildScheduledEventUser, GuildScheduledEventEntityType, GuildScheduledEventPrivacyLevel, - APIGuildScheduledEventEntityMetadata, GuildScheduledEventStatus, - APIGuildScheduledEventUser, } from '../../v9'; /** @@ -64,6 +65,10 @@ export interface RESTPostAPIGuildScheduledEventJSONBody { * The cover image of the scheduled event */ image?: string | null | undefined; + /** + * The definition for how often this event should recur + */ + recurrence_rule?: APIGuildScheduledEventRecurrenceRule | undefined; } /**