diff --git a/deno/payloads/v8/guildScheduledEvent.ts b/deno/payloads/v8/guildScheduledEvent.ts index 472a4bacd..f1a366e7f 100644 --- a/deno/payloads/v8/guildScheduledEvent.ts +++ b/deno/payloads/v8/guildScheduledEvent.ts @@ -2,7 +2,7 @@ import type { APIUser } from './user.ts'; import type { APIGuildMember } from './guild.ts'; import type { Snowflake } from '../../globals.ts'; -export interface APIGuildScheduledEvent { +interface APIGuildScheduledEventBase { /** * The id of the guild event */ @@ -46,7 +46,7 @@ export interface APIGuildScheduledEvent { /** * The type of hosting entity associated with the scheduled event */ - entity_type: GuildScheduledEventEntityType; + entity_type: Type; /** * The id of the hosting entity associated with the scheduled event */ @@ -54,7 +54,7 @@ export interface APIGuildScheduledEvent { /** * The entity metadata for the scheduled event */ - entity_metadata: APIGuildScheduledEventEntityMetadata; + entity_metadata: APIGuildScheduledEventEntityMetadata | null; /** * The user that created the scheduled event */ @@ -65,6 +65,31 @@ export interface APIGuildScheduledEvent { user_count?: number; } +export interface APIStageInstanceGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIExternalGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: null; + entity_metadata: Required; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure + */ +export type APIGuildScheduledEvent = + | APIStageInstanceGuildScheduledEvent + | APIVoiceGuildScheduledEvent + | APIExternalGuildScheduledEvent; + /** * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata */ diff --git a/deno/payloads/v9/guildScheduledEvent.ts b/deno/payloads/v9/guildScheduledEvent.ts index 472a4bacd..f1a366e7f 100644 --- a/deno/payloads/v9/guildScheduledEvent.ts +++ b/deno/payloads/v9/guildScheduledEvent.ts @@ -2,7 +2,7 @@ import type { APIUser } from './user.ts'; import type { APIGuildMember } from './guild.ts'; import type { Snowflake } from '../../globals.ts'; -export interface APIGuildScheduledEvent { +interface APIGuildScheduledEventBase { /** * The id of the guild event */ @@ -46,7 +46,7 @@ export interface APIGuildScheduledEvent { /** * The type of hosting entity associated with the scheduled event */ - entity_type: GuildScheduledEventEntityType; + entity_type: Type; /** * The id of the hosting entity associated with the scheduled event */ @@ -54,7 +54,7 @@ export interface APIGuildScheduledEvent { /** * The entity metadata for the scheduled event */ - entity_metadata: APIGuildScheduledEventEntityMetadata; + entity_metadata: APIGuildScheduledEventEntityMetadata | null; /** * The user that created the scheduled event */ @@ -65,6 +65,31 @@ export interface APIGuildScheduledEvent { user_count?: number; } +export interface APIStageInstanceGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIExternalGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: null; + entity_metadata: Required; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure + */ +export type APIGuildScheduledEvent = + | APIStageInstanceGuildScheduledEvent + | APIVoiceGuildScheduledEvent + | APIExternalGuildScheduledEvent; + /** * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata */ diff --git a/payloads/v8/guildScheduledEvent.ts b/payloads/v8/guildScheduledEvent.ts index 7a50be703..ba0dc7e87 100644 --- a/payloads/v8/guildScheduledEvent.ts +++ b/payloads/v8/guildScheduledEvent.ts @@ -2,7 +2,7 @@ import type { APIUser } from './user'; import type { APIGuildMember } from './guild'; import type { Snowflake } from '../../globals'; -export interface APIGuildScheduledEvent { +interface APIGuildScheduledEventBase { /** * The id of the guild event */ @@ -46,7 +46,7 @@ export interface APIGuildScheduledEvent { /** * The type of hosting entity associated with the scheduled event */ - entity_type: GuildScheduledEventEntityType; + entity_type: Type; /** * The id of the hosting entity associated with the scheduled event */ @@ -54,7 +54,7 @@ export interface APIGuildScheduledEvent { /** * The entity metadata for the scheduled event */ - entity_metadata: APIGuildScheduledEventEntityMetadata; + entity_metadata: APIGuildScheduledEventEntityMetadata | null; /** * The user that created the scheduled event */ @@ -65,6 +65,31 @@ export interface APIGuildScheduledEvent { user_count?: number; } +export interface APIStageInstanceGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIExternalGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: null; + entity_metadata: Required; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure + */ +export type APIGuildScheduledEvent = + | APIStageInstanceGuildScheduledEvent + | APIVoiceGuildScheduledEvent + | APIExternalGuildScheduledEvent; + /** * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata */ diff --git a/payloads/v9/guildScheduledEvent.ts b/payloads/v9/guildScheduledEvent.ts index 7a50be703..ba0dc7e87 100644 --- a/payloads/v9/guildScheduledEvent.ts +++ b/payloads/v9/guildScheduledEvent.ts @@ -2,7 +2,7 @@ import type { APIUser } from './user'; import type { APIGuildMember } from './guild'; import type { Snowflake } from '../../globals'; -export interface APIGuildScheduledEvent { +interface APIGuildScheduledEventBase { /** * The id of the guild event */ @@ -46,7 +46,7 @@ export interface APIGuildScheduledEvent { /** * The type of hosting entity associated with the scheduled event */ - entity_type: GuildScheduledEventEntityType; + entity_type: Type; /** * The id of the hosting entity associated with the scheduled event */ @@ -54,7 +54,7 @@ export interface APIGuildScheduledEvent { /** * The entity metadata for the scheduled event */ - entity_metadata: APIGuildScheduledEventEntityMetadata; + entity_metadata: APIGuildScheduledEventEntityMetadata | null; /** * The user that created the scheduled event */ @@ -65,6 +65,31 @@ export interface APIGuildScheduledEvent { user_count?: number; } +export interface APIStageInstanceGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIVoiceGuildScheduledEvent extends APIGuildScheduledEventBase { + channel_id: Snowflake; + entity_metadata: null; +} + +export interface APIExternalGuildScheduledEvent + extends APIGuildScheduledEventBase { + channel_id: null; + entity_metadata: Required; +} + +/** + * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-structure + */ +export type APIGuildScheduledEvent = + | APIStageInstanceGuildScheduledEvent + | APIVoiceGuildScheduledEvent + | APIExternalGuildScheduledEvent; + /** * https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata */