discord-api-spec
Version:
TypeScript types, flattened JS enums, and Zod schemas generated from [Discord’s OpenAPI spec](https://github.com/discord/discord-api-spec). Built daily for up-to-date data.
1,706 lines (1,604 loc) • 407 kB
text/typescript
/* AUTO-GENERATED. DO NOT EDIT. */
/**
* ActionTypes
*/
export const enum ActionTypes {
/** User started typing in a channel */
TYPING_START = "TYPING_START",
/** Invite to a channel was created */
INVITE_CREATE = "INVITE_CREATE",
/** Invite to a channel was deleted */
INVITE_DELETE = "INVITE_DELETE",
/** Guild channel webhook was created, updated, or deleted */
WEBHOOKS_UPDATE = "WEBHOOKS_UPDATE",
/** New guild channel created */
CHANNEL_CREATE = "CHANNEL_CREATE",
/** Voice channel status was updated */
VOICE_CHANNEL_STATUS_UPDATE = "VOICE_CHANNEL_STATUS_UPDATE",
/** Channel was updated */
CHANNEL_UPDATE = "CHANNEL_UPDATE",
/** Channel was deleted */
CHANNEL_DELETE = "CHANNEL_DELETE",
/** Message was pinned or unpinned */
CHANNEL_PINS_UPDATE = "CHANNEL_PINS_UPDATE",
/** Thread created, also sent when being added to a private thread */
THREAD_CREATE = "THREAD_CREATE",
/** Thread was updated */
THREAD_UPDATE = "THREAD_UPDATE",
/** Thread was deleted */
THREAD_DELETE = "THREAD_DELETE",
/** Sent when gaining access to a channel, contains all active threads in that channel */
THREAD_LIST_SYNC = "THREAD_LIST_SYNC",
/** Thread member for the current user was updated */
THREAD_MEMBER_UPDATE = "THREAD_MEMBER_UPDATE",
/** Some user(s) were added to or removed from a thread */
THREAD_MEMBERS_UPDATE = "THREAD_MEMBERS_UPDATE",
/** Lazy-load for unavailable guild, guild became available, or user joined a new guild */
GUILD_CREATE = "GUILD_CREATE",
/** Guild was updated */
GUILD_UPDATE = "GUILD_UPDATE",
/** Guild became unavailable, or user left/was removed from a guild */
GUILD_DELETE = "GUILD_DELETE",
/** Guild emojis were updated */
GUILD_EMOJIS_UPDATE = "GUILD_EMOJIS_UPDATE",
/** Guild stickers were updated */
GUILD_STICKERS_UPDATE = "GUILD_STICKERS_UPDATE",
/** Guild integration was updated */
GUILD_INTEGRATIONS_UPDATE = "GUILD_INTEGRATIONS_UPDATE",
/** New user joined a guild */
GUILD_MEMBER_ADD = "GUILD_MEMBER_ADD",
/** Guild member was updated */
GUILD_MEMBER_UPDATE = "GUILD_MEMBER_UPDATE",
/** User was removed from a guild */
GUILD_MEMBER_REMOVE = "GUILD_MEMBER_REMOVE",
/** User was banned from a guild */
GUILD_BAN_ADD = "GUILD_BAN_ADD",
/** User was unbanned from a guild */
GUILD_BAN_REMOVE = "GUILD_BAN_REMOVE",
/** Guild role was created */
GUILD_ROLE_CREATE = "GUILD_ROLE_CREATE",
/** Guild role was updated */
GUILD_ROLE_UPDATE = "GUILD_ROLE_UPDATE",
/** Guild role was deleted */
GUILD_ROLE_DELETE = "GUILD_ROLE_DELETE",
/** Response to Request Guild Members */
GUILD_MEMBERS_CHUNK = "GUILD_MEMBERS_CHUNK",
/** Message was created */
MESSAGE_CREATE = "MESSAGE_CREATE",
/** Message was edited */
MESSAGE_UPDATE = "MESSAGE_UPDATE",
/** Message was deleted */
MESSAGE_DELETE = "MESSAGE_DELETE",
/** Multiple messages were deleted at once */
MESSAGE_DELETE_BULK = "MESSAGE_DELETE_BULK",
/** User reacted to a message */
MESSAGE_REACTION_ADD = "MESSAGE_REACTION_ADD",
/** User removed a reaction from a message */
MESSAGE_REACTION_REMOVE = "MESSAGE_REACTION_REMOVE",
/** All reactions were explicitly removed from a message */
MESSAGE_REACTION_REMOVE_ALL = "MESSAGE_REACTION_REMOVE_ALL",
/** All reactions for a given emoji were explicitly removed from a message */
MESSAGE_REACTION_REMOVE_EMOJI = "MESSAGE_REACTION_REMOVE_EMOJI",
/** Properties about the user changed */
USER_UPDATE = "USER_UPDATE",
/** Entitlement was created */
ENTITLEMENT_CREATE = "ENTITLEMENT_CREATE",
/** Entitlement was updated */
ENTITLEMENT_UPDATE = "ENTITLEMENT_UPDATE",
/** Entitlement was deleted */
ENTITLEMENT_DELETE = "ENTITLEMENT_DELETE",
/** Contains the initial state information */
READY = "READY",
/** Response to Resume */
RESUMED = "RESUMED",
/** User was updated */
PRESENCE_UPDATE = "PRESENCE_UPDATE",
/** Someone joined, left, or moved a voice channel */
VOICE_STATE_UPDATE = "VOICE_STATE_UPDATE",
/** Guild's voice server was updated */
VOICE_SERVER_UPDATE = "VOICE_SERVER_UPDATE",
/** Sent when a message is created in a lobby */
LOBBY_MESSAGE_CREATE = "LOBBY_MESSAGE_CREATE",
/** Sent when a message is updated in a lobby */
LOBBY_MESSAGE_UPDATE = "LOBBY_MESSAGE_UPDATE",
/** Sent when a message is deleted from a lobby */
LOBBY_MESSAGE_DELETE = "LOBBY_MESSAGE_DELETE",
/** Sent when a direct message is created during an active Social SDK session */
GAME_DIRECT_MESSAGE_CREATE = "GAME_DIRECT_MESSAGE_CREATE",
/** Sent when a direct message is deleted during an active Social SDK session */
GAME_DIRECT_MESSAGE_DELETE = "GAME_DIRECT_MESSAGE_DELETE",
/** Sent when a direct message is updated during an active Social SDK session */
GAME_DIRECT_MESSAGE_UPDATE = "GAME_DIRECT_MESSAGE_UPDATE",
/** User used an interaction, such as an Application Command */
INTERACTION_CREATE = "INTERACTION_CREATE",
/** Guild integration was created */
INTEGRATION_CREATE = "INTEGRATION_CREATE",
/** Guild integration was updated */
INTEGRATION_UPDATE = "INTEGRATION_UPDATE",
/** Guild integration was deleted */
INTEGRATION_DELETE = "INTEGRATION_DELETE",
/** Application command permission was updated */
APPLICATION_COMMAND_PERMISSIONS_UPDATE = "APPLICATION_COMMAND_PERMISSIONS_UPDATE",
/** Sent when an app was authorized by a user to a server or their account */
APPLICATION_AUTHORIZED = "APPLICATION_AUTHORIZED",
/** Sent when an app was deauthorized by a user */
APPLICATION_DEAUTHORIZED = "APPLICATION_DEAUTHORIZED",
/** Stage instance was created */
STAGE_INSTANCE_CREATE = "STAGE_INSTANCE_CREATE",
/** Stage instance was updated */
STAGE_INSTANCE_UPDATE = "STAGE_INSTANCE_UPDATE",
/** Stage instance was deleted or closed */
STAGE_INSTANCE_DELETE = "STAGE_INSTANCE_DELETE",
/** A guild audit log entry was created */
GUILD_AUDIT_LOG_ENTRY_CREATE = "GUILD_AUDIT_LOG_ENTRY_CREATE",
/** Guild scheduled event was created */
GUILD_SCHEDULED_EVENT_CREATE = "GUILD_SCHEDULED_EVENT_CREATE",
/** Guild scheduled event was updated */
GUILD_SCHEDULED_EVENT_UPDATE = "GUILD_SCHEDULED_EVENT_UPDATE",
/** Guild scheduled event was deleted */
GUILD_SCHEDULED_EVENT_DELETE = "GUILD_SCHEDULED_EVENT_DELETE",
/** User subscribed to a guild scheduled event */
GUILD_SCHEDULED_EVENT_USER_ADD = "GUILD_SCHEDULED_EVENT_USER_ADD",
/** User unsubscribed from a guild scheduled event */
GUILD_SCHEDULED_EVENT_USER_REMOVE = "GUILD_SCHEDULED_EVENT_USER_REMOVE",
/** Auto Moderation rule was created */
AUTO_MODERATION_RULE_CREATE = "AUTO_MODERATION_RULE_CREATE",
/** Auto Moderation rule was updated */
AUTO_MODERATION_RULE_UPDATE = "AUTO_MODERATION_RULE_UPDATE",
/** Auto Moderation rule was deleted */
AUTO_MODERATION_RULE_DELETE = "AUTO_MODERATION_RULE_DELETE",
/** Auto Moderation rule was triggered and an action was executed (.e.g. a message was blocked) */
AUTO_MODERATION_ACTION_EXECUTION = "AUTO_MODERATION_ACTION_EXECUTION",
GUILD_SOUNDBOARD_SOUNDS_UPDATE = "GUILD_SOUNDBOARD_SOUNDS_UPDATE",
GUILD_SOUNDBOARD_SOUND_CREATE = "GUILD_SOUNDBOARD_SOUND_CREATE",
GUILD_SOUNDBOARD_SOUND_UPDATE = "GUILD_SOUNDBOARD_SOUND_UPDATE",
GUILD_SOUNDBOARD_SOUND_DELETE = "GUILD_SOUNDBOARD_SOUND_DELETE",
/** User was added to a Quest (currently unavailable) */
QUEST_USER_ENROLLMENT = "QUEST_USER_ENROLLMENT",
RATE_LIMITED = "RATE_LIMITED",
}
/**
* ActivityActionTypes
*/
export const enum ActivityActionTypes {
JOIN = 1,
SPECTATE = 2,
LISTEN = 3,
JOIN_REQUEST = 5,
STREAM_REQUEST = 6,
}
/**
* AfkTimeouts
*/
export const enum AfkTimeouts {
ONE_MINUTE = 60,
FIVE_MINUTES = 300,
FIFTEEN_MINUTES = 900,
THIRTY_MINUTES = 1800,
ONE_HOUR = 3600,
}
/**
* AllowedMentionTypes
*/
export const enum AllowedMentionTypes {
/** Controls role mentions */
USERS = "users",
/** Controls user mentions */
ROLES = "roles",
/** Controls @everyone and @here mentions */
EVERYONE = "everyone",
}
/**
* ApplicationCommandOptionType
*/
export const enum ApplicationCommandOptionType {
/** A sub-action within a command or group */
SUB_COMMAND = 1,
/** A group of subcommands */
SUB_COMMAND_GROUP = 2,
/** A string option */
STRING = 3,
/** An integer option. Any integer between -2^53 and 2^53 is a valid value */
INTEGER = 4,
/** A boolean option */
BOOLEAN = 5,
/** A snowflake option that represents a User */
USER = 6,
/** A snowflake option that represents a Channel. Includes all channel types and categories */
CHANNEL = 7,
/** A snowflake option that represents a Role */
ROLE = 8,
/** A snowflake option that represents anything you can mention */
MENTIONABLE = 9,
/** A number option. Any double between -2^53 and 2^53 is a valid value */
NUMBER = 10,
/** An attachment option */
ATTACHMENT = 11,
}
/**
* ApplicationCommandPermissionType
*/
export const enum ApplicationCommandPermissionType {
/** This permission is for a role. */
ROLE = 1,
/** This permission is for a user. */
USER = 2,
/** This permission is for a channel. */
CHANNEL = 3,
}
/**
* ApplicationCommandType
*/
export const enum ApplicationCommandType {
/** Slash commands; a text-based command that shows up when a user types / */
CHAT = 1,
/** A UI-based command that shows up when you right click or tap on a user */
USER = 2,
/** A UI-based command that shows up when you right click or tap on a message */
MESSAGE = 3,
/** A command that represents the primary way to use an application (e.g. launching an Activity) */
PRIMARY_ENTRY_POINT = 4,
}
/**
* ApplicationEventWebhooksStatus
*/
export const enum ApplicationEventWebhooksStatus {
/** Webhook events are disabled by developer */
DISABLED = 1,
/** Webhook events are enabled by developer */
ENABLED = 2,
/** Webhook events are disabled by Discord, usually due to inactivity */
DISABLED_BY_DISCORD = 3,
}
/**
* ApplicationExplicitContentFilterTypes
*/
export const enum ApplicationExplicitContentFilterTypes {
/** inherit guild content filter setting */
INHERIT = 0,
/** interactions will always be scanned */
ALWAYS = 1,
}
/**
* ApplicationIdentityProviderAuthType
*/
export const enum ApplicationIdentityProviderAuthType {
OIDC = "OIDC",
EPIC_ONLINE_SERVICES_ACCESS_TOKEN = "EPIC_ONLINE_SERVICES_ACCESS_TOKEN",
EPIC_ONLINE_SERVICES_ID_TOKEN = "EPIC_ONLINE_SERVICES_ID_TOKEN",
STEAM_SESSION_TICKET = "STEAM_SESSION_TICKET",
UNITY_SERVICES_ID_TOKEN = "UNITY_SERVICES_ID_TOKEN",
DISCORD_BOT_ISSUED_ACCESS_TOKEN = "DISCORD_BOT_ISSUED_ACCESS_TOKEN",
APPLE_ID_TOKEN = "APPLE_ID_TOKEN",
PLAYSTATION_NETWORK_ID_TOKEN = "PLAYSTATION_NETWORK_ID_TOKEN",
}
/**
* ApplicationIntegrationType
*/
export const enum ApplicationIntegrationType {
/** For Guild install. */
GUILD_INSTALL = 0,
/** For User install. */
USER_INSTALL = 1,
}
/**
* ApplicationTypes
*/
export const enum ApplicationTypes {
GUILD_ROLE_SUBSCRIPTIONS = 4,
}
/**
* AuditLogActionTypes
*/
export const enum AuditLogActionTypes {
GUILD_UPDATE = 1,
CHANNEL_CREATE = 10,
CHANNEL_UPDATE = 11,
CHANNEL_DELETE = 12,
CHANNEL_OVERWRITE_CREATE = 13,
CHANNEL_OVERWRITE_UPDATE = 14,
CHANNEL_OVERWRITE_DELETE = 15,
MEMBER_KICK = 20,
MEMBER_PRUNE = 21,
MEMBER_BAN_ADD = 22,
MEMBER_BAN_REMOVE = 23,
MEMBER_UPDATE = 24,
MEMBER_ROLE_UPDATE = 25,
MEMBER_MOVE = 26,
MEMBER_DISCONNECT = 27,
BOT_ADD = 28,
ROLE_CREATE = 30,
ROLE_UPDATE = 31,
ROLE_DELETE = 32,
INVITE_CREATE = 40,
INVITE_UPDATE = 41,
INVITE_DELETE = 42,
WEBHOOK_CREATE = 50,
WEBHOOK_UPDATE = 51,
WEBHOOK_DELETE = 52,
EMOJI_CREATE = 60,
EMOJI_UPDATE = 61,
EMOJI_DELETE = 62,
MESSAGE_DELETE = 72,
MESSAGE_BULK_DELETE = 73,
MESSAGE_PIN = 74,
MESSAGE_UNPIN = 75,
INTEGRATION_CREATE = 80,
INTEGRATION_UPDATE = 81,
INTEGRATION_DELETE = 82,
STAGE_INSTANCE_CREATE = 83,
STAGE_INSTANCE_UPDATE = 84,
STAGE_INSTANCE_DELETE = 85,
STICKER_CREATE = 90,
STICKER_UPDATE = 91,
STICKER_DELETE = 92,
GUILD_SCHEDULED_EVENT_CREATE = 100,
GUILD_SCHEDULED_EVENT_UPDATE = 101,
GUILD_SCHEDULED_EVENT_DELETE = 102,
THREAD_CREATE = 110,
THREAD_UPDATE = 111,
THREAD_DELETE = 112,
APPLICATION_COMMAND_PERMISSION_UPDATE = 121,
SOUNDBOARD_SOUND_CREATE = 130,
SOUNDBOARD_SOUND_UPDATE = 131,
SOUNDBOARD_SOUND_DELETE = 132,
AUTO_MODERATION_RULE_CREATE = 140,
AUTO_MODERATION_RULE_UPDATE = 141,
AUTO_MODERATION_RULE_DELETE = 142,
AUTO_MODERATION_BLOCK_MESSAGE = 143,
AUTO_MODERATION_FLAG_TO_CHANNEL = 144,
AUTO_MODERATION_USER_COMM_DISABLED = 145,
AUTO_MODERATION_QUARANTINE_USER = 146,
CREATOR_MONETIZATION_REQUEST_CREATED = 150,
CREATOR_MONETIZATION_TERMS_ACCEPTED = 151,
ONBOARDING_PROMPT_CREATE = 163,
ONBOARDING_PROMPT_UPDATE = 164,
ONBOARDING_PROMPT_DELETE = 165,
ONBOARDING_CREATE = 166,
ONBOARDING_UPDATE = 167,
GUILD_HOME_FEATURE_ITEM = 171,
GUILD_HOME_REMOVE_ITEM = 172,
HARMFUL_LINKS_BLOCKED_MESSAGE = 180,
HOME_SETTINGS_CREATE = 190,
HOME_SETTINGS_UPDATE = 191,
VOICE_CHANNEL_STATUS_CREATE = 192,
VOICE_CHANNEL_STATUS_DELETE = 193,
GUILD_PROFILE_UPDATE = 211,
}
/**
* AuthorType
*/
export const enum AuthorType {
USER = "user",
BOT = "bot",
WEBHOOK = "webhook",
NO_USER = "-user",
NO_BOT = "-bot",
NO_WEBHOOK = "-webhook",
}
/**
* AutomodActionType
*/
export const enum AutomodActionType {
/** Block a user's message and prevent it from being posted. A custom explanation can be specified and shown to members whenever their message is blocked */
BLOCK_MESSAGE = 1,
/** Send a system message to a channel in order to log the user message that triggered the rule */
FLAG_TO_CHANNEL = 2,
/** Temporarily disable a user's ability to communicate in the server (timeout) */
USER_COMMUNICATION_DISABLED = 3,
/** Prevent a user from interacting in the server */
QUARANTINE_USER = 4,
}
/**
* AutomodEventType
*/
export const enum AutomodEventType {
/** A user submitted a message to a channel */
MESSAGE_SEND = 1,
/** A user is attempting to join the server or a member's properties were updated. */
GUILD_MEMBER_JOIN_OR_UPDATE = 2,
}
/**
* AutomodKeywordPresetType
*/
export const enum AutomodKeywordPresetType {
/** Words and phrases that may be considered profanity */
PROFANITY = 1,
/** Words and phrases that may be considered as sexual content */
SEXUAL_CONTENT = 2,
/** Words and phrases that may be considered slurs and hate speech */
SLURS = 3,
}
/**
* AutomodTriggerType
*/
export const enum AutomodTriggerType {
/** Check if content contains words from a list of keywords or matches regex */
KEYWORD = 1,
/** DEPRECATED */
SPAM_LINK = 2,
/** Check if content represents generic spam */
ML_SPAM = 3,
/** Check if content contains words from internal pre-defined wordsets */
DEFAULT_KEYWORD_LIST = 4,
/** Check if content contains more unique mentions than allowed */
MENTION_SPAM = 5,
}
/**
* AvailableLocalesEnum
*/
export const enum AvailableLocalesEnum {
/** The ar locale */
ar = "ar",
/** The bg locale */
bg = "bg",
/** The cs locale */
cs = "cs",
/** The da locale */
da = "da",
/** The de locale */
de = "de",
/** The el locale */
el = "el",
/** The en-GB locale */
"en-GB" = "en-GB",
/** The en-US locale */
"en-US" = "en-US",
/** The es-419 locale */
"es-419" = "es-419",
/** The es-ES locale */
"es-ES" = "es-ES",
/** The fi locale */
fi = "fi",
/** The fr locale */
fr = "fr",
/** The he locale */
he = "he",
/** The hi locale */
hi = "hi",
/** The hr locale */
hr = "hr",
/** The hu locale */
hu = "hu",
/** The id locale */
id = "id",
/** The it locale */
it = "it",
/** The ja locale */
ja = "ja",
/** The ko locale */
ko = "ko",
/** The lt locale */
lt = "lt",
/** The nl locale */
nl = "nl",
/** The no locale */
no = "no",
/** The pl locale */
pl = "pl",
/** The pt-BR locale */
"pt-BR" = "pt-BR",
/** The ro locale */
ro = "ro",
/** The ru locale */
ru = "ru",
/** The sv-SE locale */
"sv-SE" = "sv-SE",
/** The th locale */
th = "th",
/** The tr locale */
tr = "tr",
/** The uk locale */
uk = "uk",
/** The vi locale */
vi = "vi",
/** The zh-CN locale */
"zh-CN" = "zh-CN",
/** The zh-TW locale */
"zh-TW" = "zh-TW",
}
/**
* ButtonStyleTypes
*/
export const enum ButtonStyleTypes {
PRIMARY = 1,
SECONDARY = 2,
SUCCESS = 3,
DANGER = 4,
LINK = 5,
PREMIUM = 6,
}
/**
* ChannelPermissionOverwrites
*/
export const enum ChannelPermissionOverwrites {
ROLE = 0,
MEMBER = 1,
}
/**
* ChannelTypes
*/
export const enum ChannelTypes {
/** A direct message between users */
DM = 1,
/** A direct message between multiple users */
GROUP_DM = 3,
/** A text channel within a server */
GUILD_TEXT = 0,
/** A voice channel within a server */
GUILD_VOICE = 2,
/** An organizational category that contains up to 50 channels */
GUILD_CATEGORY = 4,
/** A channel that users can follow and crosspost into their own server (formerly news channels) */
GUILD_ANNOUNCEMENT = 5,
/** A temporary sub-channel within a GUILD_ANNOUNCEMENT channel */
ANNOUNCEMENT_THREAD = 10,
/** A temporary sub-channel within a GUILD_TEXT or GUILD_THREADS_ONLY channel type set */
PUBLIC_THREAD = 11,
/** A temporary sub-channel within a GUILD_TEXT channel that is only viewable by those invited and those with the MANAGE_THREADS permission */
PRIVATE_THREAD = 12,
/** A voice channel for hosting events with an audience */
GUILD_STAGE_VOICE = 13,
/** The channel in a hub containing the listed servers */
GUILD_DIRECTORY = 14,
/** Channel that can only contain threads */
GUILD_FORUM = 15,
}
/**
* ConnectedAccountProviders
*/
export const enum ConnectedAccountProviders {
BATTLENET = "battlenet",
BLUESKY = "bluesky",
BUNGIE = "bungie",
EBAY = "ebay",
EPIC_GAMES = "epicgames",
FACEBOOK = "facebook",
GITHUB = "github",
INSTAGRAM = "instagram",
MASTODON = "mastodon",
LEAGUE_OF_LEGENDS = "leagueoflegends",
PAYPAL = "paypal",
PLAYSTATION = "playstation",
REDDIT = "reddit",
RIOT_GAMES = "riotgames",
ROBLOX = "roblox",
SKYPE = "skype",
SPOTIFY = "spotify",
STEAM = "steam",
TIKTOK = "tiktok",
TWITCH = "twitch",
TWITTER = "twitter",
XBOX = "xbox",
YOUTUBE = "youtube",
DOMAIN = "domain",
}
/**
* ConnectedAccountVisibility
*/
export const enum ConnectedAccountVisibility {
NONE = 0,
EVERYONE = 1,
}
/**
* EmbeddedActivityLocationKind
*/
export const enum EmbeddedActivityLocationKind {
/** guild channel */
GUILD_CHANNEL = "gc",
/** private channel */
PRIVATE_CHANNEL = "pc",
/** party */
PARTY = "party",
}
/**
* EntitlementTenantFulfillmentStatusResponse
*/
export const enum EntitlementTenantFulfillmentStatusResponse {
UNKNOWN = 0,
FULFILLMENT_NOT_NEEDED = 1,
FULFILLMENT_NEEDED = 2,
FULFILLED = 3,
FULFILLMENT_FAILED = 4,
UNFULFILLMENT_NEEDED = 5,
UNFULFILLED = 6,
UNFULFILLMENT_FAILED = 7,
}
/**
* EntitlementTypes
*/
export const enum EntitlementTypes {
APPLICATION_SUBSCRIPTION = 8,
QUEST_REWARD = 10,
}
/**
* ForumLayout
*/
export const enum ForumLayout {
/** No default has been set for forum channel */
DEFAULT = 0,
/** Display posts as a list */
LIST = 1,
/** Display posts as a collection of tiles */
GRID = 2,
}
/**
* GuildExplicitContentFilterTypes
*/
export const enum GuildExplicitContentFilterTypes {
/** media content will not be scanned */
DISABLED = 0,
/** media content sent by members without roles will be scanned */
MEMBERS_WITHOUT_ROLES = 1,
/** media content sent by all members will be scanned */
ALL_MEMBERS = 2,
}
/**
* GuildFeatures
*/
export const enum GuildFeatures {
/** guild has access to set an animated guild banner image */
ANIMATED_BANNER = "ANIMATED_BANNER",
/** guild has access to set an animated guild icon */
ANIMATED_ICON = "ANIMATED_ICON",
/** guild is using the old permissions configuration behavior */
APPLICATION_COMMAND_PERMISSIONS_V2 = "APPLICATION_COMMAND_PERMISSIONS_V2",
/** guild has set up auto moderation rules */
AUTO_MODERATION = "AUTO_MODERATION",
/** guild has access to set a guild banner image */
BANNER = "BANNER",
/** guild can enable welcome screen, Membership Screening, stage channels and discovery, and receives community updates */
COMMUNITY = "COMMUNITY",
/** guild has enabled monetization */
CREATOR_MONETIZABLE_PROVISIONAL = "CREATOR_MONETIZABLE_PROVISIONAL",
/** guild has enabled the role subscription promo page */
CREATOR_STORE_PAGE = "CREATOR_STORE_PAGE",
/** guild has been set as a support server on the App Directory */
DEVELOPER_SUPPORT_SERVER = "DEVELOPER_SUPPORT_SERVER",
/** guild is able to be discovered in the directory */
DISCOVERABLE = "DISCOVERABLE",
/** guild is able to be featured in the directory */
FEATURABLE = "FEATURABLE",
/** guild has paused invites, preventing new users from joining */
INVITES_DISABLED = "INVITES_DISABLED",
/** guild has access to set an invite splash background */
INVITE_SPLASH = "INVITE_SPLASH",
/** guild has enabled Membership Screening */
MEMBER_VERIFICATION_GATE_ENABLED = "MEMBER_VERIFICATION_GATE_ENABLED",
/** guild has increased custom sticker slots */
MORE_STICKERS = "MORE_STICKERS",
/** guild has access to create announcement channels */
NEWS = "NEWS",
/** guild is partnered */
PARTNERED = "PARTNERED",
/** guild can be previewed before joining via Membership Screening or the directory */
PREVIEW_ENABLED = "PREVIEW_ENABLED",
/** guild has disabled activity alerts in the configured safety alerts channel */
RAID_ALERTS_DISABLED = "RAID_ALERTS_DISABLED",
/** guild is able to set role icons */
ROLE_ICONS = "ROLE_ICONS",
/** guild has role subscriptions that can be purchased */
ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE = "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE",
/** guild has enabled role subscriptions */
ROLE_SUBSCRIPTIONS_ENABLED = "ROLE_SUBSCRIPTIONS_ENABLED",
/** guild has enabled ticketed events */
TICKETED_EVENTS_ENABLED = "TICKETED_EVENTS_ENABLED",
/** guild has access to set a vanity URL */
VANITY_URL = "VANITY_URL",
/** guild is verified */
VERIFIED = "VERIFIED",
/** guild has access to set 384kbps bitrate in voice (previously VIP voice servers) */
VIP_REGIONS = "VIP_REGIONS",
/** guild has enabled the welcome screen */
WELCOME_SCREEN_ENABLED = "WELCOME_SCREEN_ENABLED",
/** guild is an official guild for one or more games */
OFFICIAL_GAME_GUILD = "OFFICIAL_GAME_GUILD",
}
/**
* GuildJoinRequestApplicationStatus
*/
export const enum GuildJoinRequestApplicationStatus {
/** Applicant started but not yet submitted join request */
STARTED = "STARTED",
/** Applicant submitted join request that is awaiting review */
SUBMITTED = "SUBMITTED",
/** Join request rejected */
REJECTED = "REJECTED",
/** Join request approved */
APPROVED = "APPROVED",
}
/**
* GuildMFALevel
*/
export const enum GuildMFALevel {
/** Guild has no MFA/2FA requirement for moderation actions */
NONE = 0,
/** Guild has a 2FA requirement for moderation actions */
ELEVATED = 1,
}
/**
* GuildMemberVerificationFormFieldType
*/
export const enum GuildMemberVerificationFormFieldType {
/** Field requiring applicant to acknowledge list of terms */
TERMS = "TERMS",
/** Short text input field */
TEXT_INPUT = "TEXT_INPUT",
/** Long-form text input field */
PARAGRAPH = "PARAGRAPH",
/** Field where applicant selects one of many options */
MULTIPLE_CHOICE = "MULTIPLE_CHOICE",
}
/**
* GuildNSFWContentLevel
*/
export const enum GuildNSFWContentLevel {
DEFAULT = 0,
EXPLICIT = 1,
SAFE = 2,
AGE_RESTRICTED = 3,
}
/**
* GuildOnboardingMode
*/
export const enum GuildOnboardingMode {
/** Only Default Channels considered in constraints */
ONBOARDING_DEFAULT = 0,
/** Default Channels and Onboarding Prompts considered in constraints */
ONBOARDING_ADVANCED = 1,
}
/**
* GuildScheduledEventEntityTypes
*/
export const enum GuildScheduledEventEntityTypes {
NONE = 0,
STAGE_INSTANCE = 1,
VOICE = 2,
EXTERNAL = 3,
}
/**
* GuildScheduledEventPrivacyLevels
*/
export const enum GuildScheduledEventPrivacyLevels {
/** the scheduled event is only accessible to guild members */
GUILD_ONLY = 2,
}
/**
* GuildScheduledEventStatuses
*/
export const enum GuildScheduledEventStatuses {
SCHEDULED = 1,
ACTIVE = 2,
COMPLETED = 3,
CANCELED = 4,
}
/**
* HasOption
*/
export const enum HasOption {
LINK = "link",
EMBED = "embed",
FILE = "file",
IMAGE = "image",
VIDEO = "video",
SOUND = "sound",
STICKER = "sticker",
POLL = "poll",
SNAPSHOT = "snapshot",
NO_LINK = "-link",
NO_EMBED = "-embed",
NO_FILE = "-file",
NO_IMAGE = "-image",
NO_VIDEO = "-video",
NO_SOUND = "-sound",
NO_STICKER = "-sticker",
NO_POLL = "-poll",
NO_SNAPSHOT = "-snapshot",
}
/**
* IntegrationExpireBehaviorTypes
*/
export const enum IntegrationExpireBehaviorTypes {
/** Remove role */
REMOVE_ROLE = 0,
/** Kick */
KICK = 1,
}
/**
* IntegrationExpireGracePeriodTypes
*/
export const enum IntegrationExpireGracePeriodTypes {
/** 1 day */
ONE_DAY = 1,
/** 3 days */
THREE_DAYS = 3,
/** 7 days */
SEVEN_DAYS = 7,
/** 14 days */
FOURTEEN_DAYS = 14,
/** 30 days */
THIRTY_DAYS = 30,
}
/**
* IntegrationTypes
*/
export const enum IntegrationTypes {
DISCORD = "discord",
TWITCH = "twitch",
YOUTUBE = "youtube",
GUILD_SUBSCRIPTION = "guild_subscription",
}
/**
* InteractionCallbackTypes
*/
export const enum InteractionCallbackTypes {
PONG = 1,
CHANNEL_MESSAGE_WITH_SOURCE = 4,
DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE = 5,
DEFERRED_UPDATE_MESSAGE = 6,
UPDATE_MESSAGE = 7,
APPLICATION_COMMAND_AUTOCOMPLETE_RESULT = 8,
MODAL = 9,
LAUNCH_ACTIVITY = 12,
SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY = 13,
}
/**
* InteractionContextType
*/
export const enum InteractionContextType {
/** This command can be used within a Guild. */
GUILD = 0,
/** This command can be used within a DM with this application's bot. */
BOT_DM = 1,
/** This command can be used within DMs and Group DMs with users. */
PRIVATE_CHANNEL = 2,
}
/**
* InteractionTypes
*/
export const enum InteractionTypes {
/** Sent by Discord to validate your application's interaction handler */
PING = 1,
/** Sent when a user uses an application command */
APPLICATION_COMMAND = 2,
/** Sent when a user interacts with a message component previously sent by your application */
MESSAGE_COMPONENT = 3,
/** Sent when a user is filling in an autocomplete option in a chat command */
APPLICATION_COMMAND_AUTOCOMPLETE = 4,
/** Sent when a user submits a modal previously sent by your application */
MODAL_SUBMIT = 5,
/** Sent when Discord is checking if a user can purchase a Social Layer SKU */
SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY = 6,
}
/**
* InviteTargetTypes
*/
export const enum InviteTargetTypes {
STREAM = 1,
EMBEDDED_APPLICATION = 2,
ROLE_SUBSCRIPTIONS_PURCHASE = 3,
}
/**
* InviteTypes
*/
export const enum InviteTypes {
GUILD = 0,
GROUP_DM = 1,
FRIEND = 2,
}
/**
* MessageComponentSeparatorSpacingSize
*/
export const enum MessageComponentSeparatorSpacingSize {
/** Small spacing */
SMALL = 1,
/** Large spacing */
LARGE = 2,
}
/**
* MessageComponentTypes
*/
export const enum MessageComponentTypes {
/** Container for other components */
ACTION_ROW = 1,
/** Button object */
BUTTON = 2,
/** Select menu for picking from defined text options */
STRING_SELECT = 3,
/** Text input object */
TEXT_INPUT = 4,
/** Select menu for users */
USER_SELECT = 5,
/** Select menu for roles */
ROLE_SELECT = 6,
/** Select menu for mentionables (users and roles) */
MENTIONABLE_SELECT = 7,
/** Select menu for channels */
CHANNEL_SELECT = 8,
/** Section component */
SECTION = 9,
/** Text component */
TEXT_DISPLAY = 10,
/** Thumbnail component */
THUMBNAIL = 11,
/** Media gallery component */
MEDIA_GALLERY = 12,
/** File component */
FILE = 13,
/** Separator component */
SEPARATOR = 14,
/** Container component */
CONTAINER = 17,
/** Label component */
LABEL = 18,
/** File upload component */
FILE_UPLOAD = 19,
/** Radio group component */
RADIO_GROUP = 21,
/** Checkbox group component */
CHECKBOX_GROUP = 22,
/** Checkbox component */
CHECKBOX = 23,
}
/**
* MessageReferenceType
*/
export const enum MessageReferenceType {
/** Reference to a message */
DEFAULT = 0,
}
/**
* MessageShareCustomUserThemeBaseTheme
*/
export const enum MessageShareCustomUserThemeBaseTheme {
/** No base theme */
UNSET = 0,
/** Dark base theme */
DARK = 1,
/** Light base theme */
LIGHT = 2,
/** Darker base theme */
DARKER = 3,
/** Midnight base theme */
MIDNIGHT = 4,
}
/**
* MessageType
*/
export const enum MessageType {
DEFAULT = 0,
RECIPIENT_ADD = 1,
RECIPIENT_REMOVE = 2,
CALL = 3,
CHANNEL_NAME_CHANGE = 4,
CHANNEL_ICON_CHANGE = 5,
CHANNEL_PINNED_MESSAGE = 6,
USER_JOIN = 7,
GUILD_BOOST = 8,
GUILD_BOOST_TIER_1 = 9,
GUILD_BOOST_TIER_2 = 10,
GUILD_BOOST_TIER_3 = 11,
CHANNEL_FOLLOW_ADD = 12,
GUILD_DISCOVERY_DISQUALIFIED = 14,
GUILD_DISCOVERY_REQUALIFIED = 15,
GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING = 16,
GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING = 17,
THREAD_CREATED = 18,
REPLY = 19,
CHAT_INPUT_COMMAND = 20,
THREAD_STARTER_MESSAGE = 21,
GUILD_INVITE_REMINDER = 22,
CONTEXT_MENU_COMMAND = 23,
AUTO_MODERATION_ACTION = 24,
ROLE_SUBSCRIPTION_PURCHASE = 25,
INTERACTION_PREMIUM_UPSELL = 26,
STAGE_START = 27,
STAGE_END = 28,
STAGE_SPEAKER = 29,
STAGE_TOPIC = 31,
GUILD_APPLICATION_PREMIUM_SUBSCRIPTION = 32,
GUILD_INCIDENT_ALERT_MODE_ENABLED = 36,
GUILD_INCIDENT_ALERT_MODE_DISABLED = 37,
GUILD_INCIDENT_REPORT_RAID = 38,
GUILD_INCIDENT_REPORT_FALSE_ALARM = 39,
POLL_RESULT = 46,
HD_STREAMING_UPGRADED = 55,
}
/**
* MetadataItemTypes
*/
export const enum MetadataItemTypes {
/** the metadata value (integer) is less than or equal to the guild's configured value (integer) */
INTEGER_LESS_THAN_EQUAL = 1,
/** the metadata value (integer) is greater than or equal to the guild's configured value (integer) */
INTEGER_GREATER_THAN_EQUAL = 2,
/** the metadata value (integer) is equal to the guild's configured value (integer) */
INTEGER_EQUAL = 3,
/** the metadata value (integer) is not equal to the guild's configured value (integer) */
INTEGER_NOT_EQUAL = 4,
/** the metadata value (ISO8601 string) is less than or equal to the guild's configured value (integer; days before current date) */
DATETIME_LESS_THAN_EQUAL = 5,
/** the metadata value (ISO8601 string) is greater than or equal to the guild's configured value (integer; days before current date) */
DATETIME_GREATER_THAN_EQUAL = 6,
/** the metadata value (integer) is equal to the guild's configured value (integer; 1) */
BOOLEAN_EQUAL = 7,
/** the metadata value (integer) is not equal to the guild's configured value (integer; 1) */
BOOLEAN_NOT_EQUAL = 8,
}
/**
* NewMemberActionType
*/
export const enum NewMemberActionType {
VIEW = 0,
TALK = 1,
}
/**
* OAuth2Scopes
*/
export const enum OAuth2Scopes {
/** allows /users/@me without email */
IDENTIFY = "identify",
/** enables /users/@me to return an email */
EMAIL = "email",
/** allows /users/@me/connections to return linked third-party accounts */
CONNECTIONS = "connections",
/** allows /users/@me/guilds to return basic information about all of a user's guilds */
GUILDS = "guilds",
/** allows /guilds/{guild.id}/members/{user.id} to be used for joining users to a guild */
GUILDS_JOIN = "guilds.join",
/** allows /users/@me/guilds/{guild.id}/member to return a user's member information in a guild */
GUILDS_MEMBERS_READ = "guilds.members.read",
/** allows your app to join users to a group dm */
GDM_JOIN = "gdm.join",
/** for oauth2 bots, this puts the bot in the user's selected guild by default */
BOT = "bot",
/** for local rpc server access, this allows you to control a user's local Discord client - requires Discord approval */
RPC = "rpc",
/** for local rpc server access, this allows you to receive notifications pushed out to the user - requires Discord approval */
RPC_NOTIFICATIONS_READ = "rpc.notifications.read",
/** for local rpc server access, this allows you to read a user's voice settings and listen for voice events - requires Discord approval */
RPC_VOICE_READ = "rpc.voice.read",
/** for local rpc server access, this allows you to update a user's voice settings - requires Discord approval */
RPC_VOICE_WRITE = "rpc.voice.write",
/** for local rpc server access, this allows you to read a user's video status - requires Discord approval */
RPC_VIDEO_READ = "rpc.video.read",
/** for local rpc server access, this allows you to update a user's video settings - requires Discord approval */
RPC_VIDEO_WRITE = "rpc.video.write",
/** for local rpc server access, this allows you to read a user's screenshare status- requires Discord approval */
RPC_SCREENSHARE_READ = "rpc.screenshare.read",
/** for local rpc server access, this allows you to update a user's screenshare settings- requires Discord approval */
RPC_SCREENSHARE_WRITE = "rpc.screenshare.write",
/** for local rpc server access, this allows you to update a user's activity - requires Discord approval */
RPC_ACTIVITIES_WRITE = "rpc.activities.write",
/** this generates a webhook that is returned in the oauth token response for authorization code grants */
WEBHOOK_INCOMING = "webhook.incoming",
/** for local rpc server api access, this allows you to read messages from all client channels (otherwise restricted to channels/guilds your app creates) */
MESSAGES_READ = "messages.read",
/** allows your app to upload/update builds for a user's applications - requires Discord approval */
APPLICATIONS_BUILDS_UPLOAD = "applications.builds.upload",
/** allows your app to read build data for a user's applications */
APPLICATIONS_BUILDS_READ = "applications.builds.read",
/** allows your app to use commands in a guild */
APPLICATIONS_COMMANDS = "applications.commands",
/** allows your app to update permissions for its commands in a guild a user has permissions to */
APPLICATIONS_COMMANDS_PERMISSIONS_UPDATE = "applications.commands.permissions.update",
/** allows your app to update its commands using a Bearer token - client credentials grant only */
APPLICATIONS_COMMANDS_UPDATE = "applications.commands.update",
/** allows your app to read and update store data (SKUs, store listings, achievements, etc.) for a user's applications */
APPLICATIONS_STORE_UPDATE = "applications.store.update",
/** allows your app to read entitlements for a user's applications */
APPLICATIONS_ENTITLEMENTS = "applications.entitlements",
/** allows your app to fetch data from a user's "Now Playing/Recently Played" list - requires Discord approval */
ACTIVITIES_READ = "activities.read",
/** allows your app to update a user's activity - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER) */
ACTIVITIES_WRITE = "activities.write",
/** allows your app to send activity invites - requires Discord approval (NOT REQUIRED FOR GAMESDK ACTIVITY MANAGER) */
ACTIVITIES_INVITES_WRITE = "activities.invites.write",
/** allows your app to know a user's friends and implicit relationships - requires Discord approval */
RELATIONSHIPS_READ = "relationships.read",
/** allows your app to connect to voice on user's behalf and see all the voice members - requires Discord approval */
VOICE = "voice",
/** allows your app to see information about the user's DMs and group DMs - requires Discord approval */
DM_CHANNELS_READ = "dm_channels.read",
/** allows your app to update a user's connection and metadata for the app */
ROLE_CONNECTIONS_WRITE = "role_connections.write",
/** for OpenID Connect, this allows your app to receive user id and basic profile information */
OPENID = "openid",
}
/**
* OnboardingPromptType
*/
export const enum OnboardingPromptType {
/** Multiple choice options */
MULTIPLE_CHOICE = 0,
/** Many options shown as a dropdown */
DROPDOWN = 1,
}
/**
* PremiumGuildTiers
*/
export const enum PremiumGuildTiers {
/** Guild has not unlocked any Server Boost perks */
NONE = 0,
/** Guild has unlocked Server Boost level 1 perks */
TIER_1 = 1,
/** Guild has unlocked Server Boost level 2 perks */
TIER_2 = 2,
/** Guild has unlocked Server Boost level 3 perks */
TIER_3 = 3,
}
/**
* PremiumTypes
*/
export const enum PremiumTypes {
/** None */
NONE = 0,
/** Nitro Classic */
TIER_1 = 1,
/** Nitro Standard */
TIER_2 = 2,
/** Nitro Basic */
TIER_0 = 3,
}
/**
* PurchaseType
*/
export const enum PurchaseType {
GUILD_PRODUCT = 0,
}
/**
* ReactionTypes
*/
export const enum ReactionTypes {
/** Normal reaction type */
NORMAL = 0,
/** Burst reaction type */
BURST = 1,
}
/**
* SKUIneligibilityReason
*/
export const enum SKUIneligibilityReason {
/** Other / catch-all */
OTHER = 0,
/** User already owns this SKU or one of its components */
OWNS_SKU_OR_BUNDLE_COMPONENT = 1,
/** User account is not on an eligible platform */
PLATFORM_RESTRICTION = 2,
}
/**
* SearchableEmbedType
*/
export const enum SearchableEmbedType {
IMAGE = "image",
VIDEO = "video",
GIFV = "gif",
SOUND = "sound",
ARTICLE = "article",
}
/**
* SnowflakeSelectDefaultValueTypes
*/
export const enum SnowflakeSelectDefaultValueTypes {
USER = "user",
ROLE = "role",
CHANNEL = "channel",
}
/**
* SortingMode
*/
export const enum SortingMode {
RELEVANCE = "relevance",
TIMESTAMP = "timestamp",
}
/**
* SortingOrder
*/
export const enum SortingOrder {
ASC = "asc",
DESC = "desc",
}
/**
* StageInstancesPrivacyLevels
*/
export const enum StageInstancesPrivacyLevels {
/** The Stage instance is visible publicly. (deprecated) */
PUBLIC = 1,
/** The Stage instance is visible publicly. (deprecated) */
GUILD_ONLY = 2,
}
/**
* StickerFormatTypes
*/
export const enum StickerFormatTypes {
PNG = 1,
APNG = 2,
LOTTIE = 3,
GIF = 4,
}
/**
* StickerTypes
*/
export const enum StickerTypes {
/** an official sticker in a pack, part of Nitro or in a removed purchasable pack */
STANDARD = 1,
/** a sticker uploaded to a guild for the guild's members */
GUILD = 2,
}
/**
* TargetUsersJobStatusTypes
*/
export const enum TargetUsersJobStatusTypes {
/** The default value. */
UNSPECIFIED = 0,
/** The job is still being processed. */
PROCESSING = 1,
/** The job has been completed successfully. */
COMPLETED = 2,
/** The job has failed, see error_message field for more details. */
FAILED = 3,
}
/**
* TeamMemberRoles
*/
export const enum TeamMemberRoles {
/** Admins have similar access as owners, except they cannot take destructive actions on the team or team-owned apps. */
ADMIN = "admin",
/** Developers can access information about team-owned apps, like the client secret or public key. They can also take limited actions on team-owned apps, like configuring interaction endpoints or resetting the bot token. Members with the Developer role cannot manage the team or its members, or take destructive actions on team-owned apps. */
DEVELOPER = "developer",
/** Read-only members can access information about a team and any team-owned apps. Some examples include getting the IDs of applications and exporting payout records. Members can also invite bots associated with team-owned apps that are marked private. */
READ_ONLY = "read_only",
}
/**
* TeamMembershipStates
*/
export const enum TeamMembershipStates {
/** User has been invited to the team. */
INVITED = 1,
/** User has accepted the team invitation. */
ACCEPTED = 2,
}
/**
* TextInputStyleTypes
*/
export const enum TextInputStyleTypes {
/** Single-line input */
SHORT = 1,
/** Multi-line input */
PARAGRAPH = 2,
}
/**
* ThreadAutoArchiveDuration
*/
export const enum ThreadAutoArchiveDuration {
/** One hour */
ONE_HOUR = 60,
/** One day */
ONE_DAY = 1440,
/** Three days */
THREE_DAY = 4320,
/** Seven days */
SEVEN_DAY = 10080,
}
/**
* ThreadSearchTagSetting
*/
export const enum ThreadSearchTagSetting {
/** The thread tags must contain all tags in the search query */
MATCH_ALL = "match_all",
/** The thread tags must contain at least one of tags in the search query */
MATCH_SOME = "match_some",
}
/**
* ThreadSortOrder
*/
export const enum ThreadSortOrder {
/** Sort forum posts by activity */
LATEST_ACTIVITY = 0,
/** Sort forum posts by creation time (from most recent to oldest) */
CREATION_DATE = 1,
}
/**
* ThreadSortingMode
*/
export const enum ThreadSortingMode {
RELEVANCE = "relevance",
CREATION_TIME = "creation_time",
LAST_MESSAGE_TIME = "last_message_time",
ARCHIVE_TIME = "archive_time",
}
/**
* UserNotificationSettings
*/
export const enum UserNotificationSettings {
/** members will receive notifications for all messages by default */
ALL_MESSAGES = 0,
/** members will receive notifications only for messages that @mention them by default */
ONLY_MENTIONS = 1,
}
/**
* VerificationLevels
*/
export const enum VerificationLevels {
/** unrestricted */
NONE = 0,
/** must have verified email on account */
LOW = 1,
/** must be registered on Discord for longer than 5 minutes */
MEDIUM = 2,
/** must be a member of the server for longer than 10 minutes */
HIGH = 3,
/** must have a verified phone number */
VERY_HIGH = 4,
}
/**
* VideoQualityModes
*/
export const enum VideoQualityModes {
/** Discord chooses the quality for optimal performance */
AUTO = 1,
/** 720p */
FULL = 2,
}
/**
* WebhookTypes
*/
export const enum WebhookTypes {
/** Incoming Webhooks can post messages to channels with a generated token */
GUILD_INCOMING = 1,
/** Channel Follower Webhooks are internal webhooks used with Channel Following to post new messages into channels */
CHANNEL_FOLLOWER = 2,
/** Application webhooks are webhooks used with Interactions */
APPLICATION_INCOMING = 3,
}
/**
* WidgetImageStyles
*/
export const enum WidgetImageStyles {
/** shield style widget with Discord icon and guild members online count */
SHIELD = "shield",
/** large image with guild icon, name and online count. "POWERED BY DISCORD" as the footer of the widget */
BANNER1 = "banner1",
/** smaller widget style with guild icon, name and online count. Split on the right with Discord logo */
BANNER2 = "banner2",
/** large image with guild icon, name and online count. In the footer, Discord logo on the left and "Chat Now" on the right */
BANNER3 = "banner3",
/** large Discord logo at the top of the widget. Guild icon, name and online count in the middle portion of the widget and a "JOIN MY SERVER" button at the bottom */
BANNER4 = "banner4",
}
/**
* WidgetUserDiscriminator
*/
export const enum WidgetUserDiscriminator {
ZEROES = "0000",
}
// Components
export type AccountResponse = {
id: string;
name: string | null;
};
export type ActionRowComponentForMessageRequest = {
type: MessageComponentTypes.ACTION_ROW;
id?: number | null;
components: (
| ButtonComponentForMessageRequest
| ChannelSelectComponentForMessageRequest
| MentionableSelectComponentForMessageRequest
| RoleSelectComponentForMessageRequest
| StringSelectComponentForMessageRequest
| UserSelectComponentForMessageRequest
)[];
};
export type ActionRowComponentForModalRequest = {
type: MessageComponentTypes.ACTION_ROW;
id?: number | null;
components: TextInputComponentForModalRequest[];
};
export type ActionRowComponentResponse = {
type: MessageComponentTypes.ACTION_ROW;
id: number;
components: (
| ButtonComponentResponse
| ChannelSelectComponentResponse
| MentionableSelectComponentResponse
| RoleSelectComponentResponse
| StringSelectComponentResponse
| TextInputComponentResponse
| UserSelectComponentResponse
)[];
};
export type ActivitiesAttachmentResponse = {
attachment: AttachmentResponse;
};
export type ApplicationCommandAttachmentOption = {
type: ApplicationCommandOptionType.ATTACHMENT;
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean | null;
};
export type ApplicationCommandAttachmentOptionResponse = {
type: ApplicationCommandOptionType.ATTACHMENT;
name: string;
name_localized?: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localized?: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean;
};
export type ApplicationCommandAutocompleteCallbackRequest = {
type: InteractionCallbackTypes.APPLICATION_COMMAND_AUTOCOMPLETE_RESULT;
data:
| InteractionApplicationCommandAutocompleteCallbackIntegerData
| InteractionApplicationCommandAutocompleteCallbackNumberData
| InteractionApplicationCommandAutocompleteCallbackStringData;
};
export type ApplicationCommandBooleanOption = {
type: ApplicationCommandOptionType.BOOLEAN;
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean | null;
};
export type ApplicationCommandBooleanOptionResponse = {
type: ApplicationCommandOptionType.BOOLEAN;
name: string;
name_localized?: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localized?: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean;
};
export type ApplicationCommandChannelOption = {
type: ApplicationCommandOptionType.CHANNEL;
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean | null;
channel_types?: ChannelTypes[] | null;
};
export type ApplicationCommandChannelOptionResponse = {
type: ApplicationCommandOptionType.CHANNEL;
name: string;
name_localized?: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localized?: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean;
channel_types?: ChannelTypes[];
};
export type ApplicationCommandCreateRequest = {
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description?: string | null;
description_localizations?: {
[key: string]: string;
} | null;
options?:
| (
| ApplicationCommandAttachmentOption
| ApplicationCommandBooleanOption
| ApplicationCommandChannelOption
| ApplicationCommandIntegerOption
| ApplicationCommandMentionableOption
| ApplicationCommandNumberOption
| ApplicationCommandRoleOption
| ApplicationCommandStringOption
| ApplicationCommandSubcommandGroupOption
| ApplicationCommandSubcommandOption
| ApplicationCommandUserOption
)[]
| null;
default_member_permissions?: number | null;
dm_permission?: boolean | null;
contexts?: InteractionContextType[] | null;
integration_types?: ApplicationIntegrationType[] | null;
handler?: null | ApplicationCommandHandler;
type?: null | ApplicationCommandType;
};
export type ApplicationCommandHandler = number;
export type ApplicationCommandIntegerOption = {
type: ApplicationCommandOptionType.INTEGER;
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean | null;
autocomplete?: boolean | null;
choices?: ApplicationCommandOptionIntegerChoice[] | null;
min_value?: null | Int53Type;
max_value?: null | Int53Type;
};
export type ApplicationCommandIntegerOptionResponse = {
type: ApplicationCommandOptionType.INTEGER;
name: string;
name_localized?: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localized?: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean;
autocomplete?: boolean;
choices?: ApplicationCommandOptionIntegerChoiceResponse[];
min_value?: Int53Type;
max_value?: Int53Type;
};
export type ApplicationCommandInteractionMetadataResponse = {
id: SnowflakeType;
type: InteractionTypes.APPLICATION_COMMAND;
user?: UserResponse;
authorizing_integration_owners: {
[key: string]: SnowflakeType;
};
original_response_message_id?: SnowflakeType;
target_user?: UserResponse;
target_message_id?: SnowflakeType;
};
export type ApplicationCommandMentionableOption = {
type: ApplicationCommandOptionType.MENTIONABLE;
name: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean | null;
};
export type ApplicationCommandMentionableOptionResponse = {
type: ApplicationCommandOptionType.MENTIONABLE;
name: string;
name_localized?: string;
name_localizations?: {
[key: string]: string;
} | null;
description: string;
description_localized?: string;
description_localizations?: {
[key: string]: string;
} | null;
required?: boolean;
};
export type ApplicationCommandNumberOption = {
type: ApplicationCommandOptionType.NUM