mirror of
https://github.com/discordjs/discord-api-types.git
synced 2026-06-04 01:40:10 +00:00
feat: add guild scheduled event (#186)
Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
This commit is contained in:
@@ -9,6 +9,7 @@ import type {
|
||||
APIChannel,
|
||||
APIEmoji,
|
||||
APIGuild,
|
||||
APIGuildScheduledEvent,
|
||||
APIGuildIntegration,
|
||||
APIGuildMember,
|
||||
APIMessage,
|
||||
@@ -183,6 +184,7 @@ export enum GatewayIntentBits {
|
||||
DirectMessages = 1 << 12,
|
||||
DirectMessageReactions = 1 << 13,
|
||||
DirectMessageTyping = 1 << 14,
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -233,6 +235,11 @@ export enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
GuildScheduledEventUserAdd = 'GUILD_SCHEDULED_EVENT_USER_ADD',
|
||||
GuildScheduledEventUserRemove = 'GUILD_SCHEDULED_EVENT_USER_REMOVE',
|
||||
}
|
||||
|
||||
export type GatewaySendPayload =
|
||||
@@ -265,6 +272,11 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
| GatewayIntegrationCreateDispatch
|
||||
| GatewayIntegrationDeleteDispatch
|
||||
@@ -808,6 +820,49 @@ export interface GatewayGuildRoleDeleteDispatchData {
|
||||
role_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventCreate,
|
||||
GatewayGuildScheduledEventCreateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUpdate,
|
||||
GatewayGuildScheduledEventUpdateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventDelete,
|
||||
GatewayGuildScheduledEventDeleteDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUserAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserAdd,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserAddDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserRemove,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserRemoveDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#integration-create
|
||||
*/
|
||||
|
||||
@@ -9,6 +9,7 @@ import type {
|
||||
APIChannel,
|
||||
APIEmoji,
|
||||
APIGuild,
|
||||
APIGuildScheduledEvent,
|
||||
APIGuildIntegration,
|
||||
APIGuildMember,
|
||||
APIMessage,
|
||||
@@ -186,6 +187,7 @@ export enum GatewayIntentBits {
|
||||
DirectMessages = 1 << 12,
|
||||
DirectMessageReactions = 1 << 13,
|
||||
DirectMessageTyping = 1 << 14,
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,6 +244,11 @@ export enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
GuildScheduledEventUserAdd = 'GUILD_SCHEDULED_EVENT_USER_ADD',
|
||||
GuildScheduledEventUserRemove = 'GUILD_SCHEDULED_EVENT_USER_REMOVE',
|
||||
}
|
||||
|
||||
export type GatewaySendPayload =
|
||||
@@ -274,6 +281,11 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
| GatewayIntegrationCreateDispatch
|
||||
| GatewayIntegrationDeleteDispatch
|
||||
@@ -818,6 +830,49 @@ export interface GatewayGuildRoleDeleteDispatchData {
|
||||
role_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventCreate,
|
||||
GatewayGuildScheduledEventCreateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUpdate,
|
||||
GatewayGuildScheduledEventUpdateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventDelete,
|
||||
GatewayGuildScheduledEventDeleteDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUserAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserAdd,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserAddDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserRemove,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserRemoveDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#integration-create
|
||||
*/
|
||||
|
||||
@@ -17,6 +17,7 @@ import type { StickerFormatType } from './sticker.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { APIWebhook } from './webhook.ts';
|
||||
import type { StageInstancePrivacyLevel } from './stageInstance.ts';
|
||||
import type { GuildScheduledEventEntityType, GuildScheduledEventStatus } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure
|
||||
@@ -144,6 +145,10 @@ export enum AuditLogEvent {
|
||||
StickerCreate = 90,
|
||||
StickerUpdate,
|
||||
StickerDelete,
|
||||
|
||||
GuildScheduledEventCreate = 100,
|
||||
GuildScheduledEventUpdate,
|
||||
GuildScheduledEventDelete,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -302,7 +307,10 @@ export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyGuildId;
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyLocation;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -310,7 +318,7 @@ export type APIAuditLogChange =
|
||||
export type APIAuditLogChangeKeyName = AuditLogChangeData<'name', string>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's or sticker's description is changed
|
||||
* Returned when a guild's or sticker's or guild scheduled event's description is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyDescription = AuditLogChangeData<'description', string>;
|
||||
|
||||
@@ -502,7 +510,7 @@ export type APIAuditLogChangeKeyDeny = AuditLogChangeData<'deny', string>;
|
||||
export type APIAuditLogChangeKeyCode = AuditLogChangeData<'code', string>;
|
||||
|
||||
/**
|
||||
* Returned when an invite's channel_id is changed
|
||||
* Returned when an invite's or guild scheduled event's channel_id is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyChannelId = AuditLogChangeData<'channel_id', Snowflake>;
|
||||
|
||||
@@ -582,7 +590,7 @@ export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_g
|
||||
export type APIAuditLogChangeKeyUserLimit = AuditLogChangeData<'user_limit', number>;
|
||||
|
||||
/**
|
||||
* Returned when privacy level of a stage instance is changed
|
||||
* Returned when privacy level of a stage instance or guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyPrivacyLevel = AuditLogChangeData<'privacy_level', StageInstancePrivacyLevel>;
|
||||
|
||||
@@ -611,6 +619,21 @@ export type APIAuditLogChangeKeyAvailable = AuditLogChangeData<'available', bool
|
||||
*/
|
||||
export type APIAuditLogChangeKeyGuildId = AuditLogChangeData<'guild_id', Snowflake>;
|
||||
|
||||
/**
|
||||
* Returned when entity type of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyEntityType = AuditLogChangeData<'entity_type', GuildScheduledEventEntityType>;
|
||||
|
||||
/**
|
||||
* Returned when status of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildScheduledEventStatus>;
|
||||
|
||||
/**
|
||||
* Returned when location of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;
|
||||
|
||||
interface AuditLogChangeData<K extends string, D extends unknown> {
|
||||
key: K;
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,7 @@ import type { APIStageInstance } from './stageInstance.ts';
|
||||
import type { APISticker } from './sticker.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { GatewayVoiceState } from './voice.ts';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
|
||||
@@ -325,6 +326,14 @@ export interface APIGuild extends APIPartialGuild {
|
||||
* See https://discord.com/developers/docs/resources/sticker#sticker-object
|
||||
*/
|
||||
stickers: APISticker[];
|
||||
/**
|
||||
* The scheduled events in the guild
|
||||
*
|
||||
* **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway#guild-create) event**
|
||||
*
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
|
||||
*/
|
||||
guild_scheduled_events?: APIGuildScheduledEvent[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
104
deno/payloads/v8/guildScheduledEvent.ts
Normal file
104
deno/payloads/v8/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
|
||||
export interface APIGuildScheduledEvent {
|
||||
/**
|
||||
* The id of the guild event
|
||||
*/
|
||||
id: Snowflake;
|
||||
/**
|
||||
* The guild id which the scheduled event belongs to
|
||||
*/
|
||||
guild_id: Snowflake;
|
||||
/**
|
||||
* The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`
|
||||
*/
|
||||
channel_id: Snowflake | null;
|
||||
/**
|
||||
* The id of the user that created the scheduled event
|
||||
*/
|
||||
creator_id: Snowflake | null;
|
||||
/**
|
||||
* The name of the scheduled event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The description of the scheduled event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The time the scheduled event will start
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time at which the guild event will end, or `null` if the event does not have a scheduled time to end
|
||||
*/
|
||||
scheduled_end_time: string | null;
|
||||
/**
|
||||
* The privacy level of the scheduled event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status: GuildScheduledEventStatus;
|
||||
/**
|
||||
* The type of hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_type: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The id of the hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_id: Snowflake | null;
|
||||
/**
|
||||
* The entity metadata for the scheduled event
|
||||
*/
|
||||
entity_metadata: APIGuildScheduledEventEntityMetadata;
|
||||
/**
|
||||
* The user that created the scheduled event
|
||||
*/
|
||||
creator?: APIUser;
|
||||
/**
|
||||
* The number of users subscribed to the scheduled event
|
||||
*/
|
||||
user_count?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
*/
|
||||
export interface APIGuildScheduledEventEntityMetadata {
|
||||
/**
|
||||
* The location of the scheduled event
|
||||
*/
|
||||
location?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types
|
||||
*/
|
||||
export enum GuildScheduledEventEntityType {
|
||||
StageInstance = 1,
|
||||
Voice,
|
||||
External,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status
|
||||
*/
|
||||
export enum GuildScheduledEventStatus {
|
||||
Scheduled = 1,
|
||||
Active,
|
||||
Completed,
|
||||
Canceled,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level
|
||||
*/
|
||||
export enum GuildScheduledEventPrivacyLevel {
|
||||
/**
|
||||
* The scheduled event is only accessible to guild members
|
||||
*/
|
||||
GuildOnly = 2,
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import type { APIPartialGuild } from './guild.ts';
|
||||
import type { APIApplication } from './application.ts';
|
||||
import type { APIInviteStageInstance } from './stageInstance.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/invite#invite-object
|
||||
@@ -68,6 +69,10 @@ export interface APIInvite {
|
||||
* The stage instance data if there is a public stage instance in the stage channel this invite is for
|
||||
*/
|
||||
stage_instance?: APIInviteStageInstance;
|
||||
/**
|
||||
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
|
||||
*/
|
||||
guild_scheduled_event?: APIGuildScheduledEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@ export * from './channel.ts';
|
||||
export * from './emoji.ts';
|
||||
export * from './gateway.ts';
|
||||
export * from './guild.ts';
|
||||
export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
|
||||
@@ -45,6 +45,7 @@ export const PermissionFlagsBits = {
|
||||
ManageEmojisAndStickers: 1n << 30n,
|
||||
UseApplicationCommands: 1n << 31n,
|
||||
RequestToSpeak: 1n << 32n,
|
||||
ManageEvents: 1n << 33n,
|
||||
UseExternalStickers: 1n << 37n,
|
||||
StartEmbeddedActivities: 1n << 39n,
|
||||
} as const;
|
||||
|
||||
@@ -17,6 +17,7 @@ import type { StickerFormatType } from './sticker.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { APIWebhook } from './webhook.ts';
|
||||
import type { StageInstancePrivacyLevel } from './stageInstance.ts';
|
||||
import type { GuildScheduledEventEntityType, GuildScheduledEventStatus } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure
|
||||
@@ -153,6 +154,10 @@ export enum AuditLogEvent {
|
||||
StickerUpdate,
|
||||
StickerDelete,
|
||||
|
||||
GuildScheduledEventCreate = 100,
|
||||
GuildScheduledEventUpdate,
|
||||
GuildScheduledEventDelete,
|
||||
|
||||
ThreadCreate = 110,
|
||||
ThreadUpdate,
|
||||
ThreadDelete,
|
||||
@@ -318,7 +323,10 @@ export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration;
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyLocation;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -326,7 +334,7 @@ export type APIAuditLogChange =
|
||||
export type APIAuditLogChangeKeyName = AuditLogChangeData<'name', string>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's or sticker's description is changed
|
||||
* Returned when a guild's or sticker's or guild scheduled event's description is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyDescription = AuditLogChangeData<'description', string>;
|
||||
|
||||
@@ -518,7 +526,7 @@ export type APIAuditLogChangeKeyDeny = AuditLogChangeData<'deny', string>;
|
||||
export type APIAuditLogChangeKeyCode = AuditLogChangeData<'code', string>;
|
||||
|
||||
/**
|
||||
* Returned when an invite's channel_id is changed
|
||||
* Returned when an invite's or guild scheduled event's channel_id is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyChannelId = AuditLogChangeData<'channel_id', Snowflake>;
|
||||
|
||||
@@ -598,7 +606,7 @@ export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_g
|
||||
export type APIAuditLogChangeKeyUserLimit = AuditLogChangeData<'user_limit', number>;
|
||||
|
||||
/**
|
||||
* Returned when privacy level of a stage instance is changed
|
||||
* Returned when privacy level of a stage instance or guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyPrivacyLevel = AuditLogChangeData<'privacy_level', StageInstancePrivacyLevel>;
|
||||
|
||||
@@ -650,6 +658,21 @@ export type APIAuditLogChangeKeyDefaultAutoArchiveDuration = AuditLogChangeData<
|
||||
number
|
||||
>;
|
||||
|
||||
/**
|
||||
* Returned when entity type of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyEntityType = AuditLogChangeData<'entity_type', GuildScheduledEventEntityType>;
|
||||
|
||||
/**
|
||||
* Returned when status of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildScheduledEventStatus>;
|
||||
|
||||
/**
|
||||
* Returned when location of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;
|
||||
|
||||
interface AuditLogChangeData<K extends string, D extends unknown> {
|
||||
key: K;
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,7 @@ import type { APIStageInstance } from './stageInstance.ts';
|
||||
import type { APISticker } from './sticker.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { GatewayVoiceState } from './voice.ts';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
|
||||
@@ -333,6 +334,14 @@ export interface APIGuild extends APIPartialGuild {
|
||||
* See https://discord.com/developers/docs/resources/sticker#sticker-object
|
||||
*/
|
||||
stickers: APISticker[];
|
||||
/**
|
||||
* The scheduled events in the guild
|
||||
*
|
||||
* **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway#guild-create) event**
|
||||
*
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
|
||||
*/
|
||||
guild_scheduled_events?: APIGuildScheduledEvent[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
104
deno/payloads/v9/guildScheduledEvent.ts
Normal file
104
deno/payloads/v9/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
|
||||
export interface APIGuildScheduledEvent {
|
||||
/**
|
||||
* The id of the guild event
|
||||
*/
|
||||
id: Snowflake;
|
||||
/**
|
||||
* The guild id which the scheduled event belongs to
|
||||
*/
|
||||
guild_id: Snowflake;
|
||||
/**
|
||||
* The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`
|
||||
*/
|
||||
channel_id: Snowflake | null;
|
||||
/**
|
||||
* The id of the user that created the scheduled event
|
||||
*/
|
||||
creator_id: Snowflake | null;
|
||||
/**
|
||||
* The name of the scheduled event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The description of the scheduled event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The time the scheduled event will start
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time at which the guild event will end, or `null` if the event does not have a scheduled time to end
|
||||
*/
|
||||
scheduled_end_time: string | null;
|
||||
/**
|
||||
* The privacy level of the scheduled event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status: GuildScheduledEventStatus;
|
||||
/**
|
||||
* The type of hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_type: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The id of the hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_id: Snowflake | null;
|
||||
/**
|
||||
* The entity metadata for the scheduled event
|
||||
*/
|
||||
entity_metadata: APIGuildScheduledEventEntityMetadata;
|
||||
/**
|
||||
* The user that created the scheduled event
|
||||
*/
|
||||
creator?: APIUser;
|
||||
/**
|
||||
* The number of users subscribed to the scheduled event
|
||||
*/
|
||||
user_count?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
*/
|
||||
export interface APIGuildScheduledEventEntityMetadata {
|
||||
/**
|
||||
* The location of the scheduled event
|
||||
*/
|
||||
location?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types
|
||||
*/
|
||||
export enum GuildScheduledEventEntityType {
|
||||
StageInstance = 1,
|
||||
Voice,
|
||||
External,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status
|
||||
*/
|
||||
export enum GuildScheduledEventStatus {
|
||||
Scheduled = 1,
|
||||
Active,
|
||||
Completed,
|
||||
Canceled,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level
|
||||
*/
|
||||
export enum GuildScheduledEventPrivacyLevel {
|
||||
/**
|
||||
* The scheduled event is only accessible to guild members
|
||||
*/
|
||||
GuildOnly = 2,
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import type { APIPartialGuild } from './guild.ts';
|
||||
import type { APIApplication } from './application.ts';
|
||||
import type { APIInviteStageInstance } from './stageInstance.ts';
|
||||
import type { APIUser } from './user.ts';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/invite#invite-object
|
||||
@@ -68,6 +69,10 @@ export interface APIInvite {
|
||||
* The stage instance data if there is a public stage instance in the stage channel this invite is for
|
||||
*/
|
||||
stage_instance?: APIInviteStageInstance;
|
||||
/**
|
||||
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
|
||||
*/
|
||||
guild_scheduled_event?: APIGuildScheduledEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,6 +4,7 @@ export * from './channel.ts';
|
||||
export * from './emoji.ts';
|
||||
export * from './gateway.ts';
|
||||
export * from './guild.ts';
|
||||
export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
|
||||
@@ -45,6 +45,7 @@ export const PermissionFlagsBits = {
|
||||
ManageEmojisAndStickers: 1n << 30n,
|
||||
UseApplicationCommands: 1n << 31n,
|
||||
RequestToSpeak: 1n << 32n,
|
||||
ManageEvents: 1n << 33n,
|
||||
ManageThreads: 1n << 34n,
|
||||
CreatePublicThreads: 1n << 35n,
|
||||
CreatePrivateThreads: 1n << 36n,
|
||||
|
||||
@@ -101,6 +101,7 @@ export enum RESTJSONErrorCodes {
|
||||
MaximumNumberOfNonGuildMemberBansHasBeenExceeded = 30035,
|
||||
|
||||
MaximumNumberOfBanFetchesHasBeenReached = 30037,
|
||||
MaximumNumberOfUncompletedGuildScheduledEventsReached,
|
||||
|
||||
MaximumNumberOfStickersReached = 30039,
|
||||
MaximumNumberOfPruneRequestsHasBeenReached,
|
||||
@@ -198,4 +199,8 @@ export enum RESTJSONErrorCodes {
|
||||
LottieAnimationMaximumDimensionsExceeded,
|
||||
StickerFramerateIsTooSmallOrTooLarge,
|
||||
StickerAnimationDurationExceedsMaximumOf5Seconds,
|
||||
|
||||
CannotUpdateAFinishedEvent = 180000,
|
||||
|
||||
FailedToCreateStageNeededForStageEvent = 180002,
|
||||
}
|
||||
|
||||
150
deno/rest/v8/guildScheduledEvent.ts
Normal file
150
deno/rest/v8/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,150 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
import type {
|
||||
APIGuildScheduledEvent,
|
||||
GuildScheduledEventEntityType,
|
||||
GuildScheduledEventPrivacyLevel,
|
||||
APIGuildScheduledEventEntityMetadata,
|
||||
GuildScheduledEventStatus,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
} from '../../payloads/v8.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventsQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to each event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventsResult = APIGuildScheduledEvent[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPostAPIGuildScheduledEventJSONBody {
|
||||
/**
|
||||
* The stage channel id of the guild event
|
||||
*/
|
||||
channel_id?: Snowflake;
|
||||
/**
|
||||
* The name of the guild event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The privacy level of the guild event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The time to schedule the guild event at
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time when the scheduled event is scheduled to end
|
||||
*/
|
||||
scheduled_end_time?: string;
|
||||
/**
|
||||
* The description of the guild event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The scheduled entity type of the guild event
|
||||
*/
|
||||
entity_type?: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The entity metadata of the scheduled event
|
||||
*/
|
||||
entity_metadata?: APIGuildScheduledEventEntityMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPostAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to this event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPatchAPIGuildScheduledEventJSONBody extends Partial<RESTPostAPIGuildScheduledEventJSONBody> {
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status?: GuildScheduledEventStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPatchAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
|
||||
*/
|
||||
export type RESTDeleteAPIGuildScheduledEventResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventUsersQuery {
|
||||
/**
|
||||
* Number of users to receive from the event
|
||||
*
|
||||
* @default 100
|
||||
*/
|
||||
limit?: number;
|
||||
/**
|
||||
* Whether to include guild member data if it exists
|
||||
*/
|
||||
with_member?: boolean;
|
||||
/**
|
||||
* Consider only users before given user id
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Consider only users after given user id
|
||||
*/
|
||||
after?: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventUsersResult = APIGuildScheduledEventUser[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
|
||||
*/
|
||||
export interface APIGuildScheduledEventUser {
|
||||
/**
|
||||
* The scheduled event id which the user subscribed to
|
||||
*/
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
/**
|
||||
* The user which subscribed to the event
|
||||
*/
|
||||
user: APIUser;
|
||||
/**
|
||||
* The guild member data for this user for the guild which this event belongs to, if any
|
||||
*/
|
||||
member?: APIGuildMember;
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
import type { APIInvite } from '../../payloads/v8/mod.ts';
|
||||
|
||||
/**
|
||||
@@ -12,6 +13,10 @@ export interface RESTGetAPIInviteQuery {
|
||||
* Whether the invite should contain the expiration date
|
||||
*/
|
||||
with_expiration?: boolean;
|
||||
/**
|
||||
* The guild scheduled event to include with the invite
|
||||
*/
|
||||
guild_scheduled_event_id?: Snowflake;
|
||||
}
|
||||
|
||||
export type RESTGetAPIInviteResult = APIInvite;
|
||||
|
||||
@@ -7,6 +7,7 @@ export * from './channel.ts';
|
||||
export * from './emoji.ts';
|
||||
export * from './gateway.ts';
|
||||
export * from './guild.ts';
|
||||
export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
@@ -738,6 +739,33 @@ export const Routes = {
|
||||
guildSticker(guildId: Snowflake, stickerId: Snowflake) {
|
||||
return `/guilds/${guildId}/stickers/${stickerId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events`
|
||||
* - POST `/guilds/{guild.id}/scheduled-events`
|
||||
*/
|
||||
guildScheduledEvents(guildId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - PATCH `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - DELETE `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
*/
|
||||
guildScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}/users`
|
||||
*/
|
||||
guildScheduledEventUsers(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}/users`;
|
||||
},
|
||||
};
|
||||
|
||||
export const RouteBases = {
|
||||
|
||||
150
deno/rest/v9/guildScheduledEvent.ts
Normal file
150
deno/rest/v9/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,150 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
import type {
|
||||
APIGuildScheduledEvent,
|
||||
GuildScheduledEventEntityType,
|
||||
GuildScheduledEventPrivacyLevel,
|
||||
APIGuildScheduledEventEntityMetadata,
|
||||
GuildScheduledEventStatus,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
} from '../../payloads/v9.ts';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventsQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to each event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventsResult = APIGuildScheduledEvent[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPostAPIGuildScheduledEventJSONBody {
|
||||
/**
|
||||
* The stage channel id of the guild event
|
||||
*/
|
||||
channel_id?: Snowflake;
|
||||
/**
|
||||
* The name of the guild event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The privacy level of the guild event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The time to schedule the guild event at
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time when the scheduled event is scheduled to end
|
||||
*/
|
||||
scheduled_end_time?: string;
|
||||
/**
|
||||
* The description of the guild event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The scheduled entity type of the guild event
|
||||
*/
|
||||
entity_type?: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The entity metadata of the scheduled event
|
||||
*/
|
||||
entity_metadata?: APIGuildScheduledEventEntityMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPostAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to this event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPatchAPIGuildScheduledEventJSONBody extends Partial<RESTPostAPIGuildScheduledEventJSONBody> {
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status?: GuildScheduledEventStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPatchAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
|
||||
*/
|
||||
export type RESTDeleteAPIGuildScheduledEventResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventUsersQuery {
|
||||
/**
|
||||
* Number of users to receive from the event
|
||||
*
|
||||
* @default 100
|
||||
*/
|
||||
limit?: number;
|
||||
/**
|
||||
* Whether to include guild member data if it exists
|
||||
*/
|
||||
with_member?: boolean;
|
||||
/**
|
||||
* Consider only users before given user id
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Consider only users after given user id
|
||||
*/
|
||||
after?: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventUsersResult = APIGuildScheduledEventUser[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
|
||||
*/
|
||||
export interface APIGuildScheduledEventUser {
|
||||
/**
|
||||
* The scheduled event id which the user subscribed to
|
||||
*/
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
/**
|
||||
* The user which subscribed to the event
|
||||
*/
|
||||
user: APIUser;
|
||||
/**
|
||||
* The guild member data for this user for the guild which this event belongs to, if any
|
||||
*/
|
||||
member?: APIGuildMember;
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Snowflake } from '../../globals.ts';
|
||||
import type { APIInvite } from '../../payloads/v9/mod.ts';
|
||||
|
||||
/**
|
||||
@@ -12,6 +13,10 @@ export interface RESTGetAPIInviteQuery {
|
||||
* Whether the invite should contain the expiration date
|
||||
*/
|
||||
with_expiration?: boolean;
|
||||
/**
|
||||
* The guild scheduled event to include with the invite
|
||||
*/
|
||||
guild_scheduled_event_id?: Snowflake;
|
||||
}
|
||||
|
||||
export type RESTGetAPIInviteResult = APIInvite;
|
||||
|
||||
@@ -7,6 +7,7 @@ export * from './channel.ts';
|
||||
export * from './emoji.ts';
|
||||
export * from './gateway.ts';
|
||||
export * from './guild.ts';
|
||||
export * from './guildScheduledEvent.ts';
|
||||
export * from './interactions.ts';
|
||||
export * from './invite.ts';
|
||||
export * from './oauth2.ts';
|
||||
@@ -807,6 +808,33 @@ export const Routes = {
|
||||
guildSticker(guildId: Snowflake, stickerId: Snowflake) {
|
||||
return `/guilds/${guildId}/stickers/${stickerId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events`
|
||||
* - POST `/guilds/{guild.id}/scheduled-events`
|
||||
*/
|
||||
guildScheduledEvents(guildId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - PATCH `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - DELETE `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
*/
|
||||
guildScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}/users`
|
||||
*/
|
||||
guildScheduledEventUsers(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}/users`;
|
||||
},
|
||||
};
|
||||
|
||||
export const RouteBases = {
|
||||
|
||||
@@ -9,6 +9,7 @@ import type {
|
||||
APIChannel,
|
||||
APIEmoji,
|
||||
APIGuild,
|
||||
APIGuildScheduledEvent,
|
||||
APIGuildIntegration,
|
||||
APIGuildMember,
|
||||
APIMessage,
|
||||
@@ -183,6 +184,7 @@ export const enum GatewayIntentBits {
|
||||
DirectMessages = 1 << 12,
|
||||
DirectMessageReactions = 1 << 13,
|
||||
DirectMessageTyping = 1 << 14,
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -233,6 +235,11 @@ export const enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
GuildScheduledEventUserAdd = 'GUILD_SCHEDULED_EVENT_USER_ADD',
|
||||
GuildScheduledEventUserRemove = 'GUILD_SCHEDULED_EVENT_USER_REMOVE',
|
||||
}
|
||||
|
||||
export type GatewaySendPayload =
|
||||
@@ -265,6 +272,11 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
| GatewayIntegrationCreateDispatch
|
||||
| GatewayIntegrationDeleteDispatch
|
||||
@@ -808,6 +820,49 @@ export interface GatewayGuildRoleDeleteDispatchData {
|
||||
role_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventCreate,
|
||||
GatewayGuildScheduledEventCreateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUpdate,
|
||||
GatewayGuildScheduledEventUpdateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventDelete,
|
||||
GatewayGuildScheduledEventDeleteDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUserAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserAdd,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserAddDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserRemove,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserRemoveDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#integration-create
|
||||
*/
|
||||
|
||||
@@ -9,6 +9,7 @@ import type {
|
||||
APIChannel,
|
||||
APIEmoji,
|
||||
APIGuild,
|
||||
APIGuildScheduledEvent,
|
||||
APIGuildIntegration,
|
||||
APIGuildMember,
|
||||
APIMessage,
|
||||
@@ -186,6 +187,7 @@ export const enum GatewayIntentBits {
|
||||
DirectMessages = 1 << 12,
|
||||
DirectMessageReactions = 1 << 13,
|
||||
DirectMessageTyping = 1 << 14,
|
||||
GuildScheduledEvents = 1 << 16,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -242,6 +244,11 @@ export const enum GatewayDispatchEvents {
|
||||
VoiceServerUpdate = 'VOICE_SERVER_UPDATE',
|
||||
VoiceStateUpdate = 'VOICE_STATE_UPDATE',
|
||||
WebhooksUpdate = 'WEBHOOKS_UPDATE',
|
||||
GuildScheduledEventCreate = 'GUILD_SCHEDULED_EVENT_CREATE',
|
||||
GuildScheduledEventUpdate = 'GUILD_SCHEDULED_EVENT_UPDATE',
|
||||
GuildScheduledEventDelete = 'GUILD_SCHEDULED_EVENT_DELETE',
|
||||
GuildScheduledEventUserAdd = 'GUILD_SCHEDULED_EVENT_USER_ADD',
|
||||
GuildScheduledEventUserRemove = 'GUILD_SCHEDULED_EVENT_USER_REMOVE',
|
||||
}
|
||||
|
||||
export type GatewaySendPayload =
|
||||
@@ -274,6 +281,11 @@ export type GatewayDispatchPayload =
|
||||
| GatewayGuildModifyDispatch
|
||||
| GatewayGuildRoleDeleteDispatch
|
||||
| GatewayGuildRoleModifyDispatch
|
||||
| GatewayGuildScheduledEventCreateDispatch
|
||||
| GatewayGuildScheduledEventUpdateDispatch
|
||||
| GatewayGuildScheduledEventDeleteDispatch
|
||||
| GatewayGuildScheduledEventUserAddDispatch
|
||||
| GatewayGuildScheduledEventUserRemoveDispatch
|
||||
| GatewayGuildStickersUpdateDispatch
|
||||
| GatewayIntegrationCreateDispatch
|
||||
| GatewayIntegrationDeleteDispatch
|
||||
@@ -818,6 +830,49 @@ export interface GatewayGuildRoleDeleteDispatchData {
|
||||
role_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventCreate,
|
||||
GatewayGuildScheduledEventCreateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventCreateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUpdate,
|
||||
GatewayGuildScheduledEventUpdateDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventUpdateDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventDelete,
|
||||
GatewayGuildScheduledEventDeleteDispatchData
|
||||
>;
|
||||
|
||||
export type GatewayGuildScheduledEventDeleteDispatchData = APIGuildScheduledEvent;
|
||||
|
||||
export type GatewayGuildScheduledEventUserAddDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserAdd,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserAddDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
export type GatewayGuildScheduledEventUserRemoveDispatch = DataPayload<
|
||||
GatewayDispatchEvents.GuildScheduledEventUserRemove,
|
||||
GatewayGuildScheduledEventUserAddDispatchData
|
||||
>;
|
||||
|
||||
export interface GatewayGuildScheduledEventUserRemoveDispatchData {
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
user_id: Snowflake;
|
||||
guild_id: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/topics/gateway#integration-create
|
||||
*/
|
||||
|
||||
@@ -17,6 +17,7 @@ import type { StickerFormatType } from './sticker';
|
||||
import type { APIUser } from './user';
|
||||
import type { APIWebhook } from './webhook';
|
||||
import type { StageInstancePrivacyLevel } from './stageInstance';
|
||||
import type { GuildScheduledEventEntityType, GuildScheduledEventStatus } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure
|
||||
@@ -144,6 +145,10 @@ export const enum AuditLogEvent {
|
||||
StickerCreate = 90,
|
||||
StickerUpdate,
|
||||
StickerDelete,
|
||||
|
||||
GuildScheduledEventCreate = 100,
|
||||
GuildScheduledEventUpdate,
|
||||
GuildScheduledEventDelete,
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -302,7 +307,10 @@ export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyFormatType
|
||||
| APIAuditLogChangeKeyAsset
|
||||
| APIAuditLogChangeKeyAvailable
|
||||
| APIAuditLogChangeKeyGuildId;
|
||||
| APIAuditLogChangeKeyGuildId
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyLocation;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -310,7 +318,7 @@ export type APIAuditLogChange =
|
||||
export type APIAuditLogChangeKeyName = AuditLogChangeData<'name', string>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's or sticker's description is changed
|
||||
* Returned when a guild's or sticker's or guild scheduled event's description is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyDescription = AuditLogChangeData<'description', string>;
|
||||
|
||||
@@ -502,7 +510,7 @@ export type APIAuditLogChangeKeyDeny = AuditLogChangeData<'deny', string>;
|
||||
export type APIAuditLogChangeKeyCode = AuditLogChangeData<'code', string>;
|
||||
|
||||
/**
|
||||
* Returned when an invite's channel_id is changed
|
||||
* Returned when an invite's or guild scheduled event's channel_id is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyChannelId = AuditLogChangeData<'channel_id', Snowflake>;
|
||||
|
||||
@@ -582,7 +590,7 @@ export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_g
|
||||
export type APIAuditLogChangeKeyUserLimit = AuditLogChangeData<'user_limit', number>;
|
||||
|
||||
/**
|
||||
* Returned when privacy level of a stage instance is changed
|
||||
* Returned when privacy level of a stage instance or guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyPrivacyLevel = AuditLogChangeData<'privacy_level', StageInstancePrivacyLevel>;
|
||||
|
||||
@@ -611,6 +619,21 @@ export type APIAuditLogChangeKeyAvailable = AuditLogChangeData<'available', bool
|
||||
*/
|
||||
export type APIAuditLogChangeKeyGuildId = AuditLogChangeData<'guild_id', Snowflake>;
|
||||
|
||||
/**
|
||||
* Returned when entity type of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyEntityType = AuditLogChangeData<'entity_type', GuildScheduledEventEntityType>;
|
||||
|
||||
/**
|
||||
* Returned when status of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildScheduledEventStatus>;
|
||||
|
||||
/**
|
||||
* Returned when location of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;
|
||||
|
||||
interface AuditLogChangeData<K extends string, D extends unknown> {
|
||||
key: K;
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,7 @@ import type { APIStageInstance } from './stageInstance';
|
||||
import type { APISticker } from './sticker';
|
||||
import type { APIUser } from './user';
|
||||
import type { GatewayVoiceState } from './voice';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
|
||||
@@ -325,6 +326,14 @@ export interface APIGuild extends APIPartialGuild {
|
||||
* See https://discord.com/developers/docs/resources/sticker#sticker-object
|
||||
*/
|
||||
stickers: APISticker[];
|
||||
/**
|
||||
* The scheduled events in the guild
|
||||
*
|
||||
* **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway#guild-create) event**
|
||||
*
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
|
||||
*/
|
||||
guild_scheduled_events?: APIGuildScheduledEvent[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
104
payloads/v8/guildScheduledEvent.ts
Normal file
104
payloads/v8/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import type { APIUser } from './user';
|
||||
import type { Snowflake } from '../../globals';
|
||||
|
||||
export interface APIGuildScheduledEvent {
|
||||
/**
|
||||
* The id of the guild event
|
||||
*/
|
||||
id: Snowflake;
|
||||
/**
|
||||
* The guild id which the scheduled event belongs to
|
||||
*/
|
||||
guild_id: Snowflake;
|
||||
/**
|
||||
* The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`
|
||||
*/
|
||||
channel_id: Snowflake | null;
|
||||
/**
|
||||
* The id of the user that created the scheduled event
|
||||
*/
|
||||
creator_id: Snowflake | null;
|
||||
/**
|
||||
* The name of the scheduled event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The description of the scheduled event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The time the scheduled event will start
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time at which the guild event will end, or `null` if the event does not have a scheduled time to end
|
||||
*/
|
||||
scheduled_end_time: string | null;
|
||||
/**
|
||||
* The privacy level of the scheduled event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status: GuildScheduledEventStatus;
|
||||
/**
|
||||
* The type of hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_type: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The id of the hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_id: Snowflake | null;
|
||||
/**
|
||||
* The entity metadata for the scheduled event
|
||||
*/
|
||||
entity_metadata: APIGuildScheduledEventEntityMetadata;
|
||||
/**
|
||||
* The user that created the scheduled event
|
||||
*/
|
||||
creator?: APIUser;
|
||||
/**
|
||||
* The number of users subscribed to the scheduled event
|
||||
*/
|
||||
user_count?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
*/
|
||||
export interface APIGuildScheduledEventEntityMetadata {
|
||||
/**
|
||||
* The location of the scheduled event
|
||||
*/
|
||||
location?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types
|
||||
*/
|
||||
export const enum GuildScheduledEventEntityType {
|
||||
StageInstance = 1,
|
||||
Voice,
|
||||
External,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status
|
||||
*/
|
||||
export const enum GuildScheduledEventStatus {
|
||||
Scheduled = 1,
|
||||
Active,
|
||||
Completed,
|
||||
Canceled,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level
|
||||
*/
|
||||
export const enum GuildScheduledEventPrivacyLevel {
|
||||
/**
|
||||
* The scheduled event is only accessible to guild members
|
||||
*/
|
||||
GuildOnly = 2,
|
||||
}
|
||||
@@ -4,6 +4,7 @@ export * from './channel';
|
||||
export * from './emoji';
|
||||
export * from './gateway';
|
||||
export * from './guild';
|
||||
export * from './guildScheduledEvent';
|
||||
export * from './interactions';
|
||||
export * from './invite';
|
||||
export * from './oauth2';
|
||||
|
||||
@@ -7,6 +7,7 @@ import type { APIPartialGuild } from './guild';
|
||||
import type { APIApplication } from './application';
|
||||
import type { APIInviteStageInstance } from './stageInstance';
|
||||
import type { APIUser } from './user';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/invite#invite-object
|
||||
@@ -68,6 +69,10 @@ export interface APIInvite {
|
||||
* The stage instance data if there is a public stage instance in the stage channel this invite is for
|
||||
*/
|
||||
stage_instance?: APIInviteStageInstance;
|
||||
/**
|
||||
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
|
||||
*/
|
||||
guild_scheduled_event?: APIGuildScheduledEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,6 +45,7 @@ export const PermissionFlagsBits = {
|
||||
ManageEmojisAndStickers: 1n << 30n,
|
||||
UseApplicationCommands: 1n << 31n,
|
||||
RequestToSpeak: 1n << 32n,
|
||||
ManageEvents: 1n << 33n,
|
||||
UseExternalStickers: 1n << 37n,
|
||||
StartEmbeddedActivities: 1n << 39n,
|
||||
} as const;
|
||||
|
||||
@@ -17,6 +17,7 @@ import type { StickerFormatType } from './sticker';
|
||||
import type { APIUser } from './user';
|
||||
import type { APIWebhook } from './webhook';
|
||||
import type { StageInstancePrivacyLevel } from './stageInstance';
|
||||
import type { GuildScheduledEventEntityType, GuildScheduledEventStatus } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/audit-log#audit-log-object-audit-log-structure
|
||||
@@ -153,6 +154,10 @@ export const enum AuditLogEvent {
|
||||
StickerUpdate,
|
||||
StickerDelete,
|
||||
|
||||
GuildScheduledEventCreate = 100,
|
||||
GuildScheduledEventUpdate,
|
||||
GuildScheduledEventDelete,
|
||||
|
||||
ThreadCreate = 110,
|
||||
ThreadUpdate,
|
||||
ThreadDelete,
|
||||
@@ -318,7 +323,10 @@ export type APIAuditLogChange =
|
||||
| APIAuditLogChangeKeyArchived
|
||||
| APIAuditLogChangeKeyLocked
|
||||
| APIAuditLogChangeKeyAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration;
|
||||
| APIAuditLogChangeKeyDefaultAutoArchiveDuration
|
||||
| APIAuditLogChangeKeyEntityType
|
||||
| APIAuditLogChangeKeyStatus
|
||||
| APIAuditLogChangeKeyLocation;
|
||||
|
||||
/**
|
||||
* Returned when an entity's name is changed
|
||||
@@ -326,7 +334,7 @@ export type APIAuditLogChange =
|
||||
export type APIAuditLogChangeKeyName = AuditLogChangeData<'name', string>;
|
||||
|
||||
/**
|
||||
* Returned when a guild's or sticker's description is changed
|
||||
* Returned when a guild's or sticker's or guild scheduled event's description is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyDescription = AuditLogChangeData<'description', string>;
|
||||
|
||||
@@ -518,7 +526,7 @@ export type APIAuditLogChangeKeyDeny = AuditLogChangeData<'deny', string>;
|
||||
export type APIAuditLogChangeKeyCode = AuditLogChangeData<'code', string>;
|
||||
|
||||
/**
|
||||
* Returned when an invite's channel_id is changed
|
||||
* Returned when an invite's or guild scheduled event's channel_id is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyChannelId = AuditLogChangeData<'channel_id', Snowflake>;
|
||||
|
||||
@@ -598,7 +606,7 @@ export type APIAuditLogChangeKeyExpireGracePeriod = AuditLogChangeData<'expire_g
|
||||
export type APIAuditLogChangeKeyUserLimit = AuditLogChangeData<'user_limit', number>;
|
||||
|
||||
/**
|
||||
* Returned when privacy level of a stage instance is changed
|
||||
* Returned when privacy level of a stage instance or guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyPrivacyLevel = AuditLogChangeData<'privacy_level', StageInstancePrivacyLevel>;
|
||||
|
||||
@@ -650,6 +658,21 @@ export type APIAuditLogChangeKeyDefaultAutoArchiveDuration = AuditLogChangeData<
|
||||
number
|
||||
>;
|
||||
|
||||
/**
|
||||
* Returned when entity type of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyEntityType = AuditLogChangeData<'entity_type', GuildScheduledEventEntityType>;
|
||||
|
||||
/**
|
||||
* Returned when status of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyStatus = AuditLogChangeData<'status', GuildScheduledEventStatus>;
|
||||
|
||||
/**
|
||||
* Returned when location of a guild scheduled event is changed
|
||||
*/
|
||||
export type APIAuditLogChangeKeyLocation = AuditLogChangeData<'location', string>;
|
||||
|
||||
interface AuditLogChangeData<K extends string, D extends unknown> {
|
||||
key: K;
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,7 @@ import type { APIStageInstance } from './stageInstance';
|
||||
import type { APISticker } from './sticker';
|
||||
import type { APIUser } from './user';
|
||||
import type { GatewayVoiceState } from './voice';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild#unavailable-guild-object
|
||||
@@ -333,6 +334,14 @@ export interface APIGuild extends APIPartialGuild {
|
||||
* See https://discord.com/developers/docs/resources/sticker#sticker-object
|
||||
*/
|
||||
stickers: APISticker[];
|
||||
/**
|
||||
* The scheduled events in the guild
|
||||
*
|
||||
* **This field is only sent within the [GUILD_CREATE](https://discord.com/developers/docs/topics/gateway#guild-create) event**
|
||||
*
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object
|
||||
*/
|
||||
guild_scheduled_events?: APIGuildScheduledEvent[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
104
payloads/v9/guildScheduledEvent.ts
Normal file
104
payloads/v9/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import type { APIUser } from './user';
|
||||
import type { Snowflake } from '../../globals';
|
||||
|
||||
export interface APIGuildScheduledEvent {
|
||||
/**
|
||||
* The id of the guild event
|
||||
*/
|
||||
id: Snowflake;
|
||||
/**
|
||||
* The guild id which the scheduled event belongs to
|
||||
*/
|
||||
guild_id: Snowflake;
|
||||
/**
|
||||
* The channel id in which the scheduled event will be hosted, or `null` if entity type is `EXTERNAL`
|
||||
*/
|
||||
channel_id: Snowflake | null;
|
||||
/**
|
||||
* The id of the user that created the scheduled event
|
||||
*/
|
||||
creator_id: Snowflake | null;
|
||||
/**
|
||||
* The name of the scheduled event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The description of the scheduled event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The time the scheduled event will start
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time at which the guild event will end, or `null` if the event does not have a scheduled time to end
|
||||
*/
|
||||
scheduled_end_time: string | null;
|
||||
/**
|
||||
* The privacy level of the scheduled event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status: GuildScheduledEventStatus;
|
||||
/**
|
||||
* The type of hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_type: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The id of the hosting entity associated with the scheduled event
|
||||
*/
|
||||
entity_id: Snowflake | null;
|
||||
/**
|
||||
* The entity metadata for the scheduled event
|
||||
*/
|
||||
entity_metadata: APIGuildScheduledEventEntityMetadata;
|
||||
/**
|
||||
* The user that created the scheduled event
|
||||
*/
|
||||
creator?: APIUser;
|
||||
/**
|
||||
* The number of users subscribed to the scheduled event
|
||||
*/
|
||||
user_count?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-metadata
|
||||
*/
|
||||
export interface APIGuildScheduledEventEntityMetadata {
|
||||
/**
|
||||
* The location of the scheduled event
|
||||
*/
|
||||
location?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-entity-types
|
||||
*/
|
||||
export const enum GuildScheduledEventEntityType {
|
||||
StageInstance = 1,
|
||||
Voice,
|
||||
External,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-status
|
||||
*/
|
||||
export const enum GuildScheduledEventStatus {
|
||||
Scheduled = 1,
|
||||
Active,
|
||||
Completed,
|
||||
Canceled,
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-object-guild-scheduled-event-privacy-level
|
||||
*/
|
||||
export const enum GuildScheduledEventPrivacyLevel {
|
||||
/**
|
||||
* The scheduled event is only accessible to guild members
|
||||
*/
|
||||
GuildOnly = 2,
|
||||
}
|
||||
@@ -4,6 +4,7 @@ export * from './channel';
|
||||
export * from './emoji';
|
||||
export * from './gateway';
|
||||
export * from './guild';
|
||||
export * from './guildScheduledEvent';
|
||||
export * from './interactions';
|
||||
export * from './invite';
|
||||
export * from './oauth2';
|
||||
|
||||
@@ -7,6 +7,7 @@ import type { APIPartialGuild } from './guild';
|
||||
import type { APIApplication } from './application';
|
||||
import type { APIInviteStageInstance } from './stageInstance';
|
||||
import type { APIUser } from './user';
|
||||
import type { APIGuildScheduledEvent } from './guildScheduledEvent';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/invite#invite-object
|
||||
@@ -68,6 +69,10 @@ export interface APIInvite {
|
||||
* The stage instance data if there is a public stage instance in the stage channel this invite is for
|
||||
*/
|
||||
stage_instance?: APIInviteStageInstance;
|
||||
/**
|
||||
* The guild scheduled event data, returned from the `GET /invites/<code>` endpoint when `guild_scheduled_event_id` is a valid guild scheduled event id
|
||||
*/
|
||||
guild_scheduled_event?: APIGuildScheduledEvent;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,6 +45,7 @@ export const PermissionFlagsBits = {
|
||||
ManageEmojisAndStickers: 1n << 30n,
|
||||
UseApplicationCommands: 1n << 31n,
|
||||
RequestToSpeak: 1n << 32n,
|
||||
ManageEvents: 1n << 33n,
|
||||
ManageThreads: 1n << 34n,
|
||||
CreatePublicThreads: 1n << 35n,
|
||||
CreatePrivateThreads: 1n << 36n,
|
||||
|
||||
@@ -101,6 +101,7 @@ export const enum RESTJSONErrorCodes {
|
||||
MaximumNumberOfNonGuildMemberBansHasBeenExceeded = 30035,
|
||||
|
||||
MaximumNumberOfBanFetchesHasBeenReached = 30037,
|
||||
MaximumNumberOfUncompletedGuildScheduledEventsReached,
|
||||
|
||||
MaximumNumberOfStickersReached = 30039,
|
||||
MaximumNumberOfPruneRequestsHasBeenReached,
|
||||
@@ -198,4 +199,8 @@ export const enum RESTJSONErrorCodes {
|
||||
LottieAnimationMaximumDimensionsExceeded,
|
||||
StickerFramerateIsTooSmallOrTooLarge,
|
||||
StickerAnimationDurationExceedsMaximumOf5Seconds,
|
||||
|
||||
CannotUpdateAFinishedEvent = 180000,
|
||||
|
||||
FailedToCreateStageNeededForStageEvent = 180002,
|
||||
}
|
||||
|
||||
150
rest/v8/guildScheduledEvent.ts
Normal file
150
rest/v8/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,150 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
import type {
|
||||
APIGuildScheduledEvent,
|
||||
GuildScheduledEventEntityType,
|
||||
GuildScheduledEventPrivacyLevel,
|
||||
APIGuildScheduledEventEntityMetadata,
|
||||
GuildScheduledEventStatus,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
} from '../../payloads/v8';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventsQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to each event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventsResult = APIGuildScheduledEvent[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPostAPIGuildScheduledEventJSONBody {
|
||||
/**
|
||||
* The stage channel id of the guild event
|
||||
*/
|
||||
channel_id?: Snowflake;
|
||||
/**
|
||||
* The name of the guild event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The privacy level of the guild event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The time to schedule the guild event at
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time when the scheduled event is scheduled to end
|
||||
*/
|
||||
scheduled_end_time?: string;
|
||||
/**
|
||||
* The description of the guild event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The scheduled entity type of the guild event
|
||||
*/
|
||||
entity_type?: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The entity metadata of the scheduled event
|
||||
*/
|
||||
entity_metadata?: APIGuildScheduledEventEntityMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPostAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to this event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPatchAPIGuildScheduledEventJSONBody extends Partial<RESTPostAPIGuildScheduledEventJSONBody> {
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status?: GuildScheduledEventStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPatchAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
|
||||
*/
|
||||
export type RESTDeleteAPIGuildScheduledEventResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventUsersQuery {
|
||||
/**
|
||||
* Number of users to receive from the event
|
||||
*
|
||||
* @default 100
|
||||
*/
|
||||
limit?: number;
|
||||
/**
|
||||
* Whether to include guild member data if it exists
|
||||
*/
|
||||
with_member?: boolean;
|
||||
/**
|
||||
* Consider only users before given user id
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Consider only users after given user id
|
||||
*/
|
||||
after?: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventUsersResult = APIGuildScheduledEventUser[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
|
||||
*/
|
||||
export interface APIGuildScheduledEventUser {
|
||||
/**
|
||||
* The scheduled event id which the user subscribed to
|
||||
*/
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
/**
|
||||
* The user which subscribed to the event
|
||||
*/
|
||||
user: APIUser;
|
||||
/**
|
||||
* The guild member data for this user for the guild which this event belongs to, if any
|
||||
*/
|
||||
member?: APIGuildMember;
|
||||
}
|
||||
@@ -7,6 +7,7 @@ export * from './channel';
|
||||
export * from './emoji';
|
||||
export * from './gateway';
|
||||
export * from './guild';
|
||||
export * from './guildScheduledEvent';
|
||||
export * from './interactions';
|
||||
export * from './invite';
|
||||
export * from './oauth2';
|
||||
@@ -738,6 +739,33 @@ export const Routes = {
|
||||
guildSticker(guildId: Snowflake, stickerId: Snowflake) {
|
||||
return `/guilds/${guildId}/stickers/${stickerId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events`
|
||||
* - POST `/guilds/{guild.id}/scheduled-events`
|
||||
*/
|
||||
guildScheduledEvents(guildId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - PATCH `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - DELETE `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
*/
|
||||
guildScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}/users`
|
||||
*/
|
||||
guildScheduledEventUsers(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}/users`;
|
||||
},
|
||||
};
|
||||
|
||||
export const RouteBases = {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
import type { APIInvite } from '../../payloads/v8/index';
|
||||
|
||||
/**
|
||||
@@ -12,6 +13,10 @@ export interface RESTGetAPIInviteQuery {
|
||||
* Whether the invite should contain the expiration date
|
||||
*/
|
||||
with_expiration?: boolean;
|
||||
/**
|
||||
* The guild scheduled event to include with the invite
|
||||
*/
|
||||
guild_scheduled_event_id?: Snowflake;
|
||||
}
|
||||
|
||||
export type RESTGetAPIInviteResult = APIInvite;
|
||||
|
||||
150
rest/v9/guildScheduledEvent.ts
Normal file
150
rest/v9/guildScheduledEvent.ts
Normal file
@@ -0,0 +1,150 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
import type {
|
||||
APIGuildScheduledEvent,
|
||||
GuildScheduledEventEntityType,
|
||||
GuildScheduledEventPrivacyLevel,
|
||||
APIGuildScheduledEventEntityMetadata,
|
||||
GuildScheduledEventStatus,
|
||||
APIGuildMember,
|
||||
APIUser,
|
||||
} from '../../payloads/v9';
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventsQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to each event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#list-scheduled-events-for-guild
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventsResult = APIGuildScheduledEvent[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPostAPIGuildScheduledEventJSONBody {
|
||||
/**
|
||||
* The stage channel id of the guild event
|
||||
*/
|
||||
channel_id?: Snowflake;
|
||||
/**
|
||||
* The name of the guild event
|
||||
*/
|
||||
name: string;
|
||||
/**
|
||||
* The privacy level of the guild event
|
||||
*/
|
||||
privacy_level: GuildScheduledEventPrivacyLevel;
|
||||
/**
|
||||
* The time to schedule the guild event at
|
||||
*/
|
||||
scheduled_start_time: string;
|
||||
/**
|
||||
* The time when the scheduled event is scheduled to end
|
||||
*/
|
||||
scheduled_end_time?: string;
|
||||
/**
|
||||
* The description of the guild event
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* The scheduled entity type of the guild event
|
||||
*/
|
||||
entity_type?: GuildScheduledEventEntityType;
|
||||
/**
|
||||
* The entity metadata of the scheduled event
|
||||
*/
|
||||
entity_metadata?: APIGuildScheduledEventEntityMetadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPostAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventQuery {
|
||||
/**
|
||||
* Whether to include number of users subscribed to this event
|
||||
*/
|
||||
with_user_count?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export interface RESTPatchAPIGuildScheduledEventJSONBody extends Partial<RESTPostAPIGuildScheduledEventJSONBody> {
|
||||
/**
|
||||
* The status of the scheduled event
|
||||
*/
|
||||
status?: GuildScheduledEventStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event
|
||||
*/
|
||||
export type RESTPatchAPIGuildScheduledEventResult = APIGuildScheduledEvent;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#delete-guild-scheduled-event
|
||||
*/
|
||||
export type RESTDeleteAPIGuildScheduledEventResult = never;
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export interface RESTGetAPIGuildScheduledEventUsersQuery {
|
||||
/**
|
||||
* Number of users to receive from the event
|
||||
*
|
||||
* @default 100
|
||||
*/
|
||||
limit?: number;
|
||||
/**
|
||||
* Whether to include guild member data if it exists
|
||||
*/
|
||||
with_member?: boolean;
|
||||
/**
|
||||
* Consider only users before given user id
|
||||
*/
|
||||
before?: Snowflake;
|
||||
/**
|
||||
* Consider only users after given user id
|
||||
*/
|
||||
after?: Snowflake;
|
||||
}
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#get-guild-scheduled-event-users
|
||||
*/
|
||||
export type RESTGetAPIGuildScheduledEventUsersResult = APIGuildScheduledEventUser[];
|
||||
|
||||
/**
|
||||
* https://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-user-object-guild-scheduled-event-user-structure
|
||||
*/
|
||||
export interface APIGuildScheduledEventUser {
|
||||
/**
|
||||
* The scheduled event id which the user subscribed to
|
||||
*/
|
||||
guild_scheduled_event_id: Snowflake;
|
||||
/**
|
||||
* The user which subscribed to the event
|
||||
*/
|
||||
user: APIUser;
|
||||
/**
|
||||
* The guild member data for this user for the guild which this event belongs to, if any
|
||||
*/
|
||||
member?: APIGuildMember;
|
||||
}
|
||||
@@ -7,6 +7,7 @@ export * from './channel';
|
||||
export * from './emoji';
|
||||
export * from './gateway';
|
||||
export * from './guild';
|
||||
export * from './guildScheduledEvent';
|
||||
export * from './interactions';
|
||||
export * from './invite';
|
||||
export * from './oauth2';
|
||||
@@ -807,6 +808,33 @@ export const Routes = {
|
||||
guildSticker(guildId: Snowflake, stickerId: Snowflake) {
|
||||
return `/guilds/${guildId}/stickers/${stickerId}` as const;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events`
|
||||
* - POST `/guilds/{guild.id}/scheduled-events`
|
||||
*/
|
||||
guildScheduledEvents(guildId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - PATCH `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
* - DELETE `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}`
|
||||
*/
|
||||
guildScheduledEvent(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}`;
|
||||
},
|
||||
|
||||
/**
|
||||
* Route for:
|
||||
* - GET `/guilds/{guild.id}/scheduled-events/{guildScheduledEvent.id}/users`
|
||||
*/
|
||||
guildScheduledEventUsers(guildId: Snowflake, guildScheduledEventId: Snowflake) {
|
||||
return `/guilds/${guildId}/scheduled-events/${guildScheduledEventId}/users`;
|
||||
},
|
||||
};
|
||||
|
||||
export const RouteBases = {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Snowflake } from '../../globals';
|
||||
import type { APIInvite } from '../../payloads/v9/index';
|
||||
|
||||
/**
|
||||
@@ -12,6 +13,10 @@ export interface RESTGetAPIInviteQuery {
|
||||
* Whether the invite should contain the expiration date
|
||||
*/
|
||||
with_expiration?: boolean;
|
||||
/**
|
||||
* The guild scheduled event to include with the invite
|
||||
*/
|
||||
guild_scheduled_event_id?: Snowflake;
|
||||
}
|
||||
|
||||
export type RESTGetAPIInviteResult = APIInvite;
|
||||
|
||||
Reference in New Issue
Block a user