diff --git a/.lintstagedrc.mjs b/.lintstagedrc.mjs index aa1b9bea69..7fc5b11e39 100644 --- a/.lintstagedrc.mjs +++ b/.lintstagedrc.mjs @@ -1,4 +1,9 @@ export default { "*.{j,t}s": [() => "npm run build:src:tsgo", "eslint --concurrency 4" /* sweet spot it seems */, "prettier --write"], - "src/schemas/{*,**/*}.ts": [() => "npm run build:src:tsgo", () => "node scripts/schema.js", () => "node scripts/openapi.js", () => "git add assets/schemas.json assets/openapi.json"], + "src/schemas/{*,**/*}.ts": [ + () => "npm run build:src:tsgo", + () => "node scripts/schema.js", + () => "node scripts/openapi.js", + () => "git add assets/schemas.json assets/openapi.json", + ], }; diff --git a/assets/openapi.json b/assets/openapi.json index aa965def46..7e2f4ba01d 100644 --- a/assets/openapi.json +++ b/assets/openapi.json @@ -220,1368 +220,1356 @@ } } }, - "FieldErrorResponse": { + "InstanceUserDeleteSchema": { + "$ref": "#/components/schemas/InstanceUserDeleteSchemaContent" + }, + "UserSettingsUpdateSchema": { "type": "object", "properties": { - "code": { + "afk_timeout": { "type": "integer" }, - "message": { - "type": "string" + "allow_accessibility_detection": { + "type": "boolean" }, - "errors": { - "$ref": "#/components/schemas/ErrorList" - } - }, - "required": [ - "code", - "errors", - "message" - ] - }, - "ActivitySchema": { - "type": "object", - "properties": { - "afk": { + "animate_emoji": { "type": "boolean" }, - "status": { - "$ref": "#/components/schemas/Status" + "animate_stickers": { + "type": "integer" }, - "activities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Activity" - } + "contact_sync_enabled": { + "type": "boolean" }, - "since": { - "type": "integer" - } - }, - "required": [ - "status" - ] - }, - "ApplicationAuthorizeSchema": { - "type": "object", - "properties": { - "authorize": { + "convert_emoticons": { "type": "boolean" }, - "guild_id": { - "type": "string" + "custom_status": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomStatus" + }, + { + "type": "null" + } + ] }, - "permissions": { - "type": "string" + "default_guilds_restricted": { + "type": "boolean" }, - "captcha_key": { - "type": "string" + "detect_platform_accounts": { + "type": "boolean" }, - "code": { - "minLength": 6, - "maxLength": 6, - "type": "string" - } - }, - "required": [ - "authorize", - "guild_id", - "permissions" - ] - }, - "AutomodMentionSpamRuleSchema": { - "type": "object", - "properties": { - "mention_total_limit": { + "developer_mode": { + "type": "boolean" + }, + "disable_games_tab": { + "type": "boolean" + }, + "enable_tts_command": { + "type": "boolean" + }, + "explicit_content_filter": { "type": "integer" }, - "mention_raid_protection_enabled": { + "friend_discovery_flags": { + "type": "integer" + }, + "friend_source_flags": { + "$ref": "#/components/schemas/FriendSourceFlags" + }, + "gateway_connected": { "type": "boolean" - } - }, - "required": [ - "mention_raid_protection_enabled", - "mention_total_limit" - ] - }, - "AutomodSuspectedSpamRuleSchema": { - "type": "object" - }, - "AutomodCommonlyFlaggedWordsRuleSchema": { - "type": "object", - "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 }, - "presets": { - "type": "array", - "items": [ - { - "type": "integer" - } - ], - "minItems": 1, - "maxItems": 1 - } - }, - "required": [ - "allow_list", - "presets" - ] - }, - "AutomodCustomWordsRuleSchema": { - "type": "object", - "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "gif_auto_play": { + "type": "boolean" }, - "keyword_filter": { + "guild_folders": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "items": { + "$ref": "#/components/schemas/GuildFolder" + } }, - "regex_patterns": { + "guild_positions": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 - } - }, - "required": [ - "allow_list", - "keyword_filter", - "regex_patterns" - ] - }, - "AutomodRuleSchema": { - "type": "object", - "properties": { - "creator_id": { + "items": { + "type": "string" + } + }, + "inline_attachment_media": { + "type": "boolean" + }, + "inline_embed_media": { + "type": "boolean" + }, + "locale": { "type": "string" }, - "enabled": { + "message_display_compact": { "type": "boolean" }, - "event_type": { - "type": "integer" + "native_phone_integration_enabled": { + "type": "boolean" }, - "exempt_channels": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "render_embeds": { + "type": "boolean" }, - "exempt_roles": { + "render_reactions": { + "type": "boolean" + }, + "restricted_guilds": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "items": { + "type": "string" + } }, - "guild_id": { + "show_current_game": { + "type": "boolean" + }, + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "name": { + "stream_notifications_enabled": { + "type": "boolean" + }, + "theme": { + "enum": [ + "dark", + "light" + ], "type": "string" }, - "position": { + "timezone_offset": { "type": "integer" }, - "trigger_type": { - "type": "integer" - }, - "trigger_metadata": { - "anyOf": [ - { - "$ref": "#/components/schemas/AutomodMentionSpamRuleSchema" - }, - { - "$ref": "#/components/schemas/AutomodSuspectedSpamRuleSchema" - }, - { - "$ref": "#/components/schemas/AutomodCommonlyFlaggedWordsRuleSchema" - }, - { - "$ref": "#/components/schemas/AutomodCustomWordsRuleSchema" - } - ] - } - }, - "required": [ - "creator_id", - "enabled", - "event_type", - "exempt_channels", - "exempt_roles", - "guild_id", - "name", - "position", - "trigger_metadata", - "trigger_type" - ] - }, - "BackupCodesChallengeSchema": { - "type": "object", - "properties": { - "password": { - "minLength": 1, - "maxLength": 72, - "type": "string" + "view_nsfw_guilds": { + "type": "boolean" } - }, - "required": [ - "password" - ] + } }, - "BanCreateSchema": { + "UserSettingsSchema": { "type": "object", "properties": { - "delete_message_seconds": { + "afk_timeout": { "type": "integer" }, - "delete_message_days": { + "allow_accessibility_detection": { + "type": "boolean" + }, + "animate_emoji": { + "type": "boolean" + }, + "animate_stickers": { "type": "integer" }, - "reason": { - "type": "string" - } - } - }, - "BanModeratorSchema": { - "type": "object", - "properties": { - "id": { - "type": "string" + "contact_sync_enabled": { + "type": "boolean" }, - "user_id": { - "type": "string" + "convert_emoticons": { + "type": "boolean" }, - "guild_id": { - "type": "string" + "custom_status": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomStatus" + }, + { + "type": "null" + } + ] }, - "executor_id": { - "type": "string" + "default_guilds_restricted": { + "type": "boolean" }, - "reason": { - "type": "string" - } - }, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ] - }, - "BanRegistrySchema": { - "type": "object", - "properties": { - "id": { - "type": "string" + "detect_platform_accounts": { + "type": "boolean" }, - "user_id": { - "type": "string" + "developer_mode": { + "type": "boolean" }, - "guild_id": { - "type": "string" + "disable_games_tab": { + "type": "boolean" }, - "executor_id": { - "type": "string" + "enable_tts_command": { + "type": "boolean" }, - "ip": { - "type": "string" + "explicit_content_filter": { + "type": "integer" }, - "reason": { - "type": "string" - } - }, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ] - }, - "BotModifySchema": { - "type": "object", - "properties": { - "avatar": { - "type": "string" + "friend_discovery_flags": { + "type": "integer" }, - "username": { - "type": "string" + "friend_source_flags": { + "$ref": "#/components/schemas/FriendSourceFlags" }, - "banner": { - "type": "string" - } - } - }, - "BulkBanSchema": { - "type": "object", - "properties": { - "user_ids": { + "gateway_connected": { + "type": "boolean" + }, + "gif_auto_play": { + "type": "boolean" + }, + "guild_folders": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/GuildFolder" } }, - "delete_message_seconds": { - "type": "integer" - } - }, - "required": [ - "user_ids" - ] - }, - "BulkDeleteSchema": { - "type": "object", - "properties": { - "messages": { + "guild_positions": { "type": "array", "items": { "type": "string" } - } - }, - "required": [ - "messages" - ] - }, - "ChannelModifySchema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "enum": [ - 0, - 1, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 2, - 255, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "type": "number" }, - "topic": { - "type": "string" + "inline_attachment_media": { + "type": "boolean" }, - "icon": { - "type": "string", - "nullable": true + "inline_embed_media": { + "type": "boolean" }, - "bitrate": { - "type": "integer" + "locale": { + "type": "string" }, - "user_limit": { - "type": "integer" + "message_display_compact": { + "type": "boolean" }, - "rate_limit_per_user": { - "type": "integer" + "native_phone_integration_enabled": { + "type": "boolean" }, - "position": { - "type": "integer" + "render_embeds": { + "type": "boolean" }, - "invitable": { + "render_reactions": { "type": "boolean" }, - "permission_overwrites": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/ChannelPermissionOverwriteType" - }, - "allow": { - "type": "string" - }, - "deny": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "allow", - "deny", - "id", - "type" - ] - } - }, - "applied_tags": { + "restricted_guilds": { "type": "array", "items": { "type": "string" } }, - "parent_id": { - "type": "string" + "show_current_game": { + "type": "boolean" }, - "id": { + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "nsfw": { + "stream_notifications_enabled": { "type": "boolean" }, - "rtc_region": { + "theme": { + "enum": [ + "dark", + "light" + ], "type": "string" }, - "default_auto_archive_duration": { - "type": "integer" - }, - "default_reaction_emoji": { - "type": "string", - "nullable": true - }, - "flags": { - "type": "integer" - }, - "default_thread_rate_limit_per_user": { - "type": "integer" - }, - "video_quality_mode": { - "type": "integer" - }, - "auto_archive_duration": { + "timezone_offset": { "type": "integer" }, - "archived": { - "type": "boolean" - }, - "locked": { + "view_nsfw_guilds": { "type": "boolean" - }, - "available_tags": { - "type": "array", - "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "moderated": { - "type": [ - "null", - "boolean" - ] - }, - "emoji_id": { - "type": [ - "null", - "string" - ] - }, - "emoji_name": { - "type": [ - "null", - "string" - ] - }, - "id": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ] - } } - } + }, + "required": [ + "afk_timeout", + "allow_accessibility_detection", + "animate_emoji", + "animate_stickers", + "contact_sync_enabled", + "convert_emoticons", + "custom_status", + "default_guilds_restricted", + "detect_platform_accounts", + "developer_mode", + "disable_games_tab", + "enable_tts_command", + "explicit_content_filter", + "friend_discovery_flags", + "friend_source_flags", + "gateway_connected", + "gif_auto_play", + "guild_folders", + "guild_positions", + "inline_attachment_media", + "inline_embed_media", + "locale", + "message_display_compact", + "native_phone_integration_enabled", + "render_embeds", + "render_reactions", + "restricted_guilds", + "show_current_game", + "status", + "stream_notifications_enabled", + "theme", + "timezone_offset", + "view_nsfw_guilds" + ] }, - "ChannelPermissionOverwriteSchema": { + "FieldErrorResponse": { "type": "object", "properties": { - "allow": { - "type": "string" - }, - "deny": { - "type": "string" + "code": { + "type": "integer" }, - "id": { + "message": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChannelPermissionOverwriteType" + "errors": { + "$ref": "#/components/schemas/ErrorList" } }, "required": [ - "allow", - "deny", - "id", - "type" + "code", + "errors", + "message" ] }, - "ChannelReorderSchema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "position": { - "type": "integer" - }, - "lock_permissions": { - "type": "boolean" - }, - "parent_id": { - "type": [ - "null", - "string" - ] - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - }, - "CodesVerificationSchema": { + "InteractionCallbackSchema": { "type": "object", "properties": { - "key": { - "type": "string" - }, - "nonce": { - "type": "string" + "type": { + "$ref": "#/components/schemas/InteractionCallbackType" }, - "regenerate": { - "type": "boolean" - } + "data": {} }, "required": [ - "key", - "nonce" + "data", + "type" ] }, - "ConnectedAccountSchema": { - "type": "object", - "properties": { - "external_id": { - "type": "string" + "InteractionCallbacksSchema": { + "anyOf": [ + { + "$ref": "#/components/schemas/PongCallback" }, - "user_id": { - "type": "string" + { + "$ref": "#/components/schemas/AckCallback" }, - "token_data": { - "$ref": "#/components/schemas/ConnectedAccountTokenData" + { + "$ref": "#/components/schemas/MessageCallback" }, - "friend_sync": { - "type": "boolean" + { + "$ref": "#/components/schemas/MessageWSourceCallback" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/MessageDWSourceCallback" }, - "revoked": { - "type": "boolean" + { + "$ref": "#/components/schemas/MessageUpdateCallback" }, - "show_activity": { + { + "$ref": "#/components/schemas/MessageDUpdateCallback" + } + ] + }, + "InteractionCreateSchema": { + "type": "object", + "properties": { + "version": { "type": "integer" }, - "type": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "verified": { - "type": "boolean" + "application_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "visibility": { - "type": "integer" + "type": { + "$ref": "#/components/schemas/InteractionType" }, - "integrations": { - "type": "array", - "items": { - "type": "string" - } + "token": { + "type": "string" }, - "metadata_": {}, - "metadata_visibility": { - "type": "integer" + "data": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - "two_way_link": { - "type": "boolean" - } - }, - "required": [ - "external_id", - "name", - "type", - "user_id" - ] - }, - "ConnectedAccountCommonOAuthTokenResponse": { - "type": "object", - "properties": { - "access_token": { + "guild": { + "$ref": "#/components/schemas/InteractionGuild" + }, + "guild_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "token_type": { + "guild_locale": { "type": "string" }, - "scope": { + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "channel_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "refresh_token": { + "member": { + "$ref": "#/components/schemas/PublicMember" + }, + "user": { + "$ref": "#/components/schemas/PublicUser" + }, + "locale": { "type": "string" }, - "expires_in": { + "message": { + "$ref": "#/components/schemas/Message" + }, + "app_permissions": { + "type": "string" + }, + "entitlements": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "entitlement_sku_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "authorizing_integration_owners": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "string" + } + } + }, + "context": { + "type": "integer" + }, + "attachment_size_limit": { "type": "integer" } }, "required": [ - "access_token", - "scope", - "token_type" + "app_permissions", + "application_id", + "attachment_size_limit", + "id", + "token", + "type", + "version" ] }, - "ConnectionCallbackSchema": { + "ApplicationCreateSchema": { "type": "object", "properties": { - "code": { + "name": { "type": "string" }, - "state": { + "team_id": { "type": "string" - }, - "insecure": { - "type": "boolean" - }, - "friend_sync": { - "type": "boolean" - }, - "openid_params": {} + } }, "required": [ - "friend_sync", - "insecure", - "state" + "name" ] }, - "ConnectionUpdateSchema": { + "ApplicationModifySchema": { "type": "object", "properties": { - "visibility": { - "type": "boolean" + "description": { + "type": "string" }, - "show_activity": { - "type": "boolean" + "icon": { + "type": "string" + }, + "cover_image": { + "type": "string" + }, + "interactions_endpoint_url": { + "type": "string" + }, + "max_participants": { + "type": "integer", + "nullable": true }, - "metadata_visibility": { - "type": "boolean" - } - } - }, - "DmChannelCreateSchema": { - "type": "object", - "properties": { "name": { "type": "string" }, - "recipients": { - "type": "array", - "items": { - "type": "string" - } + "privacy_policy_url": { + "type": "string" }, - "recipient_id": { + "role_connections_verification_url": { "type": "string" }, - "access_tokens": { + "tags": { "type": "array", "items": { "type": "string" } - } - } - }, - "EmailDomainLookupSchema": { - "type": "object", - "properties": { - "allow_multiple_guilds": { - "type": "boolean" }, - "email": { + "terms_of_service_url": { "type": "string" }, - "use_verification_code": { + "bot_public": { + "type": "boolean" + }, + "bot_require_code_grant": { "type": "boolean" }, + "flags": { + "type": "integer" + }, + "custom_install_url": { + "type": "string" + }, "guild_id": { "type": "string" } - }, - "required": [ - "allow_multiple_guilds", - "email", - "use_verification_code" - ] + } }, - "EmailDomainLookupVerifyCodeSchema": { + "SendableApplicationCommandDataSchema": { "type": "object", "properties": { - "email": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "guild_id": { - "type": "string" + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, - "code": { - "type": "string" - } - }, - "required": [ - "code", - "email", - "guild_id" - ] - }, - "EmojiCreateSchema": { - "type": "object", - "properties": { "name": { "type": "string" }, - "image": { + "version": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "require_colons": { - "type": "boolean", - "nullable": true + "application_command": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - "roles": { + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/ApplicationCommandOption" } - } - }, - "required": [ - "image" - ] - }, - "EmojiModifySchema": { - "type": "object", - "properties": { - "name": { + }, + "target_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "roles": { + "attachments": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": {}, + "additionalProperties": true } } - } - }, - "ForgotPasswordSchema": { - "type": "object", - "properties": { - "login": { - "type": "string" - }, - "captcha_key": { - "type": "string" - } }, "required": [ - "login" + "id", + "name", + "version" ] }, - "GreetRequestSchema": { + "SendableMessageComponentDataSchema": { "type": "object", "properties": { - "sticker_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowed_mentions": { - "$ref": "#/components/schemas/AllowedMentions" + "component_type": { + "enum": [ + 1, + 10, + 11, + 12, + 13, + 14, + 16, + 17, + 18, + 19, + 2, + 20, + 21, + 22, + 23, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "number" }, - "message_reference": { - "type": "object", - "properties": { - "message_id": { - "type": "string" - }, - "channel_id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "fail_if_not_exists": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "message_id" - ] - } - }, - "required": [ - "sticker_ids" - ] - }, - "GuildCreateSchema": { - "type": "object", - "properties": { - "name": { - "maxLength": 100, - "type": "string" + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, - "region": { + "custom_id": { "type": "string" }, - "icon": { - "type": "string", - "nullable": true - }, - "channels": { + "values": { "type": "array", "items": { - "$ref": "#/components/schemas/ChannelCreateSchema" - } - }, - "system_channel_id": { - "type": "string" - }, - "rules_channel_id": { - "type": "string" - }, - "guild_template_code": { - "type": "string" - }, - "staff_only": { - "type": "boolean" - } - } - }, - "GuildSubscriptionsBulkSchema": { - "type": "object", - "properties": { - "subscriptions": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GuildSubscriptionSchema" + "type": "string" } } }, "required": [ - "subscriptions" + "custom_id" ] }, - "GuildSubscriptionSchema": { + "SendableModalSubmitDataSchema": { "type": "object", "properties": { - "channels": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "activities": { - "type": "boolean" - }, - "threads": { - "type": "boolean" + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "typing": { - "const": true, - "type": "boolean" + "custom_id": { + "type": "string" }, - "members": { + "attachments": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/UploadAttachmentRequestSchema" } - }, - "member_updates": { - "type": "boolean" - }, - "thread_member_lists": { - "type": "array", - "items": {} - } - } - }, - "GuildTemplateCreateSchema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "icon": { - "type": "string", - "nullable": true } }, "required": [ - "name" + "custom_id", + "id" ] }, - "GuildUpdateSchema": { + "GuildProfileResponse": { "type": "object", "properties": { - "banner": { - "type": "string", - "nullable": true + "id": { + "type": "string" }, - "splash": { + "name": { + "type": "string" + }, + "icon_hash": { "type": "string", "nullable": true }, + "member_count": { + "type": "integer" + }, + "online_count": { + "type": "integer" + }, "description": { "type": "string" }, - "features": { + "brand_color_primary": { + "type": "string" + }, + "banner_hash": { + "type": "string", + "nullable": true + }, + "game_application_ids": { "type": "array", "items": { "type": "string" } }, - "verification_level": { - "type": "integer" - }, - "default_message_notifications": { - "type": "integer" - }, - "system_channel_flags": { - "type": "integer" - }, - "explicit_content_filter": { - "type": "integer" + "game_activity": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GameActivity" + } }, - "public_updates_channel_id": { - "type": "string" + "tag": { + "type": "string", + "nullable": true }, - "afk_timeout": { - "type": "integer" + "badge": { + "$ref": "#/components/schemas/GuildBadgeType" }, - "afk_channel_id": { + "badge_color_primary": { "type": "string" }, - "preferred_locale": { + "badge_color_secondary": { "type": "string" }, - "premium_progress_bar_enabled": { - "type": "boolean" - }, - "discovery_splash": { + "badge_hash": { "type": "string" }, - "safety_alerts_channel_id": { - "type": "string", - "nullable": true + "traits": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildTrait" + } }, - "name": { - "maxLength": 100, - "type": "string" + "features": { + "type": "array", + "items": { + "type": "string" + } }, - "region": { - "type": "string" + "visibility": { + "$ref": "#/components/schemas/GuildVisibilityLevel" }, - "icon": { + "custom_banner_hash": { "type": "string", "nullable": true }, - "system_channel_id": { - "type": "string" - }, - "rules_channel_id": { - "type": "string" - }, - "guild_template_code": { - "type": "string" + "premium_subscription_count": { + "type": "integer" }, - "staff_only": { - "type": "boolean" + "premium_tier": { + "type": "integer" } - } - }, - "GuildUpdateWelcomeScreenSchema": { - "type": "object", - "properties": { - "welcome_channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "channel_id": { - "type": "string" - }, - "description": { - "type": "string" - }, - "emoji_id": { - "type": "string" - }, - "emoji_name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "channel_id", - "description" - ] - } - }, - "enabled": { - "type": "boolean" - }, - "description": { - "type": "string" - } - } + }, + "required": [ + "badge", + "badge_color_primary", + "badge_color_secondary", + "badge_hash", + "banner_hash", + "brand_color_primary", + "custom_banner_hash", + "description", + "features", + "game_activity", + "game_application_ids", + "icon_hash", + "id", + "member_count", + "name", + "online_count", + "premium_subscription_count", + "premium_tier", + "tag", + "traits", + "visibility" + ] }, - "HubWaitlistSignupSchema": { + "GuildAvailableSchema": { "type": "object", "properties": { - "email": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "school": { - "type": "string" + "available": { + "type": "boolean" } }, "required": [ - "email", - "school" + "available", + "id" ] }, - "InviteCreateSchema": { + "StickersResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StickerResponse" + } + }, + "StickerResponse": { "type": "object", "properties": { - "target_user_id": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "target_type": { + "pack_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "validate": { + "name": { "type": "string" }, - "max_age": { - "type": "integer" + "description": { + "type": "string", + "nullable": true }, - "max_uses": { - "type": "integer" + "tags": { + "type": "string" }, - "temporary": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/StickerType" }, - "unique": { + "format_type": { + "$ref": "#/components/schemas/StickerFormatType" + }, + "available": { "type": "boolean" }, - "target_user": { + "guild_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "target_user_type": { - "type": "integer" + "user": { + "$ref": "#/components/schemas/PartialUser" }, - "flags": { - "type": "integer" - } - } - }, - "APIErrorResponse": { - "type": "object", - "properties": { - "code": { + "sort_value": { "type": "integer" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "_errors": { - "type": "array", - "items": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "code", - "message" - ] - } - } - }, - "additionalProperties": false, - "required": [ - "_errors" - ] - } } }, "required": [ - "code", - "errors", - "message" + "description", + "format_type", + "id", + "name", + "tags", + "type" ] }, - "CaptchaRequiredResponse": { + "CreateReportSchema": { "type": "object", "properties": { - "captcha_key": { + "version": { "type": "string" }, - "captcha_sitekey": { + "variant": { "type": "string" }, - "captcha_service": { + "name": { "type": "string" - } - }, - "required": [ - "captcha_key", - "captcha_service", - "captcha_sitekey" - ] - }, - "APIErrorOrCaptchaResponse": { - "anyOf": [ - { - "$ref": "#/components/schemas/APIErrorResponse" }, - { - "$ref": "#/components/schemas/CaptchaRequiredResponse" - } - ] - }, - "AccountStandingResponse": { - "type": "object", - "properties": { - "classifications": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Classification" - } + "language": { + "type": "string" }, - "guild_classifications": { + "breadcrumbs": { "type": "array", "items": { - "$ref": "#/components/schemas/GuildClassification" + "type": "integer" } }, - "account_standing": { + "elements": { "type": "object", - "properties": { - "state": { - "$ref": "#/components/schemas/AccountStandingState" + "additionalProperties": { + "type": "array", + "items": { + "type": "string" } - }, - "additionalProperties": false, - "required": [ - "state" - ] + } }, - "is_dsa_eligible": { - "type": "boolean" + "channel_id": { + "type": "string" }, - "username": { + "message_id": { "type": "string" }, - "discriminator": { + "guild_id": { "type": "string" }, - "is_appeal_eligible": { - "type": "boolean" + "stage_instance_id": { + "type": "string" }, - "appeal_eligibility": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AppealEligibility" - } - } - }, - "required": [ - "account_standing", - "appeal_eligibility", - "classifications", - "discriminator", - "guild_classifications", - "is_appeal_eligible", - "is_dsa_eligible", - "username" - ] - }, - "BackupCodesChallengeResponse": { - "type": "object", - "properties": { - "nonce": { + "guild_scheduled_event_id": { "type": "string" }, - "regenerate_nonce": { + "reported_user_id": { + "type": "string" + }, + "application_id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "widget_id": { "type": "string" } }, "required": [ - "nonce", - "regenerate_nonce" - ] - }, - "CollectiblesCategoriesResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CollectiblesCategoryItem" - } - }, - "CollectiblesMarketingResponse": { - "type": "object", - "properties": { - "marketings": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CollectiblesMarketingItem" - } - } - }, - "required": [ - "marketings" + "breadcrumbs", + "language", + "name", + "variant", + "version" ] }, - "CollectiblesShopResponse": { + "IdentifySchema": { "type": "object", "properties": { - "shop_blocks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AnyShopBlock" - } + "token": { + "type": "string" }, - "categories": { + "properties": { + "type": "object", + "properties": { + "os": { + "type": "string" + }, + "os_atch": { + "type": "string" + }, + "browser": { + "type": "string" + }, + "device": { + "type": "string" + }, + "$os": { + "type": "string" + }, + "$browser": { + "type": "string" + }, + "$device": { + "type": "string" + }, + "browser_user_agent": { + "type": "string" + }, + "browser_version": { + "type": "string" + }, + "os_version": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "referring_domain": { + "type": "string" + }, + "referrer_current": { + "type": "string" + }, + "referring_domain_current": { + "type": "string" + }, + "release_channel": { + "enum": [ + "canary", + "dev", + "ptb", + "stable" + ], + "type": "string" + }, + "client_build_number": { + "type": "integer" + }, + "client_event_source": { + "type": "string" + }, + "client_version": { + "type": "string" + }, + "system_locale": { + "type": "string" + } + }, + "additionalProperties": false + }, + "intents": { + "type": "number" + }, + "presence": { + "$ref": "#/components/schemas/ActivitySchema" + }, + "compress": { + "type": "boolean" + }, + "large_threshold": { + "type": "integer" + }, + "largeThreshold": { + "type": "integer" + }, + "shard": { + "minItems": 2, + "maxItems": 2, "type": "array", "items": { - "$ref": "#/components/schemas/CollectiblesCategoryItem" + "type": "number" } + }, + "guild_subscriptions": { + "type": "boolean" + }, + "capabilities": { + "type": "integer" + }, + "client_state": { + "type": "object", + "properties": { + "guild_hashes": {}, + "highest_last_message_id": { + "type": "integer" + }, + "read_state_version": { + "type": "integer" + }, + "user_guild_settings_version": { + "type": "integer" + }, + "user_settings_version": { + "type": "integer" + }, + "useruser_guild_settings_version": { + "type": "integer" + }, + "private_channels_version": { + "type": "integer" + }, + "guild_versions": {}, + "api_code_version": { + "type": "integer" + }, + "initial_guild_id": { + "type": "string" + } + }, + "additionalProperties": false + }, + "clientState": { + "type": "object", + "properties": { + "guildHashes": {}, + "highestLastMessageId": { + "type": "integer" + }, + "readStateVersion": { + "type": "integer" + }, + "userGuildSettingsVersion": { + "type": "integer" + }, + "useruserGuildSettingsVersion": { + "type": "integer" + }, + "guildVersions": {}, + "apiCodeVersion": { + "type": "integer" + }, + "initialGuildId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "v": { + "type": "integer" } }, "required": [ - "categories", - "shop_blocks" + "properties", + "token" ] }, - "DiscoverableGuildsResponse": { + "StreamCreateSchema": { "type": "object", "properties": { - "total": { - "type": "integer" + "type": { + "enum": [ + "call", + "guild" + ], + "type": "string" }, - "guilds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Guild" - } + "channel_id": { + "type": "string" }, - "offset": { - "type": "integer" + "guild_id": { + "type": "string" }, - "limit": { - "type": "integer" + "preferred_region": { + "type": "string" } }, "required": [ - "guilds", - "limit", - "offset", - "total" + "channel_id", + "type" ] }, - "DmMessagesResponseSchema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PartialMessage" - } - }, - "EmailDomainLookupResponse": { + "StreamDeleteSchema": { "type": "object", "properties": { - "guilds_info": { - "type": "array", - "items": { - "$ref": "#/components/schemas/HubGuild" - } - }, - "has_matching_guild": { - "type": "boolean" + "stream_key": { + "type": "string" } }, "required": [ - "guilds_info", - "has_matching_guild" + "stream_key" + ] + }, + "StreamWatchSchema": { + "type": "object", + "properties": { + "stream_key": { + "type": "string" + } + }, + "required": [ + "stream_key" + ] + }, + "APIErrorResponse": { + "type": "object", + "properties": { + "code": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "errors": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "_errors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "code": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "code", + "message" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "_errors" + ] + } + } + }, + "required": [ + "code", + "errors", + "message" + ] + }, + "CaptchaRequiredResponse": { + "type": "object", + "properties": { + "captcha_key": { + "type": "string" + }, + "captcha_sitekey": { + "type": "string" + }, + "captcha_service": { + "type": "string" + } + }, + "required": [ + "captcha_key", + "captcha_service", + "captcha_sitekey" + ] + }, + "APIErrorOrCaptchaResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/APIErrorResponse" + }, + { + "$ref": "#/components/schemas/CaptchaRequiredResponse" + } + ] + }, + "AccountStandingResponse": { + "type": "object", + "properties": { + "classifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Classification" + } + }, + "guild_classifications": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildClassification" + } + }, + "account_standing": { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/AccountStandingState" + } + }, + "additionalProperties": false, + "required": [ + "state" + ] + }, + "is_dsa_eligible": { + "type": "boolean" + }, + "username": { + "type": "string" + }, + "discriminator": { + "type": "string" + }, + "is_appeal_eligible": { + "type": "boolean" + }, + "appeal_eligibility": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppealEligibility" + } + } + }, + "required": [ + "account_standing", + "appeal_eligibility", + "classifications", + "discriminator", + "guild_classifications", + "is_appeal_eligible", + "is_dsa_eligible", + "username" + ] + }, + "BackupCodesChallengeResponse": { + "type": "object", + "properties": { + "nonce": { + "type": "string" + }, + "regenerate_nonce": { + "type": "string" + } + }, + "required": [ + "nonce", + "regenerate_nonce" + ] + }, + "CollectiblesCategoriesResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectiblesCategoryItem" + } + }, + "CollectiblesMarketingResponse": { + "type": "object", + "properties": { + "marketings": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CollectiblesMarketingItem" + } + } + }, + "required": [ + "marketings" + ] + }, + "CollectiblesShopResponse": { + "type": "object", + "properties": { + "shop_blocks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnyShopBlock" + } + }, + "categories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectiblesCategoryItem" + } + } + }, + "required": [ + "categories", + "shop_blocks" + ] + }, + "DiscoverableGuildsResponse": { + "type": "object", + "properties": { + "total": { + "type": "integer" + }, + "guilds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Guild" + } + }, + "offset": { + "type": "integer" + }, + "limit": { + "type": "integer" + } + }, + "required": [ + "guilds", + "limit", + "offset", + "total" + ] + }, + "DmMessagesResponseSchema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PartialMessage" + } + }, + "EmailDomainLookupResponse": { + "type": "object", + "properties": { + "guilds_info": { + "type": "array", + "items": { + "$ref": "#/components/schemas/HubGuild" + } + }, + "has_matching_guild": { + "type": "boolean" + } + }, + "required": [ + "guilds_info", + "has_matching_guild" ] }, "EmailDomainLookupVerifyCodeResponse": { @@ -1809,6 +1797,10 @@ "region": { "type": "string" }, + "banner": { + "type": "string", + "nullable": true + }, "icon": { "type": "string", "nullable": true @@ -1825,11 +1817,7 @@ "staff_only": { "type": "boolean" }, - "banner": { - "type": "string", - "nullable": true - }, - "splash": { + "splash": { "type": "string", "nullable": true }, @@ -1975,97 +1963,6 @@ "valid_rules_channel" ] }, - "MessageSnapshot": { - "type": "object", - "properties": { - "message": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "edited_timestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PartialUser" - } - }, - "mention_roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicAttachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } - }, - "type": { - "$ref": "#/components/schemas/MessageType" - }, - "flags": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MessageComponent" - } - }, - "resolved": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } - } - }, - "additionalProperties": false, - "required": [ - "content", - "embeds", - "flags", - "mention_roles", - "mentions", - "timestamp", - "type" - ] - } - }, - "required": [ - "message" - ] - }, "GuildMessagesSearchResponse": { "type": "object", "properties": { @@ -2736,775 +2633,868 @@ "token" ] }, - "ApplicationCommandCreateSchema": { + "APIGuild": { "type": "object", "properties": { - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" - }, "name": { "type": "string" }, - "name_localizations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { + "region": { "type": "string" }, - "description_localizations": { + "insert": { "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": false }, - "options": { + "id": { + "type": "string" + }, + "roles": { "type": "array", "items": { - "$ref": "#/components/schemas/ApplicationCommandOption" + "$ref": "#/components/schemas/Role" } }, - "default_member_permissions": { + "banner": { "type": "string" }, - "dm_permission": { - "type": "boolean" + "icon": { + "type": "string" + }, + "parent": { + "type": "string" + }, + "owner_id": { + "type": "string" }, "nsfw": { "type": "boolean" }, - "integration_types": { + "invites": { "type": "array", "items": { - "$ref": "#/components/schemas/ApplicationIntegrationType" + "$ref": "#/components/schemas/Invite" } }, - "contexts": { + "voice_states": { "type": "array", "items": { - "$ref": "#/components/schemas/InteractionContextType" + "$ref": "#/components/schemas/VoiceState" } }, - "handler": { - "enum": [ - 1, - 2, - 3 - ], - "type": "number" - } - }, - "required": [ - "name" - ] - }, - "BulkApplicationCommandCreateSchema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ApplicationCommandCreateSchema" - } - }, - "InteractionCallbackSchema": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType" - }, - "data": {} - }, - "required": [ - "data", - "type" - ] - }, - "InteractionCallbacksSchema": { - "anyOf": [ - { - "$ref": "#/components/schemas/PongCallback" + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Webhook" + } }, - { - "$ref": "#/components/schemas/AckCallback" + "member_count": { + "type": "integer" }, - { - "$ref": "#/components/schemas/MessageCallback" + "get_annotations": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/components/schemas/MessageWSourceCallback" + "clean_data": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/components/schemas/MessageDWSourceCallback" + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } }, - { - "$ref": "#/components/schemas/MessageUpdateCallback" + "system_channel_id": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/MessageDUpdateCallback" - } - ] - }, - "InteractionCreateSchema": { - "type": "object", - "properties": { - "version": { - "type": "integer" + "rules_channel_id": { + "type": "string", + "nullable": true }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "splash": { "type": "string" }, - "application_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "description": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/InteractionType" + "features": { + "type": "array", + "items": { + "type": "string" + } }, - "token": { - "type": "string" + "verification_level": { + "type": "integer" }, - "data": { - "type": "object", - "properties": {}, - "additionalProperties": true + "default_message_notifications": { + "type": "integer" }, - "guild": { - "$ref": "#/components/schemas/InteractionGuild" + "system_channel_flags": { + "type": "integer" }, - "guild_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "explicit_content_filter": { + "type": "integer" + }, + "public_updates_channel_id": { + "type": "string", + "nullable": true + }, + "afk_timeout": { + "type": "integer" + }, + "afk_channel_id": { + "type": "string", + "nullable": true + }, + "preferred_locale": { "type": "string" }, - "guild_locale": { + "premium_progress_bar_enabled": { + "type": "boolean" + }, + "discovery_splash": { "type": "string" }, - "channel": { - "$ref": "#/components/schemas/Channel" + "bans": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Ban" + } }, - "channel_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "primary_category_id": { "type": "string" }, - "member": { - "$ref": "#/components/schemas/PublicMember" + "large": { + "type": "boolean" }, - "user": { - "$ref": "#/components/schemas/PublicUser" + "max_members": { + "type": "integer" }, - "locale": { - "type": "string" + "max_presences": { + "type": "integer" }, - "message": { - "$ref": "#/components/schemas/Message" + "max_video_channel_users": { + "type": "integer" }, - "app_permissions": { - "type": "string" + "presence_count": { + "type": "integer" }, - "entitlements": { + "members": { "type": "array", "items": { - "type": "object", - "properties": {}, - "additionalProperties": true + "$ref": "#/components/schemas/Member" } }, - "entitlement_sku_ids": { + "template_id": { + "type": "string" + }, + "emojis": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/Emoji" } }, - "authorizing_integration_owners": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "type": "string" - } + "stickers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sticker" } }, - "context": { + "mfa_level": { "type": "integer" }, - "attachment_size_limit": { + "premium_subscription_count": { "type": "integer" - } - }, - "required": [ - "app_permissions", - "application_id", - "attachment_size_limit", - "id", - "token", - "type", - "version" - ] - }, - "ApplicationCreateSchema": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "team_id": { + "premium_tier": { + "type": "integer" + }, + "unavailable": { + "type": "boolean" + }, + "welcome_screen": { + "$ref": "#/components/schemas/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." + }, + "widget_channel_id": { "type": "string" + }, + "widget_enabled": { + "type": "boolean" + }, + "nsfw_level": { + "type": "integer" + }, + "permissions": { + "type": "integer" + }, + "channel_ordering": { + "type": "array", + "items": { + "type": "string" + } + }, + "discovery_weight": { + "type": "integer" + }, + "discovery_excluded": { + "type": "boolean" } }, "required": [ - "name" + "bans", + "channel_ordering", + "channels", + "clean_data", + "discovery_excluded", + "discovery_weight", + "emojis", + "features", + "get_annotations", + "id", + "insert", + "invites", + "members", + "name", + "nsfw", + "premium_progress_bar_enabled", + "public_updates_channel_id", + "roles", + "stickers", + "unavailable", + "voice_states", + "webhooks", + "welcome_screen", + "widget_enabled" ] }, - "ApplicationModifySchema": { + "APIPublicUser": { "type": "object", "properties": { - "description": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "icon": { + "premium_since": { + "type": "string", + "format": "date-time" + }, + "avatar": { "type": "string" }, - "cover_image": { + "banner": { "type": "string" }, - "interactions_endpoint_url": { + "bio": { "type": "string" }, - "max_participants": { - "type": "integer", - "nullable": true + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "name": { + "pronouns": { "type": "string" }, - "privacy_policy_url": { + "username": { "type": "string" }, - "role_connections_verification_url": { + "discriminator": { "type": "string" }, - "tags": { + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { + "type": "boolean" + }, + "premium_type": { + "type": "integer" + }, + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "terms_of_service_url": { - "type": "string" - }, - "bot_public": { - "type": "boolean" - }, - "bot_require_code_grant": { - "type": "boolean" + "avatar_decoration_data": { + "$ref": "#/components/schemas/AvatarDecorationData" }, - "flags": { - "type": "integer" + "display_name_styles": { + "$ref": "#/components/schemas/DisplayNameStyle" }, - "custom_install_url": { - "type": "string" + "collectibles": { + "$ref": "#/components/schemas/Collectibles" }, - "guild_id": { - "type": "string" + "primary_guild": { + "$ref": "#/components/schemas/PrimaryGuild" } - } + }, + "required": [ + "bio", + "bot", + "discriminator", + "id", + "premium_since", + "premium_type", + "public_flags", + "username" + ] }, - "SendableApplicationCommandDataSchema": { + "APIPrivateUser": { "type": "object", "properties": { + "email": { + "type": "string" + }, "id": { "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" + "flags": { + "type": "integer" }, - "name": { - "type": "string" + "verified": { + "type": "boolean" }, - "version": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "premium_since": { + "type": "string", + "format": "date-time" + }, + "avatar": { "type": "string" }, - "application_command": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ApplicationCommandOption" - } + "banner": { + "type": "string" }, - "target_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "bio": { "type": "string" }, - "attachments": { + "theme_colors": { "type": "array", "items": { - "type": "object", - "properties": {}, - "additionalProperties": true + "type": "integer" } - } - }, - "required": [ - "id", - "name", - "version" - ] - }, - "SendableMessageComponentDataSchema": { - "type": "object", - "properties": { - "component_type": { - "enum": [ - 1, - 10, - 11, - 12, - 13, - 14, - 16, - 17, - 18, - 19, - 2, - 20, - 21, - 22, - 23, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "type": "number" }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" + "pronouns": { + "type": "string" }, - "custom_id": { + "username": { "type": "string" }, - "values": { + "discriminator": { + "type": "string" + }, + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { + "type": "boolean" + }, + "premium_type": { + "type": "integer" + }, + "badge_ids": { "type": "array", "items": { "type": "string" } - } - }, - "required": [ - "custom_id" - ] - }, - "SendableModalSubmitDataSchema": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" }, - "custom_id": { + "avatar_decoration_data": { + "$ref": "#/components/schemas/AvatarDecorationData" + }, + "display_name_styles": { + "$ref": "#/components/schemas/DisplayNameStyle" + }, + "collectibles": { + "$ref": "#/components/schemas/Collectibles" + }, + "primary_guild": { + "$ref": "#/components/schemas/PrimaryGuild" + }, + "mfa_enabled": { + "type": "boolean" + }, + "phone": { "type": "string" }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UploadAttachmentRequestSchema" - } + "nsfw_allowed": { + "type": "boolean" + }, + "premium": { + "type": "boolean" + }, + "purchased_flags": { + "type": "integer" + }, + "premium_usage_flags": { + "type": "integer" + }, + "disabled": { + "type": "boolean" + }, + "settings": { + "$ref": "#/components/schemas/UserSettingsSchema" } }, "required": [ - "custom_id", - "id" + "bio", + "bot", + "disabled", + "discriminator", + "flags", + "id", + "mfa_enabled", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "username", + "verified" ] }, - "InstanceUserDeleteSchema": { - "$ref": "#/components/schemas/InstanceUserDeleteSchemaContent" + "APIGuildArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/APIGuild" + } }, - "UserSettingsUpdateSchema": { + "APIDMChannelArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DmChannelDTO" + } + }, + "APIBackupCodeArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BackupCode" + } + }, + "UserUpdateResponse": { "type": "object", "properties": { - "afk_timeout": { - "type": "integer" + "newToken": { + "type": "string" }, - "allow_accessibility_detection": { - "type": "boolean" + "email": { + "type": "string" }, - "animate_emoji": { - "type": "boolean" + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "animate_stickers": { + "flags": { "type": "integer" }, - "contact_sync_enabled": { + "verified": { "type": "boolean" }, - "convert_emoticons": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/components/schemas/CustomStatus" - }, - { - "type": "null" - } - ] + "avatar": { + "type": "string" }, - "default_guilds_restricted": { - "type": "boolean" + "banner": { + "type": "string" }, - "detect_platform_accounts": { - "type": "boolean" + "bio": { + "type": "string" }, - "developer_mode": { - "type": "boolean" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "disable_games_tab": { - "type": "boolean" + "pronouns": { + "type": "string" }, - "enable_tts_command": { - "type": "boolean" + "username": { + "type": "string" }, - "explicit_content_filter": { - "type": "integer" + "discriminator": { + "type": "string" }, - "friend_discovery_flags": { + "public_flags": { "type": "integer" }, - "friend_source_flags": { - "$ref": "#/components/schemas/FriendSourceFlags" + "accent_color": { + "type": "integer" }, - "gateway_connected": { + "bot": { "type": "boolean" }, - "gif_auto_play": { - "type": "boolean" + "premium_type": { + "type": "integer" }, - "guild_folders": { + "badge_ids": { "type": "array", "items": { - "$ref": "#/components/schemas/GuildFolder" + "type": "string" } }, - "guild_positions": { - "type": "array", - "items": { - "type": "string" - } + "avatar_decoration_data": { + "$ref": "#/components/schemas/AvatarDecorationData" }, - "inline_attachment_media": { - "type": "boolean" + "display_name_styles": { + "$ref": "#/components/schemas/DisplayNameStyle" }, - "inline_embed_media": { + "collectibles": { + "$ref": "#/components/schemas/Collectibles" + }, + "primary_guild": { + "$ref": "#/components/schemas/PrimaryGuild" + }, + "mfa_enabled": { "type": "boolean" }, - "locale": { + "phone": { "type": "string" }, - "message_display_compact": { + "nsfw_allowed": { "type": "boolean" }, - "native_phone_integration_enabled": { + "premium": { "type": "boolean" }, - "render_embeds": { - "type": "boolean" + "purchased_flags": { + "type": "integer" }, - "render_reactions": { + "premium_usage_flags": { + "type": "integer" + }, + "disabled": { "type": "boolean" }, - "restricted_guilds": { - "type": "array", - "items": { - "type": "string" - } + "settings": { + "$ref": "#/components/schemas/UserSettingsSchema" + } + }, + "required": [ + "bio", + "bot", + "disabled", + "discriminator", + "flags", + "id", + "mfa_enabled", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "username", + "verified" + ] + }, + "ApplicationDetectableResponse": { + "type": "array", + "items": {} + }, + "ApplicationEntitlementsResponse": { + "type": "array", + "items": {} + }, + "ApplicationSkusResponse": { + "type": "array", + "items": {} + }, + "APIApplicationArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Application" + } + }, + "APIInviteArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Invite" + } + }, + "APIMessageArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Message" + } + }, + "APIWebhookArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Webhook" + } + }, + "APIDiscoveryCategoryArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Categories" + } + }, + "APIGeneralConfiguration": { + "type": "object", + "properties": { + "instanceName": { + "type": "string", + "default": "Spacebar Instance" }, - "show_current_game": { - "type": "boolean" + "serverName": { + "type": "string", + "default": null, + "nullable": true }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], - "type": "string" + "instanceDescription": { + "type": "string", + "default": "This is a Spacebar instance made in the pre-release days", + "nullable": true }, - "stream_notifications_enabled": { - "type": "boolean" + "frontPage": { + "type": "string", + "default": null, + "nullable": true }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "tosPage": { + "type": "string", + "default": null, + "nullable": true }, - "timezone_offset": { - "type": "integer" + "correspondenceEmail": { + "type": "string", + "default": null, + "nullable": true }, - "view_nsfw_guilds": { - "type": "boolean" + "correspondenceUserID": { + "type": "string", + "default": null, + "nullable": true + }, + "image": { + "type": "string", + "default": null, + "nullable": true + }, + "instanceId": { + "type": "string" + }, + "autoCreateBotUsers": { + "type": "boolean", + "default": false } + }, + "required": [ + "autoCreateBotUsers", + "correspondenceEmail", + "correspondenceUserID", + "frontPage", + "image", + "instanceDescription", + "instanceId", + "instanceName", + "serverName", + "tosPage" + ] + }, + "APIChannelArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" } }, - "UserSettingsSchema": { + "APIMemberArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Member" + } + }, + "APIPublicMember": { "type": "object", "properties": { - "afk_timeout": { - "type": "integer" - }, - "allow_accessibility_detection": { - "type": "boolean" + "id": { + "type": "string" }, - "animate_emoji": { - "type": "boolean" + "guild_id": { + "type": "string" }, - "animate_stickers": { + "flags": { "type": "integer" }, - "contact_sync_enabled": { - "type": "boolean" - }, - "convert_emoticons": { - "type": "boolean" - }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/components/schemas/CustomStatus" - }, - { - "type": "null" - } - ] - }, - "default_guilds_restricted": { - "type": "boolean" + "nick": { + "type": "string" }, - "detect_platform_accounts": { - "type": "boolean" + "joined_at": { + "type": "string", + "format": "date-time" }, - "developer_mode": { + "pending": { "type": "boolean" }, - "disable_games_tab": { + "deaf": { "type": "boolean" }, - "enable_tts_command": { + "mute": { "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" - }, - "friend_discovery_flags": { + "premium_since": { "type": "integer" }, - "friend_source_flags": { - "$ref": "#/components/schemas/FriendSourceFlags" + "avatar": { + "type": "string" }, - "gateway_connected": { - "type": "boolean" + "banner": { + "type": "string" }, - "gif_auto_play": { - "type": "boolean" + "bio": { + "type": "string" }, - "guild_folders": { + "theme_colors": { "type": "array", "items": { - "$ref": "#/components/schemas/GuildFolder" + "type": "integer" } }, - "guild_positions": { - "type": "array", - "items": { - "type": "string" - } + "pronouns": { + "type": "string" }, - "inline_attachment_media": { - "type": "boolean" - }, - "inline_embed_media": { - "type": "boolean" - }, - "locale": { - "type": "string" - }, - "message_display_compact": { - "type": "boolean" - }, - "native_phone_integration_enabled": { - "type": "boolean" - }, - "render_embeds": { - "type": "boolean" + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "render_reactions": { - "type": "boolean" + "user": { + "$ref": "#/components/schemas/PublicUser" }, - "restricted_guilds": { + "roles": { "type": "array", "items": { "type": "string" } - }, - "show_current_game": { - "type": "boolean" - }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], - "type": "string" - }, - "stream_notifications_enabled": { - "type": "boolean" - }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" - }, - "timezone_offset": { - "type": "integer" - }, - "view_nsfw_guilds": { - "type": "boolean" } }, "required": [ - "afk_timeout", - "allow_accessibility_detection", - "animate_emoji", - "animate_stickers", - "contact_sync_enabled", - "convert_emoticons", - "custom_status", - "default_guilds_restricted", - "detect_platform_accounts", - "developer_mode", - "disable_games_tab", - "enable_tts_command", - "explicit_content_filter", - "friend_discovery_flags", - "friend_source_flags", - "gateway_connected", - "gif_auto_play", - "guild_folders", - "guild_positions", - "inline_attachment_media", - "inline_embed_media", - "locale", - "message_display_compact", - "native_phone_integration_enabled", - "render_embeds", - "render_reactions", - "restricted_guilds", - "show_current_game", - "status", - "stream_notifications_enabled", - "theme", - "timezone_offset", - "view_nsfw_guilds" + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", + "id", + "joined_at", + "mute", + "pending", + "roles", + "user" ] }, - "GuildProfileResponse": { + "APIGuildWithJoinedAt": { "type": "object", "properties": { + "joined_at": { + "type": "string" + }, "id": { "type": "string" }, "name": { "type": "string" }, - "icon_hash": { - "type": "string", - "nullable": true + "large": { + "type": "boolean" + }, + "max_members": { + "type": "integer" + }, + "max_presences": { + "type": "integer" + }, + "max_video_channel_users": { + "type": "integer" }, "member_count": { "type": "integer" }, - "online_count": { + "presence_count": { "type": "integer" }, - "description": { + "mfa_level": { + "type": "integer" + }, + "owner_id": { "type": "string" }, - "brand_color_primary": { + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" + }, + "welcome_screen": { + "$ref": "#/components/schemas/GuildWelcomeScreen" + }, + "widget_channel_id": { "type": "string" }, - "banner_hash": { - "type": "string", - "nullable": true + "widget_enabled": { + "type": "boolean" }, - "game_application_ids": { - "type": "array", - "items": { - "type": "string" - } + "nsfw_level": { + "type": "integer" }, - "game_activity": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GameActivity" - } + "nsfw": { + "type": "boolean" }, - "tag": { + "parent": { + "type": "string" + }, + "region": { + "type": "string" + }, + "banner": { "type": "string", "nullable": true }, - "badge": { - "$ref": "#/components/schemas/GuildBadgeType" + "icon": { + "type": "string", + "nullable": true }, - "badge_color_primary": { + "system_channel_id": { "type": "string" }, - "badge_color_secondary": { + "rules_channel_id": { "type": "string" }, - "badge_hash": { + "guild_template_code": { "type": "string" }, - "traits": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GuildTrait" - } + "staff_only": { + "type": "boolean" + }, + "splash": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string" }, "features": { "type": "array", @@ -3512,1368 +3502,1329 @@ "type": "string" } }, - "visibility": { - "$ref": "#/components/schemas/GuildVisibilityLevel" + "verification_level": { + "type": "integer" }, - "custom_banner_hash": { - "type": "string", - "nullable": true + "default_message_notifications": { + "type": "integer" }, - "premium_subscription_count": { + "system_channel_flags": { "type": "integer" }, - "premium_tier": { + "explicit_content_filter": { + "type": "integer" + }, + "public_updates_channel_id": { + "type": "string" + }, + "afk_timeout": { "type": "integer" + }, + "afk_channel_id": { + "type": "string" + }, + "preferred_locale": { + "type": "string" + }, + "premium_progress_bar_enabled": { + "type": "boolean" + }, + "discovery_splash": { + "type": "string" + }, + "safety_alerts_channel_id": { + "type": "string", + "nullable": true } }, "required": [ - "badge", - "badge_color_primary", - "badge_color_secondary", - "badge_hash", - "banner_hash", - "brand_color_primary", - "custom_banner_hash", - "description", - "features", - "game_activity", - "game_application_ids", - "icon_hash", "id", - "member_count", + "joined_at", "name", - "online_count", - "premium_subscription_count", - "premium_tier", - "tag", - "traits", - "visibility" + "nsfw", + "welcome_screen", + "widget_enabled" ] }, - "GuildAvailableSchema": { - "type": "object", + "APIRoleArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } + }, + "APITemplateArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Template" + } + }, + "APIGuildVoiceRegion": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildVoiceRegion" + } + }, + "APILimitsConfiguration": { + "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" + "user": { + "$ref": "#/components/schemas/UserLimits" }, - "available": { - "type": "boolean" + "guild": { + "$ref": "#/components/schemas/GuildLimits" + }, + "message": { + "$ref": "#/components/schemas/MessageLimits" + }, + "channel": { + "$ref": "#/components/schemas/ChannelLimits" + }, + "rate": { + "$ref": "#/components/schemas/RateLimits" + }, + "absoluteRate": { + "$ref": "#/components/schemas/GlobalRateLimits" } }, "required": [ - "available", - "id" + "absoluteRate", + "channel", + "guild", + "message", + "rate", + "user" ] }, - "StickersResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StickerResponse" - } + "APIConnectionsConfiguration": { + "type": "object" }, - "StickerResponse": { + "UpdatesResponse": { "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "name": { "type": "string" }, - "pack_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "pub_date": { "type": "string" }, - "name": { + "url": { "type": "string" }, - "description": { + "notes": { "type": "string", "nullable": true - }, - "tags": { + } + }, + "required": [ + "name", + "notes", + "pub_date", + "url" + ] + }, + "UploadAttachmentResponseSchema": { + "type": "object", + "properties": { + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadAttachmentResponse" + } + } + }, + "required": [ + "attachments" + ] + }, + "UploadAttachmentResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/StickerType" - }, - "format_type": { - "$ref": "#/components/schemas/StickerFormatType" - }, - "available": { - "type": "boolean" - }, - "guild_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "upload_url": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/PartialUser" + "upload_filename": { + "type": "string" }, - "sort_value": { - "type": "integer" + "original_content_type": { + "type": "string" } }, "required": [ - "description", - "format_type", - "id", - "name", - "tags", - "type" + "upload_filename", + "upload_url" ] }, - "CreateReportSchema": { + "UserNoteResponse": { "type": "object", "properties": { - "version": { + "note": { "type": "string" }, - "variant": { + "note_user_id": { "type": "string" }, - "name": { + "user_id": { "type": "string" + } + }, + "required": [ + "note", + "note_user_id", + "user_id" + ] + }, + "UserProfileResponse": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/PublicUser" }, - "language": { - "type": "string" + "connected_accounts": { + "$ref": "#/components/schemas/PublicConnectedAccount" }, - "breadcrumbs": { + "premium_guild_since": { + "type": "string", + "format": "date-time" + }, + "premium_since": { + "type": "string", + "format": "date-time" + }, + "mutual_guilds": { "type": "array", "items": { - "type": "integer" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "nick": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] } }, - "elements": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "premium_type": { + "type": "integer" }, - "channel_id": { - "type": "string" + "profile_themes_experiment_bucket": { + "type": "integer" }, - "message_id": { - "type": "string" + "user_profile": { + "$ref": "#/components/schemas/UserProfile" }, - "guild_id": { - "type": "string" + "guild_member": { + "$ref": "#/components/schemas/PublicMember" }, - "stage_instance_id": { - "type": "string" + "guild_member_profile": { + "$ref": "#/components/schemas/PublicMemberProfile" }, - "guild_scheduled_event_id": { + "badges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Badge" + } + } + }, + "required": [ + "badges", + "connected_accounts", + "mutual_guilds", + "premium_type", + "profile_themes_experiment_bucket", + "user", + "user_profile" + ] + }, + "UserRelationResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "reported_user_id": { + "username": { "type": "string" }, - "application_id": { + "discriminator": { "type": "string" }, - "user_id": { + "avatar": { "type": "string" }, - "widget_id": { - "type": "string" + "public_flags": { + "type": "integer" } }, "required": [ - "breadcrumbs", - "language", - "name", - "variant", - "version" + "discriminator", + "id", + "public_flags", + "username" ] }, - "IdentifySchema": { + "UserRelationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserRelationResponse" + } + }, + "UserRelationshipsResponse": { "type": "object", "properties": { - "token": { + "id": { "type": "string" }, - "properties": { - "type": "object", - "properties": { - "os": { - "type": "string" - }, - "os_atch": { - "type": "string" - }, - "browser": { - "type": "string" - }, - "device": { - "type": "string" - }, - "$os": { - "type": "string" - }, - "$browser": { - "type": "string" - }, - "$device": { - "type": "string" - }, - "browser_user_agent": { - "type": "string" - }, - "browser_version": { - "type": "string" - }, - "os_version": { - "type": "string" - }, - "referrer": { - "type": "string" - }, - "referring_domain": { - "type": "string" - }, - "referrer_current": { - "type": "string" - }, - "referring_domain_current": { - "type": "string" - }, - "release_channel": { - "enum": [ - "canary", - "dev", - "ptb", - "stable" - ], - "type": "string" - }, - "client_build_number": { - "type": "integer" - }, - "client_event_source": { - "type": "string" - }, - "client_version": { - "type": "string" - }, - "system_locale": { - "type": "string" - } - }, - "additionalProperties": false - }, - "intents": { - "type": "number" - }, - "presence": { - "$ref": "#/components/schemas/ActivitySchema" - }, - "compress": { - "type": "boolean" - }, - "large_threshold": { - "type": "integer" - }, - "largeThreshold": { - "type": "integer" - }, - "shard": { - "minItems": 2, - "maxItems": 2, - "type": "array", - "items": { - "type": "number" - } - }, - "guild_subscriptions": { - "type": "boolean" - }, - "capabilities": { - "type": "integer" - }, - "client_state": { - "type": "object", - "properties": { - "guild_hashes": {}, - "highest_last_message_id": { - "type": "integer" - }, - "read_state_version": { - "type": "integer" - }, - "user_guild_settings_version": { - "type": "integer" - }, - "user_settings_version": { - "type": "integer" - }, - "useruser_guild_settings_version": { - "type": "integer" - }, - "private_channels_version": { - "type": "integer" - }, - "guild_versions": {}, - "api_code_version": { - "type": "integer" - }, - "initial_guild_id": { - "type": "string" - } - }, - "additionalProperties": false + "type": { + "$ref": "#/components/schemas/RelationshipType" }, - "clientState": { - "type": "object", - "properties": { - "guildHashes": {}, - "highestLastMessageId": { - "type": "integer" - }, - "readStateVersion": { - "type": "integer" - }, - "userGuildSettingsVersion": { - "type": "integer" - }, - "useruserGuildSettingsVersion": { - "type": "integer" - }, - "guildVersions": {}, - "apiCodeVersion": { - "type": "integer" - }, - "initialGuildId": { - "type": "string" - } - }, - "additionalProperties": false + "nickname": { + "type": "null" }, - "v": { - "type": "integer" + "user": { + "$ref": "#/components/schemas/PublicUser" } }, "required": [ - "properties", - "token" + "id", + "nickname", + "type", + "user" ] }, - "StreamCreateSchema": { + "WebAuthnCreateResponse": { "type": "object", "properties": { - "type": { - "enum": [ - "call", - "guild" - ], - "type": "string" - }, - "channel_id": { - "type": "string" - }, - "guild_id": { + "name": { "type": "string" }, - "preferred_region": { + "id": { "type": "string" } }, "required": [ - "channel_id", - "type" + "id", + "name" ] }, - "StreamDeleteSchema": { + "WebhookCreateResponse": { "type": "object", "properties": { - "stream_key": { - "type": "string" + "user": { + "$ref": "#/components/schemas/User" + }, + "hook": { + "$ref": "#/components/schemas/Webhook" } }, "required": [ - "stream_key" + "hook", + "user" ] }, - "StreamWatchSchema": { + "ActivitySchema": { "type": "object", "properties": { - "stream_key": { - "type": "string" + "afk": { + "type": "boolean" + }, + "status": { + "$ref": "#/components/schemas/Status" + }, + "activities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Activity" + } + }, + "since": { + "type": "integer" } }, "required": [ - "stream_key" + "status" ] }, - "VoiceIdentifySchema": { + "ApplicationAuthorizeSchema": { "type": "object", "properties": { - "server_id": { - "type": "string" + "authorize": { + "type": "boolean" }, - "user_id": { + "guild_id": { "type": "string" }, - "session_id": { + "permissions": { "type": "string" }, - "channel_id": { + "captcha_key": { "type": "string" }, - "token": { + "code": { + "minLength": 6, + "maxLength": 6, "type": "string" + } + }, + "required": [ + "authorize", + "guild_id", + "permissions" + ] + }, + "AutomodMentionSpamRuleSchema": { + "type": "object", + "properties": { + "mention_total_limit": { + "type": "integer" }, - "video": { + "mention_raid_protection_enabled": { "type": "boolean" - }, - "streams": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], - "type": "string" - }, - "rid": { - "type": "string" - }, - "quality": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "quality", - "rid", - "type" - ] - } - }, - "max_secure_frames_version": { - "type": "integer" - }, - "max_dave_protocol_version": { - "type": "integer" } }, "required": [ - "server_id", - "session_id", - "token", - "user_id" + "mention_raid_protection_enabled", + "mention_total_limit" ] }, - "VoiceVideoSchema": { + "AutomodSuspectedSpamRuleSchema": { + "type": "object" + }, + "AutomodCommonlyFlaggedWordsRuleSchema": { "type": "object", "properties": { - "audio_ssrc": { - "type": "integer" - }, - "video_ssrc": { - "type": "integer" + "allow_list": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "rtx_ssrc": { - "type": "integer" + "presets": { + "type": "array", + "items": [ + { + "type": "integer" + } + ], + "minItems": 1, + "maxItems": 1 + } + }, + "required": [ + "allow_list", + "presets" + ] + }, + "AutomodCustomWordsRuleSchema": { + "type": "object", + "properties": { + "allow_list": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "user_id": { - "type": "string" + "keyword_filter": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "streams": { + "regex_patterns": { "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], - "type": "string" - }, - "rid": { - "type": "string" - }, - "ssrc": { - "type": "integer" - }, - "active": { - "type": "boolean" - }, - "quality": { - "type": "integer" - }, - "rtx_ssrc": { - "type": "integer" - }, - "max_bitrate": { - "type": "integer" - }, - "max_framerate": { - "type": "integer" - }, - "max_resolution": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "width": { - "type": "integer" - }, - "height": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "height", - "type", - "width" - ] - } - }, - "additionalProperties": false, - "required": [ - "rid", - "type" - ] - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 } }, "required": [ - "audio_ssrc", - "video_ssrc" + "allow_list", + "keyword_filter", + "regex_patterns" ] }, - "APIGuild": { + "AutomodRuleSchema": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "region": { + "creator_id": { "type": "string" }, - "insert": { - "type": "object", - "additionalProperties": false + "enabled": { + "type": "boolean" }, - "id": { - "type": "string" + "event_type": { + "type": "integer" }, - "channels": { + "exempt_channels": { "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "members": { + "exempt_roles": { "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - } - }, - "icon": { - "type": "string" - }, - "system_channel_id": { - "type": "string", - "nullable": true - }, - "rules_channel_id": { - "type": "string", - "nullable": true - }, - "banner": { - "type": "string" + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "splash": { + "guild_id": { "type": "string" }, - "description": { + "name": { "type": "string" }, - "features": { - "type": "array", - "items": { - "type": "string" - } - }, - "verification_level": { - "type": "integer" - }, - "default_message_notifications": { - "type": "integer" - }, - "system_channel_flags": { - "type": "integer" - }, - "explicit_content_filter": { + "position": { "type": "integer" }, - "public_updates_channel_id": { - "type": "string", - "nullable": true - }, - "afk_timeout": { + "trigger_type": { "type": "integer" }, - "afk_channel_id": { - "type": "string", - "nullable": true - }, - "preferred_locale": { - "type": "string" - }, - "premium_progress_bar_enabled": { - "type": "boolean" - }, - "discovery_splash": { - "type": "string" + "trigger_metadata": { + "anyOf": [ + { + "$ref": "#/components/schemas/AutomodMentionSpamRuleSchema" + }, + { + "$ref": "#/components/schemas/AutomodSuspectedSpamRuleSchema" + }, + { + "$ref": "#/components/schemas/AutomodCommonlyFlaggedWordsRuleSchema" + }, + { + "$ref": "#/components/schemas/AutomodCustomWordsRuleSchema" + } + ] + } + }, + "required": [ + "creator_id", + "enabled", + "event_type", + "exempt_channels", + "exempt_roles", + "guild_id", + "name", + "position", + "trigger_metadata", + "trigger_type" + ] + }, + "BackupCodesChallengeSchema": { + "type": "object", + "properties": { + "password": { + "minLength": 1, + "maxLength": 72, + "type": "string" + } + }, + "required": [ + "password" + ] + }, + "BanCreateSchema": { + "type": "object", + "properties": { + "delete_message_seconds": { + "type": "integer" }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } + "delete_message_days": { + "type": "integer" }, - "parent": { + "reason": { + "type": "string" + } + } + }, + "BanModeratorSchema": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "owner_id": { + "user_id": { "type": "string" }, - "nsfw": { - "type": "boolean" + "guild_id": { + "type": "string" }, - "invites": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Invite" - } + "executor_id": { + "type": "string" }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceState" - } + "reason": { + "type": "string" + } + }, + "required": [ + "executor_id", + "guild_id", + "id", + "user_id" + ] + }, + "BanRegistrySchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "webhooks": { + "user_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "executor_id": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "executor_id", + "guild_id", + "id", + "user_id" + ] + }, + "BotModifySchema": { + "type": "object", + "properties": { + "avatar": { + "type": "string" + }, + "username": { + "type": "string" + }, + "banner": { + "type": "string" + } + } + }, + "BulkBanSchema": { + "type": "object", + "properties": { + "user_ids": { "type": "array", "items": { - "$ref": "#/components/schemas/Webhook" + "type": "string" } }, - "member_count": { + "delete_message_seconds": { "type": "integer" - }, - "get_annotations": { - "type": "object", - "additionalProperties": false - }, - "clean_data": { - "type": "object", - "additionalProperties": false - }, - "bans": { + } + }, + "required": [ + "user_ids" + ] + }, + "BulkDeleteSchema": { + "type": "object", + "properties": { + "messages": { "type": "array", "items": { - "$ref": "#/components/schemas/Ban" + "type": "string" } + } + }, + "required": [ + "messages" + ] + }, + "ChannelModifySchema": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "primary_category_id": { + "type": { + "enum": [ + 0, + 1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 2, + 255, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "number" + }, + "topic": { "type": "string" }, - "large": { - "type": "boolean" + "icon": { + "type": "string", + "nullable": true }, - "max_members": { + "bitrate": { "type": "integer" }, - "max_presences": { + "user_limit": { "type": "integer" }, - "max_video_channel_users": { + "rate_limit_per_user": { "type": "integer" }, - "presence_count": { + "position": { "type": "integer" }, - "template_id": { - "type": "string" + "invitable": { + "type": "boolean" }, - "emojis": { + "permission_overwrites": { "type": "array", "items": { - "$ref": "#/components/schemas/Emoji" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/ChannelPermissionOverwriteType" + }, + "allow": { + "type": "string" + }, + "deny": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "allow", + "deny", + "id", + "type" + ] } }, - "stickers": { + "applied_tags": { "type": "array", "items": { - "$ref": "#/components/schemas/Sticker" + "type": "string" } }, - "mfa_level": { - "type": "integer" + "parent_id": { + "type": "string" }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" + "id": { + "type": "string" }, - "unavailable": { + "nsfw": { "type": "boolean" }, - "welcome_screen": { - "$ref": "#/components/schemas/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." - }, - "widget_channel_id": { + "rtc_region": { "type": "string" }, - "widget_enabled": { - "type": "boolean" + "default_auto_archive_duration": { + "type": "integer" }, - "nsfw_level": { + "default_reaction_emoji": { + "type": "string", + "nullable": true + }, + "flags": { "type": "integer" }, - "permissions": { + "default_thread_rate_limit_per_user": { "type": "integer" }, - "channel_ordering": { + "video_quality_mode": { + "type": "integer" + }, + "auto_archive_duration": { + "type": "integer" + }, + "archived": { + "type": "boolean" + }, + "locked": { + "type": "boolean" + }, + "available_tags": { "type": "array", "items": { - "type": "string" + "additionalProperties": false, + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "moderated": { + "type": [ + "null", + "boolean" + ] + }, + "emoji_id": { + "type": [ + "null", + "string" + ] + }, + "emoji_name": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] } + } + } + }, + "ChannelPermissionOverwriteSchema": { + "type": "object", + "properties": { + "allow": { + "type": "string" }, - "discovery_weight": { - "type": "integer" + "deny": { + "type": "string" }, - "discovery_excluded": { - "type": "boolean" + "id": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/ChannelPermissionOverwriteType" } }, "required": [ - "bans", - "channel_ordering", - "channels", - "clean_data", - "discovery_excluded", - "discovery_weight", - "emojis", - "features", - "get_annotations", + "allow", + "deny", "id", - "insert", - "invites", - "members", - "name", - "nsfw", - "premium_progress_bar_enabled", - "public_updates_channel_id", - "roles", - "stickers", - "unavailable", - "voice_states", - "webhooks", - "welcome_screen", - "widget_enabled" + "type" ] }, - "APIPublicUser": { + "ChannelReorderSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "lock_permissions": { + "type": "boolean" + }, + "parent_id": { + "type": [ + "null", + "string" + ] + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } + }, + "CodesVerificationSchema": { "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "key": { "type": "string" }, - "banner": { + "nonce": { "type": "string" }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { + "regenerate": { + "type": "boolean" + } + }, + "required": [ + "key", + "nonce" + ] + }, + "ConnectedAccountSchema": { + "type": "object", + "properties": { + "external_id": { "type": "string" }, - "bio": { + "user_id": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } + "token_data": { + "$ref": "#/components/schemas/ConnectedAccountTokenData" }, - "pronouns": { - "type": "string" + "friend_sync": { + "type": "boolean" }, - "username": { + "name": { "type": "string" }, - "discriminator": { - "type": "string" + "revoked": { + "type": "boolean" }, - "public_flags": { + "show_activity": { "type": "integer" }, - "accent_color": { - "type": "integer" + "type": { + "type": "string" }, - "bot": { + "verified": { "type": "boolean" }, - "premium_type": { + "visibility": { "type": "integer" }, - "badge_ids": { + "integrations": { "type": "array", "items": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/components/schemas/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/components/schemas/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/components/schemas/Collectibles" + "metadata_": {}, + "metadata_visibility": { + "type": "integer" }, - "primary_guild": { - "$ref": "#/components/schemas/PrimaryGuild" + "two_way_link": { + "type": "boolean" } }, "required": [ - "bio", - "bot", - "discriminator", - "id", - "premium_since", - "premium_type", - "public_flags", - "username" + "external_id", + "name", + "type", + "user_id" ] }, - "APIPrivateUser": { + "ConnectedAccountCommonOAuthTokenResponse": { "type": "object", "properties": { - "email": { - "type": "string" - }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "access_token": { "type": "string" }, - "flags": { - "type": "integer" - }, - "banner": { + "token_type": { "type": "string" }, - "verified": { - "type": "boolean" - }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { + "scope": { "type": "string" }, - "bio": { + "refresh_token": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { + "expires_in": { + "type": "integer" + } + }, + "required": [ + "access_token", + "scope", + "token_type" + ] + }, + "ConnectionCallbackSchema": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "username": { + "state": { "type": "string" }, - "discriminator": { - "type": "string" + "insecure": { + "type": "boolean" }, - "public_flags": { - "type": "integer" + "friend_sync": { + "type": "boolean" }, - "accent_color": { - "type": "integer" + "openid_params": {} + }, + "required": [ + "friend_sync", + "insecure", + "state" + ] + }, + "ConnectionUpdateSchema": { + "type": "object", + "properties": { + "visibility": { + "type": "boolean" }, - "bot": { + "show_activity": { "type": "boolean" }, - "premium_type": { - "type": "integer" + "metadata_visibility": { + "type": "boolean" + } + } + }, + "DmChannelCreateSchema": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "badge_ids": { + "recipients": { "type": "array", "items": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/components/schemas/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/components/schemas/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/components/schemas/Collectibles" - }, - "primary_guild": { - "$ref": "#/components/schemas/PrimaryGuild" - }, - "mfa_enabled": { - "type": "boolean" - }, - "phone": { + "recipient_id": { "type": "string" }, - "nsfw_allowed": { - "type": "boolean" - }, - "premium": { + "access_tokens": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "EmailDomainLookupSchema": { + "type": "object", + "properties": { + "allow_multiple_guilds": { "type": "boolean" }, - "purchased_flags": { - "type": "integer" - }, - "premium_usage_flags": { - "type": "integer" + "email": { + "type": "string" }, - "disabled": { + "use_verification_code": { "type": "boolean" }, - "settings": { - "$ref": "#/components/schemas/UserSettingsSchema" + "guild_id": { + "type": "string" } }, "required": [ - "bio", - "bot", - "disabled", - "discriminator", - "flags", - "id", - "mfa_enabled", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "username", - "verified" + "allow_multiple_guilds", + "email", + "use_verification_code" ] }, - "APIGuildArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/APIGuild" - } - }, - "APIDMChannelArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DmChannelDTO" - } - }, - "APIBackupCodeArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BackupCode" - } - }, - "UserUpdateResponse": { + "EmailDomainLookupVerifyCodeSchema": { "type": "object", "properties": { - "newToken": { - "type": "string" - }, "email": { "type": "string" }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "guild_id": { "type": "string" }, - "flags": { - "type": "integer" - }, - "banner": { + "code": { "type": "string" - }, - "verified": { - "type": "boolean" - }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { + } + }, + "required": [ + "code", + "email", + "guild_id" + ] + }, + "EmojiCreateSchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "bio": { + "image": { "type": "string" }, - "theme_colors": { + "require_colons": { + "type": "boolean", + "nullable": true + }, + "roles": { "type": "array", "items": { - "type": "integer" + "type": "string" } - }, - "pronouns": { + } + }, + "required": [ + "image" + ] + }, + "EmojiModifySchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "username": { + "roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ForgotPasswordSchema": { + "type": "object", + "properties": { + "login": { "type": "string" }, - "discriminator": { + "captcha_key": { "type": "string" - }, - "public_flags": { - "type": "integer" - }, - "accent_color": { - "type": "integer" - }, - "bot": { - "type": "boolean" - }, - "premium_type": { - "type": "integer" - }, - "badge_ids": { + } + }, + "required": [ + "login" + ] + }, + "GreetRequestSchema": { + "type": "object", + "properties": { + "sticker_ids": { "type": "array", "items": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/components/schemas/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/components/schemas/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/components/schemas/Collectibles" - }, - "primary_guild": { - "$ref": "#/components/schemas/PrimaryGuild" - }, - "mfa_enabled": { - "type": "boolean" - }, - "phone": { - "type": "string" + "allowed_mentions": { + "$ref": "#/components/schemas/AllowedMentions" }, - "nsfw_allowed": { - "type": "boolean" - }, - "premium": { - "type": "boolean" - }, - "purchased_flags": { - "type": "integer" - }, - "premium_usage_flags": { - "type": "integer" - }, - "disabled": { - "type": "boolean" - }, - "settings": { - "$ref": "#/components/schemas/UserSettingsSchema" + "message_reference": { + "type": "object", + "properties": { + "message_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "fail_if_not_exists": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "message_id" + ] } }, "required": [ - "bio", - "bot", - "disabled", - "discriminator", - "flags", - "id", - "mfa_enabled", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "username", - "verified" + "sticker_ids" ] }, - "ApplicationDetectableResponse": { - "type": "array", - "items": {} - }, - "ApplicationEntitlementsResponse": { - "type": "array", - "items": {} - }, - "ApplicationSkusResponse": { - "type": "array", - "items": {} - }, - "APIApplicationArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Application" - } - }, - "APIInviteArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Invite" - } - }, - "APIMessageArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Message" - } - }, - "APIWebhookArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - }, - "APIDiscoveryCategoryArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Categories" - } - }, - "APIGeneralConfiguration": { + "GuildCreateSchema": { "type": "object", "properties": { - "instanceName": { + "name": { + "maxLength": 100, "type": "string" }, - "serverName": { - "type": "string", - "nullable": true - }, - "instanceDescription": { - "type": "string", - "nullable": true - }, - "frontPage": { - "type": "string", - "nullable": true + "region": { + "type": "string" }, - "tosPage": { + "icon": { "type": "string", "nullable": true }, - "correspondenceEmail": { - "type": "string", - "nullable": true + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ChannelCreateSchema" + } }, - "correspondenceUserID": { - "type": "string", - "nullable": true + "system_channel_id": { + "type": "string" }, - "image": { - "type": "string", - "nullable": true + "rules_channel_id": { + "type": "string" }, - "instanceId": { + "guild_template_code": { "type": "string" }, - "autoCreateBotUsers": { + "staff_only": { "type": "boolean" } + } + }, + "GuildSubscriptionsBulkSchema": { + "type": "object", + "properties": { + "subscriptions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GuildSubscriptionSchema" + } + } }, "required": [ - "autoCreateBotUsers", - "correspondenceEmail", - "correspondenceUserID", - "frontPage", - "image", - "instanceDescription", - "instanceId", - "instanceName", - "serverName", - "tosPage" + "subscriptions" ] }, - "APIChannelArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } - }, - "APIMemberArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - } - }, - "APIPublicMember": { + "GuildSubscriptionSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { - "type": "string" - }, - "nick": { - "type": "string" + "channels": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer" + } + } + } }, - "joined_at": { - "type": "string", - "format": "date-time" + "members": { + "type": "array", + "items": { + "type": "string" + } }, - "pending": { + "activities": { "type": "boolean" }, - "deaf": { + "threads": { "type": "boolean" }, - "mute": { + "typing": { + "const": true, "type": "boolean" }, - "premium_since": { - "type": "integer" + "member_updates": { + "type": "boolean" }, - "avatar": { + "thread_member_lists": { + "type": "array", + "items": {} + } + } + }, + "GuildTemplateCreateSchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "bio": { + "icon": { + "type": "string", + "nullable": true + } + }, + "required": [ + "name" + ] + }, + "GuildUpdateSchema": { + "type": "object", + "properties": { + "banner": { + "type": "string", + "nullable": true + }, + "splash": { + "type": "string", + "nullable": true + }, + "description": { "type": "string" }, - "theme_colors": { + "features": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "pronouns": { - "type": "string" - }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "user": { - "$ref": "#/components/schemas/PublicUser" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", - "id", - "joined_at", - "mute", - "pending", - "roles", - "user" - ] - }, - "APIGuildWithJoinedAt": { - "type": "object", - "properties": { - "joined_at": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "large": { - "type": "boolean" - }, - "max_members": { - "type": "integer" - }, - "max_presences": { - "type": "integer" - }, - "max_video_channel_users": { + "verification_level": { "type": "integer" }, - "member_count": { + "default_message_notifications": { "type": "integer" }, - "presence_count": { + "system_channel_flags": { "type": "integer" }, - "mfa_level": { + "explicit_content_filter": { "type": "integer" }, - "owner_id": { + "public_updates_channel_id": { "type": "string" }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { + "afk_timeout": { "type": "integer" }, - "welcome_screen": { - "$ref": "#/components/schemas/GuildWelcomeScreen" + "afk_channel_id": { + "type": "string" }, - "widget_channel_id": { + "preferred_locale": { "type": "string" }, - "widget_enabled": { + "premium_progress_bar_enabled": { "type": "boolean" }, - "nsfw_level": { - "type": "integer" + "discovery_splash": { + "type": "string" }, - "nsfw": { - "type": "boolean" + "safety_alerts_channel_id": { + "type": "string", + "nullable": true }, - "parent": { + "name": { + "maxLength": 100, "type": "string" }, "region": { @@ -4894,594 +4845,636 @@ }, "staff_only": { "type": "boolean" - }, - "banner": { - "type": "string", - "nullable": true - }, - "splash": { - "type": "string", - "nullable": true - }, - "description": { - "type": "string" - }, - "features": { + } + } + }, + "GuildUpdateWelcomeScreenSchema": { + "type": "object", + "properties": { + "welcome_channels": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "channel_id": { + "type": "string" + }, + "description": { + "type": "string" + }, + "emoji_id": { + "type": "string" + }, + "emoji_name": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "channel_id", + "description" + ] } }, - "verification_level": { - "type": "integer" + "enabled": { + "type": "boolean" }, - "default_message_notifications": { - "type": "integer" + "description": { + "type": "string" + } + } + }, + "HubWaitlistSignupSchema": { + "type": "object", + "properties": { + "email": { + "type": "string" }, - "system_channel_flags": { - "type": "integer" + "school": { + "type": "string" + } + }, + "required": [ + "email", + "school" + ] + }, + "InviteCreateSchema": { + "type": "object", + "properties": { + "target_user_id": { + "type": "string" }, - "explicit_content_filter": { - "type": "integer" + "target_type": { + "type": "string" }, - "public_updates_channel_id": { + "validate": { "type": "string" }, - "afk_timeout": { + "max_age": { "type": "integer" }, - "afk_channel_id": { - "type": "string" + "max_uses": { + "type": "integer" }, - "preferred_locale": { - "type": "string" + "temporary": { + "type": "boolean" }, - "premium_progress_bar_enabled": { + "unique": { "type": "boolean" }, - "discovery_splash": { + "target_user": { "type": "string" }, - "safety_alerts_channel_id": { - "type": "string", - "nullable": true + "target_user_type": { + "type": "integer" + }, + "flags": { + "type": "integer" } - }, - "required": [ - "id", - "joined_at", - "name", - "nsfw", - "welcome_screen", - "widget_enabled" - ] - }, - "APIRoleArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" } }, - "APITemplateArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Template" - } - }, - "APIGuildVoiceRegion": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GuildVoiceRegion" - } - }, - "APILimitsConfiguration": { + "MFAResponse": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/UserLimits" - }, - "guild": { - "$ref": "#/components/schemas/GuildLimits" - }, - "message": { - "$ref": "#/components/schemas/MessageLimits" + "ticket": { + "type": "string" }, - "channel": { - "$ref": "#/components/schemas/ChannelLimits" + "mfa": { + "type": "boolean", + "const": true }, - "rate": { - "$ref": "#/components/schemas/RateLimits" + "sms": { + "type": "boolean", + "const": false }, - "absoluteRate": { - "$ref": "#/components/schemas/GlobalRateLimits" + "token": { + "type": "null" } }, "required": [ - "absoluteRate", - "channel", - "guild", - "message", - "rate", - "user" + "mfa", + "sms", + "ticket", + "token" ] }, - "APIConnectionsConfiguration": { - "type": "object" - }, - "UpdatesResponse": { + "WebAuthnResponse": { "type": "object", "properties": { - "name": { + "webauthn": { "type": "string" }, - "pub_date": { + "ticket": { "type": "string" }, - "url": { - "type": "string" + "mfa": { + "type": "boolean", + "const": true }, - "notes": { - "type": "string", - "nullable": true + "sms": { + "type": "boolean", + "const": false + }, + "token": { + "type": "null" } }, "required": [ - "name", - "notes", - "pub_date", - "url" + "mfa", + "sms", + "ticket", + "token", + "webauthn" ] }, - "UploadAttachmentResponseSchema": { - "type": "object", - "properties": { - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UploadAttachmentResponse" - } + "LoginResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/TokenResponse" + }, + { + "$ref": "#/components/schemas/MFAResponse" + }, + { + "$ref": "#/components/schemas/WebAuthnResponse" } - }, - "required": [ - "attachments" ] }, - "UploadAttachmentResponse": { + "LoginSchema": { "type": "object", "properties": { - "id": { + "login": { "type": "string" }, - "upload_url": { + "password": { + "minLength": 1, + "maxLength": 72, "type": "string" }, - "upload_filename": { + "undelete": { + "type": "boolean" + }, + "captcha_key": { "type": "string" }, - "original_content_type": { + "login_source": { + "type": "string" + }, + "gift_code_sku_id": { "type": "string" } }, "required": [ - "upload_filename", - "upload_url" + "login", + "password" ] }, - "UserNoteResponse": { + "MemberChangeProfileSchema": { "type": "object", "properties": { - "note": { + "banner": { + "type": "string", + "nullable": true + }, + "nick": { "type": "string" }, - "note_user_id": { + "bio": { "type": "string" }, - "user_id": { + "pronouns": { + "type": "string" + }, + "theme_colors": { + "items": [ + { + "type": "integer" + }, + { + "type": "integer" + } + ], + "type": "array", + "minItems": 2, + "maxItems": 2 + } + } + }, + "MemberChangeSchema": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "nick": { + "type": "string" + }, + "avatar": { + "type": "string", + "nullable": true + }, + "bio": { + "type": "string" + }, + "communication_disabled_until": { + "type": "string", + "nullable": true + } + } + }, + "MemberNickChangeSchema": { + "type": "object", + "properties": { + "nick": { "type": "string" } }, "required": [ - "note", - "note_user_id", - "user_id" + "nick" ] }, - "UserProfileResponse": { + "MessageAcknowledgeSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/PublicUser" + "manual": { + "type": "boolean" }, - "connected_accounts": { - "$ref": "#/components/schemas/PublicConnectedAccount" + "mention_count": { + "type": "integer" }, - "premium_guild_since": { - "type": "string", - "format": "date-time" + "flags": { + "enum": [ + 0, + 1, + 2, + 4 + ], + "type": "number" }, - "premium_since": { - "type": "string", - "format": "date-time" + "last_viewed": { + "type": "integer" }, - "mutual_guilds": { + "token": { + "type": "string" + } + } + }, + "AckBulkSchema": { + "type": "object", + "properties": { + "read_states": { "type": "array", "items": { "type": "object", "properties": { - "id": { + "channel_id": { "type": "string" }, - "nick": { + "message_id": { "type": "string" + }, + "read_state_type": { + "$ref": "#/components/schemas/ReadStateType" } }, "additionalProperties": false, "required": [ - "id" + "channel_id", + "message_id", + "read_state_type" ] } - }, - "premium_type": { - "type": "integer" - }, - "profile_themes_experiment_bucket": { - "type": "integer" - }, - "user_profile": { - "$ref": "#/components/schemas/UserProfile" - }, - "guild_member": { - "$ref": "#/components/schemas/PublicMember" - }, - "guild_member_profile": { - "$ref": "#/components/schemas/PublicMemberProfile" - }, - "badges": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Badge" - } } }, "required": [ - "badges", - "connected_accounts", - "mutual_guilds", - "premium_type", - "profile_themes_experiment_bucket", - "user", - "user_profile" + "read_states" ] }, - "UserRelationResponse": { + "AcknowledgeDeleteSchema": { "type": "object", "properties": { - "id": { + "read_state_type": { + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "type": "number" + }, + "version": { + "type": "integer" + } + } + }, + "MessageCreateSchema": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "content": { "type": "string" }, - "username": { + "mobile_network_type": { "type": "string" }, - "discriminator": { + "nonce": { "type": "string" }, - "avatar": { + "channel_id": { "type": "string" }, - "public_flags": { + "tts": { + "type": "boolean" + }, + "flags": { "type": "integer" - } - }, - "required": [ - "discriminator", - "id", - "public_flags", - "username" - ] - }, - "UserRelationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserRelationResponse" - } - }, - "UserRelationshipsResponse": { - "type": "object", - "properties": { - "id": { + }, + "embeds": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/Embed" + } + }, + { + "type": "null" + } + ] + }, + "embed": { + "anyOf": [ + { + "$ref": "#/components/schemas/Embed" + }, + { + "type": "null" + } + ] + }, + "allowed_mentions": { + "anyOf": [ + { + "$ref": "#/components/schemas/AllowedMentions" + }, + { + "type": "null" + } + ] + }, + "message_reference": { + "anyOf": [ + { + "$ref": "#/components/schemas/MessageReference" + }, + { + "type": "null" + } + ] + }, + "payload_json": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/RelationshipType" + "file": { + "type": "object", + "properties": { + "filename": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "filename" + ] }, - "nickname": { - "type": "null" + "attachments": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "filename": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "filename", + "id" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "filename": { + "type": "string" + }, + "uploaded_filename": { + "type": "string" + }, + "original_content_type": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "filename", + "uploaded_filename" + ] + } + ] + } }, - "user": { - "$ref": "#/components/schemas/PublicUser" - } - }, - "required": [ - "id", - "nickname", - "type", - "user" - ] - }, - "WebAuthnCreateResponse": { - "type": "object", - "properties": { - "name": { + "sticker_ids": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "components": { + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseMessageComponents" + } + }, + { + "type": "null" + } + ] + }, + "poll": { + "$ref": "#/components/schemas/PollCreationSchema" + }, + "enforce_nonce": { + "type": "boolean" + }, + "applied_tags": { + "type": "array", + "items": { + "type": "string" + } + }, + "thread_name": { "type": "string" }, - "id": { + "avatar_url": { "type": "string" - } - }, - "required": [ - "id", - "name" - ] - }, - "WebhookCreateResponse": { - "type": "object", - "properties": { - "user": { - "$ref": "#/components/schemas/User" }, - "hook": { - "$ref": "#/components/schemas/Webhook" + "interaction": { + "$ref": "#/components/schemas/MessageInteractionSchema" + }, + "interaction_metadata": { + "$ref": "#/components/schemas/MessageInteractionSchema" } - }, - "required": [ - "hook", - "user" - ] + } }, - "MFAResponse": { + "PollCreationSchema": { "type": "object", "properties": { - "ticket": { - "type": "string" + "question": { + "$ref": "#/components/schemas/PollMedia" }, - "mfa": { - "type": "boolean", - "const": true + "answers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PollAnswer" + } }, - "sms": { - "type": "boolean", - "const": false + "duration": { + "type": "integer" }, - "token": { - "type": "null" + "allow_multiselect": { + "type": "boolean" + }, + "layout_type": { + "type": "integer" } }, "required": [ - "mfa", - "sms", - "ticket", - "token" + "answers", + "question" ] }, - "WebAuthnResponse": { + "MessageInteractionSchema": { "type": "object", "properties": { - "webauthn": { + "id": { "type": "string" }, - "ticket": { + "type": { + "$ref": "#/components/schemas/InteractionType" + }, + "name": { "type": "string" }, - "mfa": { - "type": "boolean", - "const": true + "command_type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, - "sms": { - "type": "boolean", - "const": false + "ephemerality_reason": { + "type": "integer" }, - "token": { - "type": "null" - } - }, - "required": [ - "mfa", - "sms", - "ticket", - "token", - "webauthn" - ] - }, - "LoginResponse": { - "anyOf": [ - { - "$ref": "#/components/schemas/TokenResponse" - }, - { - "$ref": "#/components/schemas/MFAResponse" - }, - { - "$ref": "#/components/schemas/WebAuthnResponse" - } - ] - }, - "LoginSchema": { - "type": "object", - "properties": { - "login": { - "type": "string" + "user": { + "$ref": "#/components/schemas/PublicUser" }, - "password": { - "minLength": 1, - "maxLength": 72, + "user_id": { "type": "string" }, - "undelete": { - "type": "boolean" + "authorizing_integration_owners": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - "captcha_key": { + "original_response_message_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "login_source": { + "interacted_message_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "gift_code_sku_id": { + "triggering_interaction_metadata": { + "$ref": "#/components/schemas/MessageInteractionSchema" + }, + "target_user": { + "$ref": "#/components/schemas/PublicUser" + }, + "target_message_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" } }, "required": [ - "login", - "password" + "id", + "name", + "type" ] }, - "MemberChangeProfileSchema": { + "MessageEditSchema": { "type": "object", "properties": { - "banner": { - "type": "string", - "nullable": true - }, - "nick": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "pronouns": { - "type": "string" - }, - "theme_colors": { - "items": [ + "embed": { + "anyOf": [ { - "type": "integer" + "$ref": "#/components/schemas/Embed" }, { - "type": "integer" + "type": "null" } - ], - "type": "array", - "minItems": 2, - "maxItems": 2 - } - } - }, - "MemberChangeSchema": { - "type": "object", - "properties": { - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "nick": { - "type": "string" - }, - "avatar": { - "type": "string", - "nullable": true - }, - "bio": { - "type": "string" - }, - "communication_disabled_until": { - "type": "string", - "nullable": true - } - } - }, - "MemberNickChangeSchema": { - "type": "object", - "properties": { - "nick": { - "type": "string" - } - }, - "required": [ - "nick" - ] - }, - "MessageAcknowledgeSchema": { - "type": "object", - "properties": { - "manual": { - "type": "boolean" + ] }, - "mention_count": { - "type": "integer" + "file": { + "type": "object", + "properties": { + "filename": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "filename" + ] }, "flags": { - "enum": [ - 0, - 1, - 2, - 4 - ], - "type": "number" - }, - "last_viewed": { "type": "integer" }, - "token": { - "type": "string" - } - } - }, - "AckBulkSchema": { - "type": "object", - "properties": { - "read_states": { + "applied_tags": { "type": "array", "items": { - "type": "object", - "properties": { - "channel_id": { - "type": "string" - }, - "message_id": { - "type": "string" - }, - "read_state_type": { - "$ref": "#/components/schemas/ReadStateType" - } - }, - "additionalProperties": false, - "required": [ - "channel_id", - "message_id", - "read_state_type" - ] + "type": "string" } - } - }, - "required": [ - "read_states" - ] - }, - "AcknowledgeDeleteSchema": { - "type": "object", - "properties": { - "read_state_type": { - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5 - ], - "type": "number" }, - "version": { - "type": "integer" - } - } - }, - "MessageCreateSchema": { - "type": "object", - "properties": { - "type": { - "type": "integer" + "channel_id": { + "type": "string" }, "content": { "type": "string" @@ -5492,15 +5485,9 @@ "nonce": { "type": "string" }, - "channel_id": { - "type": "string" - }, "tts": { "type": "boolean" }, - "flags": { - "type": "integer" - }, "embeds": { "anyOf": [ { @@ -5514,16 +5501,6 @@ } ] }, - "embed": { - "anyOf": [ - { - "$ref": "#/components/schemas/Embed" - }, - { - "type": "null" - } - ] - }, "allowed_mentions": { "anyOf": [ { @@ -5547,18 +5524,6 @@ "payload_json": { "type": "string" }, - "file": { - "type": "object", - "properties": { - "filename": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename" - ] - }, "attachments": { "type": "array", "items": { @@ -5636,12 +5601,6 @@ "enforce_nonce": { "type": "boolean" }, - "applied_tags": { - "type": "array", - "items": { - "type": "string" - } - }, "thread_name": { "type": "string" }, @@ -5656,600 +5615,337 @@ } } }, - "PollCreationSchema": { + "MfaCodesSchema": { "type": "object", "properties": { - "question": { - "$ref": "#/components/schemas/PollMedia" - }, - "answers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PollAnswer" - } - }, - "duration": { - "type": "integer" + "password": { + "minLength": 1, + "maxLength": 72, + "type": "string" }, - "allow_multiselect": { + "regenerate": { "type": "boolean" - }, - "layout_type": { - "type": "integer" } }, "required": [ - "answers", - "question" + "password" ] }, - "MessageInteractionSchema": { + "ModifyGuildStickerSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/InteractionType" - }, "name": { + "minLength": 2, + "maxLength": 30, "type": "string" }, - "command_type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" - }, - "ephemerality_reason": { - "type": "integer" - }, - "user": { - "$ref": "#/components/schemas/PublicUser" - }, - "user_id": { + "description": { + "maxLength": 100, "type": "string" }, - "authorizing_integration_owners": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "original_response_message_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "tags": { + "maxLength": 200, "type": "string" - }, - "interacted_message_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + } + }, + "required": [ + "name", + "tags" + ] + }, + "PasswordResetSchema": { + "type": "object", + "properties": { + "password": { + "minLength": 1, + "maxLength": 72, "type": "string" }, - "triggering_interaction_metadata": { - "$ref": "#/components/schemas/MessageInteractionSchema" - }, - "target_user": { - "$ref": "#/components/schemas/PublicUser" - }, - "target_message_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "token": { "type": "string" } }, "required": [ - "id", - "name", - "type" + "password", + "token" ] }, - "MessageEditSchema": { + "PreloadMessagesRequestSchema": { "type": "object", "properties": { - "embed": { - "anyOf": [ - { - "$ref": "#/components/schemas/Embed" - }, - { - "type": "null" - } - ] - }, - "file": { - "type": "object", - "properties": { - "filename": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename" - ] + "channels": { + "type": "array", + "items": { + "type": "string" + } }, - "flags": { + "channel_ids": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PruneSchema": { + "type": "object", + "properties": { + "days": { "type": "integer" + } + }, + "required": [ + "days" + ] + }, + "PurgeSchema": { + "type": "object", + "properties": { + "before": { + "type": "string" }, - "applied_tags": { + "after": { + "type": "string" + } + }, + "required": [ + "after", + "before" + ] + }, + "RefreshUrlsRequestSchema": { + "type": "object", + "properties": { + "attachment_urls": { "type": "array", "items": { "type": "string" } + } + }, + "required": [ + "attachment_urls" + ] + }, + "RegisterSchema": { + "type": "object", + "properties": { + "username": { + "minLength": 2, + "type": "string" }, - "channel_id": { + "password": { + "minLength": 1, + "maxLength": 72, "type": "string" }, - "content": { + "consent": { + "type": "boolean" + }, + "email": { + "format": "email", "type": "string" }, - "mobile_network_type": { + "fingerprint": { "type": "string" }, - "nonce": { + "invite": { "type": "string" }, - "tts": { + "date_of_birth": { + "type": "string" + }, + "gift_code_sku_id": { + "type": "string" + }, + "captcha_key": { + "type": "string" + }, + "promotional_email_opt_in": { "type": "boolean" }, - "embeds": { + "unique_username_registration": { + "type": "boolean" + }, + "global_name": { + "type": "string" + } + }, + "required": [ + "consent", + "username" + ] + }, + "RelationshipPostSchema": { + "type": "object", + "properties": { + "discriminator": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": [ + "discriminator", + "username" + ] + }, + "RelationshipPatchSchema": { + "type": "object", + "properties": { + "nickname": { + "type": "string" + } + } + }, + "RelationshipPutSchema": { + "type": "object", + "properties": { + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "confirm_stranger_request": { + "type": "boolean" + } + } + }, + "RequestGuildMembersSchema": { + "type": "object", + "properties": { + "guild_id": { "anyOf": [ { "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, { - "type": "null" - } - ] - }, - "allowed_mentions": { - "anyOf": [ - { - "$ref": "#/components/schemas/AllowedMentions" - }, - { - "type": "null" - } - ] - }, - "message_reference": { - "anyOf": [ - { - "$ref": "#/components/schemas/MessageReference" - }, - { - "type": "null" + "type": "string" } ] }, - "payload_json": { + "query": { "type": "string" }, - "attachments": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "id" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "uploaded_filename": { - "type": "string" - }, - "original_content_type": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "uploaded_filename" - ] - } - ] - } + "limit": { + "type": "integer" }, - "sticker_ids": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "presences": { + "type": "boolean" }, - "components": { + "user_ids": { "anyOf": [ { "type": "array", "items": { - "$ref": "#/components/schemas/BaseMessageComponents" + "type": "string" } }, { - "type": "null" + "type": "string" } ] }, - "poll": { - "$ref": "#/components/schemas/PollCreationSchema" - }, - "enforce_nonce": { - "type": "boolean" - }, - "thread_name": { - "type": "string" - }, - "avatar_url": { - "type": "string" - }, - "interaction": { - "$ref": "#/components/schemas/MessageInteractionSchema" - }, - "interaction_metadata": { - "$ref": "#/components/schemas/MessageInteractionSchema" - } - } - }, - "MfaCodesSchema": { - "type": "object", - "properties": { - "password": { - "minLength": 1, - "maxLength": 72, + "nonce": { "type": "string" - }, - "regenerate": { - "type": "boolean" } }, "required": [ - "password" + "guild_id" ] }, - "ModifyGuildStickerSchema": { + "RoleModifySchema": { "type": "object", "properties": { "name": { - "minLength": 2, - "maxLength": 30, "type": "string" }, - "description": { - "maxLength": 100, + "permissions": { "type": "string" }, - "tags": { - "maxLength": 200, - "type": "string" - } - }, - "required": [ - "name", - "tags" - ] - }, - "PasswordResetSchema": { - "type": "object", - "properties": { - "password": { - "minLength": 1, - "maxLength": 72, + "color": { + "type": "integer" + }, + "hoist": { + "type": "boolean" + }, + "mentionable": { + "type": "boolean" + }, + "position": { + "type": "integer" + }, + "icon": { "type": "string" }, - "token": { + "unicode_emoji": { "type": "string" + }, + "colors": { + "type": "object", + "properties": { + "primary_color": { + "type": "integer" + }, + "secondary_color": { + "type": [ + "null", + "integer" + ] + }, + "tertiary_color": { + "type": [ + "null", + "integer" + ] + } + }, + "additionalProperties": false, + "required": [ + "primary_color" + ] } - }, - "required": [ - "password", - "token" - ] + } }, - "PreloadMessagesRequestSchema": { - "type": "object", - "properties": { - "channels": { - "type": "array", - "items": { + "RolePositionUpdateSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { "type": "string" + }, + "position": { + "type": "integer" } }, - "channel_ids": { - "type": "array", - "items": { - "type": "string" - } - } + "additionalProperties": false, + "required": [ + "id", + "position" + ] } }, - "PruneSchema": { - "type": "object", - "properties": { - "days": { - "type": "integer" - } - }, - "required": [ - "days" - ] - }, - "PurgeSchema": { + "SelectProtocolSchema": { "type": "object", "properties": { - "before": { - "type": "string" - }, - "after": { - "type": "string" - } - }, - "required": [ - "after", - "before" - ] - }, - "RefreshUrlsRequestSchema": { - "type": "object", - "properties": { - "attachment_urls": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "attachment_urls" - ] - }, - "RegisterSchema": { - "type": "object", - "properties": { - "username": { - "minLength": 2, - "type": "string" - }, - "password": { - "minLength": 1, - "maxLength": 72, - "type": "string" - }, - "consent": { - "type": "boolean" - }, - "email": { - "format": "email", - "type": "string" - }, - "fingerprint": { - "type": "string" - }, - "invite": { - "type": "string" - }, - "date_of_birth": { - "type": "string" - }, - "gift_code_sku_id": { - "type": "string" - }, - "captcha_key": { - "type": "string" - }, - "promotional_email_opt_in": { - "type": "boolean" - }, - "unique_username_registration": { - "type": "boolean" - }, - "global_name": { - "type": "string" - } - }, - "required": [ - "consent", - "username" - ] - }, - "RelationshipPostSchema": { - "type": "object", - "properties": { - "discriminator": { - "type": "string" - }, - "username": { - "type": "string" - } - }, - "required": [ - "discriminator", - "username" - ] - }, - "RelationshipPatchSchema": { - "type": "object", - "properties": { - "nickname": { - "type": "string" - } - } - }, - "RelationshipPutSchema": { - "type": "object", - "properties": { - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" - }, - "confirm_stranger_request": { - "type": "boolean" - } - } - }, - "RequestGuildMembersSchema": { - "type": "object", - "properties": { - "guild_id": { - "anyOf": [ - { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 - }, - { - "type": "string" - } - ] - }, - "query": { - "type": "string" - }, - "limit": { - "type": "integer" - }, - "presences": { - "type": "boolean" - }, - "user_ids": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "string" - } - ] - }, - "nonce": { - "type": "string" - } - }, - "required": [ - "guild_id" - ] - }, - "RoleModifySchema": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "permissions": { - "type": "string" - }, - "color": { - "type": "integer" - }, - "hoist": { - "type": "boolean" - }, - "mentionable": { - "type": "boolean" - }, - "position": { - "type": "integer" - }, - "icon": { - "type": "string" - }, - "unicode_emoji": { - "type": "string" - }, - "colors": { - "type": "object", - "properties": { - "primary_color": { - "type": "integer" - }, - "secondary_color": { - "type": [ - "null", - "integer" - ] - }, - "tertiary_color": { - "type": [ - "null", - "integer" - ] - } - }, - "additionalProperties": false, - "required": [ - "primary_color" - ] - } - } - }, - "RolePositionUpdateSchema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "position": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "id", - "position" - ] - } - }, - "SelectProtocolSchema": { - "type": "object", - "properties": { - "protocol": { - "enum": [ - "udp", - "webrtc" - ], + "protocol": { + "enum": [ + "udp", + "webrtc" + ], "type": "string" }, "data": { @@ -6994,13 +6690,7 @@ "name": { "type": "string" }, - "type": { - "enum": [ - 11, - 12 - ], - "type": "number" - }, + "type": {}, "invitable": { "type": "boolean" }, @@ -7021,9 +6711,7 @@ }, "embeds": { "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } + "items": {} }, "allowed_mentions": { "type": "object", @@ -7056,9 +6744,7 @@ "anyOf": [ { "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } + "items": {} }, { "type": "null" @@ -7295,28 +6981,250 @@ } } }, - "EmojisResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EmojiResponse" - } - }, - "EmojiResponse": { + "VoiceIdentifySchema": { "type": "object", "properties": { - "id": { - "type": "string", - "nullable": true + "server_id": { + "type": "string" }, - "name": { - "type": "string", - "nullable": true + "user_id": { + "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + "session_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "token": { + "type": "string" + }, + "video": { + "type": "boolean" + }, + "streams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], + "type": "string" + }, + "rid": { + "type": "string" + }, + "quality": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "quality", + "rid", + "type" + ] + } + }, + "max_secure_frames_version": { + "type": "integer" + }, + "max_dave_protocol_version": { + "type": "integer" + } + }, + "required": [ + "server_id", + "session_id", + "token", + "user_id" + ] + }, + "VoiceVideoSchema": { + "type": "object", + "properties": { + "audio_ssrc": { + "type": "integer" + }, + "video_ssrc": { + "type": "integer" + }, + "rtx_ssrc": { + "type": "integer" + }, + "user_id": { + "type": "string" + }, + "streams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], + "type": "string" + }, + "rid": { + "type": "string" + }, + "ssrc": { + "type": "integer" + }, + "active": { + "type": "boolean" + }, + "quality": { + "type": "integer" + }, + "rtx_ssrc": { + "type": "integer" + }, + "max_bitrate": { + "type": "integer" + }, + "max_framerate": { + "type": "integer" + }, + "max_resolution": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "height", + "type", + "width" + ] + } + }, + "additionalProperties": false, + "required": [ + "rid", + "type" + ] + } + } + }, + "required": [ + "audio_ssrc", + "video_ssrc" + ] + }, + "ApplicationCommandCreateSchema": { + "type": "object", + "properties": { + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "name": { + "type": "string" + }, + "name_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "type": "string" + }, + "description_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationCommandOption" + } + }, + "default_member_permissions": { + "type": "string" + }, + "dm_permission": { + "type": "boolean" + }, + "nsfw": { + "type": "boolean" + }, + "integration_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationIntegrationType" + } + }, + "contexts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InteractionContextType" + } + }, + "handler": { + "enum": [ + 1, + 2, + 3 + ], + "type": "number" + } + }, + "required": [ + "name" + ] + }, + "BulkApplicationCommandCreateSchema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApplicationCommandCreateSchema" + } + }, + "EmojisResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmojiResponse" + } + }, + "EmojiResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } }, "user": { "$ref": "#/components/schemas/PartialUser" @@ -7611,1362 +7519,1098 @@ "filename" ] }, - "ErrorList": { - "type": "object" - }, - "Status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online", - "unknown" - ], - "type": "string" - }, - "Activity": { + "InstanceUserDeleteSchemaContent": { "type": "object", "properties": { - "name": { + "reason": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/ActivityType" - }, - "url": { + "persistInstanceBan": { + "type": "boolean" + } + } + }, + "CustomStatus": { + "type": "object", + "properties": { + "emoji_id": { "type": "string" }, - "created_at": { - "type": "integer" - }, - "timestamps": { - "type": "object", - "properties": { - "start": { - "type": "integer" - }, - "end": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "end", - "start" - ] - }, - "application_id": { + "emoji_name": { "type": "string" }, - "details": { - "type": "string" + "expires_at": { + "type": "integer" }, - "state": { + "text": { "type": "string" - }, - "emoji": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "animated", - "name" - ] - }, - "party": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "size": { - "type": "array", - "items": { - "type": "integer" - } - } - }, - "additionalProperties": false - }, - "assets": { - "type": "object", - "properties": { - "large_image": { - "type": "string" - }, - "large_text": { - "type": "string" - }, - "small_image": { - "type": "string" - }, - "small_text": { - "type": "string" - } - }, - "additionalProperties": false - }, - "secrets": { - "type": "object", - "properties": { - "join": { - "type": "string" - }, - "spectate": { - "type": "string" - }, - "match": { - "type": "string" - } - }, - "additionalProperties": false - }, - "instance": { + } + } + }, + "FriendSourceFlags": { + "type": "object", + "properties": { + "all": { "type": "boolean" + } + }, + "required": [ + "all" + ] + }, + "GuildFolder": { + "type": "object", + "properties": { + "color": { + "type": "integer", + "nullable": true }, - "flags": { - "type": "string" + "guild_ids": { + "type": "array", + "items": { + "type": "string" + } }, "id": { - "type": "string" - }, - "sync_id": { - "type": "string" - }, - "metadata": { - "type": "object", - "properties": { - "button_urls": { - "type": "array", - "items": { - "type": "string" - } - }, - "context_uri": { - "type": "string" - }, - "album_id": { - "type": "string" - }, - "artist_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "enum": [ - "episode", - "track" - ], - "type": "string" - } - }, - "additionalProperties": false + "type": "integer", + "nullable": true }, - "session_id": { - "type": "string" + "name": { + "type": "string", + "nullable": true } }, "required": [ - "flags", - "name", - "session_id", - "type" + "guild_ids" ] }, - "ActivityType": { + "ErrorList": { + "type": "object" + }, + "InteractionCallbackType": { "type": "number", "enum": [ - 0, 1, 2, + 3, 4, - 5 + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 ] }, - "ChannelPermissionOverwriteType": { - "type": "number", - "enum": [ - 0, - 1, - 2 + "PongCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.PONG" + }, + "data": {} + }, + "required": [ + "data", + "type" ] }, - "ConnectedAccountTokenData": { + "InteractionCallbackType.PONG": { + "type": "number", + "const": 1 + }, + "AckCallback": { "type": "object", "properties": { - "access_token": { - "type": "string" - }, - "token_type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "refresh_token": { - "type": "string" - }, - "expires_in": { - "type": "integer" - }, - "expires_at": { - "type": "integer" + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.ACKNOWLEDGE" }, - "fetched_at": { - "type": "integer" - } + "data": {} }, "required": [ - "access_token", - "fetched_at" + "data", + "type" ] }, - "AllowedMentions": { + "InteractionCallbackType.ACKNOWLEDGE": { + "type": "number", + "const": 2 + }, + "MessageCallback": { "type": "object", "properties": { - "parse": { - "type": "array", - "items": { - "enum": [ - "everyone", - "roles", - "users" - ], - "type": "string" - } - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "items": { - "type": "string" - } - }, - "replied_user": { - "type": "boolean" - } - } - }, - "Classification": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "classification_type": { - "$ref": "#/components/schemas/ClassificationType" - }, - "description": { - "type": "string" - }, - "explainer_link": { - "type": "string" - }, - "actions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ClassificationAction" - } - }, - "max_expiration_time": { - "type": "string" - }, - "flagged_content": { - "type": "array", - "items": {} - }, - "appeal_status": { - "$ref": "#/components/schemas/AppealStatus" - }, - "is_coppa": { - "type": "boolean" - }, - "is_spam": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE" }, - "appeal_ingestion_type": { - "$ref": "#/components/schemas/AppealIngestionType" - } + "data": {} }, "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" + "data", + "type" ] }, - "ClassificationType": { + "InteractionCallbackType.CHANNEL_MESSAGE": { "type": "number", - "enum": [ - 1, - 100, - 200, - 210, - 220, - 230, - 240, - 250, - 280, - 290, - 310, - 320, - 390, - 600, - 650, - 711, - 720, - 3010, - 3030, - 4000, - 4010, - 4130, - 4140, - 5010, - 5090, - 5305, - 5411, - 5440, - 5485 - ] + "const": 3 }, - "ClassificationAction": { + "MessageWSourceCallback": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "action_type": { - "$ref": "#/components/schemas/ClassificationActionType" + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" }, - "descriptions": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "action_type", - "descriptions", - "id" - ] - }, - "ClassificationActionType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 20, - 22 - ] - }, - "AppealStatus": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/AppealStatusValue" + "data": { + "$ref": "#/components/schemas/InteractionMessage" } }, "required": [ - "status" - ] - }, - "AppealStatusValue": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "data", + "type" ] }, - "AppealIngestionType": { + "InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE": { "type": "number", - "enum": [ - 0, - 1, - 2 - ] + "const": 4 }, - "GuildClassification": { + "InteractionMessage": { "type": "object", "properties": { - "guild_metadata": { - "$ref": "#/components/schemas/GuildMetadata" - }, - "id": { + "content": { "type": "string" }, - "classification_type": { - "$ref": "#/components/schemas/ClassificationType" + "tts": { + "type": "boolean" }, - "description": { - "type": "string" + "embeds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Embed" + } }, - "explainer_link": { - "type": "string" + "allowed_mentions": { + "$ref": "#/components/schemas/AllowedMentions" }, - "actions": { + "components": { "type": "array", "items": { - "$ref": "#/components/schemas/ClassificationAction" + "$ref": "#/components/schemas/BaseMessageComponents" } }, - "max_expiration_time": { - "type": "string" + "flags": { + "type": "integer" }, - "flagged_content": { + "attachments": { "type": "array", "items": {} }, - "appeal_status": { - "$ref": "#/components/schemas/AppealStatus" - }, - "is_coppa": { - "type": "boolean" - }, - "is_spam": { - "type": "boolean" - }, - "appeal_ingestion_type": { - "$ref": "#/components/schemas/AppealIngestionType" - } - }, - "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "guild_metadata", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" - ] + "poll": {} + } }, - "GuildMetadata": { + "Embed": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "icon": { + "title": { "type": "string" }, - "member_type": { - "$ref": "#/components/schemas/GuildMemberType" - } - }, - "required": [ - "member_type", - "name" - ] - }, - "GuildMemberType": { - "type": "number", - "enum": [ - 1, - 2 - ] - }, - "AccountStandingState": { - "type": "number", - "enum": [ - 100, - 200, - 300, - 400, - 500 - ] - }, - "AppealEligibility": { - "type": "number", - "enum": [ - 1, - 2, - 3 - ] - }, - "CollectiblesCategoryItem": { - "type": "object", - "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "summary": { + "type": { + "enum": [ + "article", + "gifv", + "image", + "link", + "rich", + "video" + ], "type": "string" }, - "store_listing_id": { + "description": { "type": "string" }, - "banner": { + "url": { "type": "string" }, - "unpublished_at": { + "timestamp": { "type": "string", - "nullable": true - }, - "styles": { - "$ref": "#/components/schemas/CollectiblesCategoryStyle" + "format": "date-time" }, - "logo": { - "type": "string" + "color": { + "type": "integer" }, - "hero_ranking": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } + "footer": { + "type": "object", + "properties": { + "text": { + "type": "string" }, - { - "type": "null" + "icon_url": { + "type": "string" + }, + "proxy_icon_url": { + "type": "string" } + }, + "additionalProperties": false, + "required": [ + "text" ] }, - "mobile_bg": { - "type": "string", - "nullable": true - }, - "pdp_bg": { - "type": "string", - "nullable": true - }, - "success_modal_bg": { - "type": "string", - "nullable": true - }, - "mobile_banner": { - "type": "string", - "nullable": true + "image": { + "$ref": "#/components/schemas/EmbedImage" }, - "featured_block": { - "type": "string", - "nullable": true + "thumbnail": { + "$ref": "#/components/schemas/EmbedImage" }, - "hero_banner": { - "type": "string", - "nullable": true + "video": { + "$ref": "#/components/schemas/EmbedImage" }, - "wide_banner": { - "type": "string", - "nullable": true + "provider": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "additionalProperties": false }, - "hero_logo": { - "type": "string", - "nullable": true + "author": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "icon_url": { + "type": "string" + }, + "proxy_icon_url": { + "type": "string" + } + }, + "additionalProperties": false }, - "products": { + "fields": { "type": "array", "items": { - "$ref": "#/components/schemas/CollectiblesCategoryProductItem" + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "inline": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name", + "value" + ] } + } + } + }, + "EmbedImage": { + "type": "object", + "properties": { + "url": { + "type": "string" }, - "banner_asset": { - "$ref": "#/components/schemas/StaticAnimatedAsset" + "proxy_url": { + "type": "string" }, - "hero_banner_asset": { - "$ref": "#/components/schemas/StaticAnimatedAsset" + "height": { + "type": "integer" + }, + "width": { + "type": "integer" } - }, - "required": [ - "banner", - "featured_block", - "hero_banner", - "hero_logo", - "hero_ranking", - "logo", - "mobile_banner", - "mobile_bg", - "name", - "pdp_bg", - "products", - "sku_id", - "store_listing_id", - "styles", - "success_modal_bg", - "summary", - "unpublished_at", - "wide_banner" - ] + } }, - "CollectiblesCategoryStyle": { + "AllowedMentions": { "type": "object", "properties": { - "background_colors": { + "parse": { "type": "array", "items": { - "type": "integer" + "enum": [ + "everyone", + "roles", + "users" + ], + "type": "string" } }, - "button_colors": { + "roles": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "confetti_colors": { + "users": { "type": "array", "items": { - "type": "integer" + "type": "string" } + }, + "replied_user": { + "type": "boolean" } - }, - "required": [ - "background_colors", - "button_colors", - "confetti_colors" - ] + } }, - "CollectiblesCategoryProductItem": { - "type": "object", - "properties": { - "sku_id": { - "type": "string" + "BaseMessageComponents": { + "anyOf": [ + { + "$ref": "#/components/schemas/SectionComponent" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/TextDisplayComponent" }, - "summary": { - "type": "string" + { + "$ref": "#/components/schemas/MediaGalleryComponent" }, - "store_listing_id": { - "type": "string" - }, - "banner": { - "type": "string" - }, - "unpublished_at": { - "type": "string", - "nullable": true - }, - "styles": { - "$ref": "#/components/schemas/CollectiblesCategoryStyle" - }, - "prices": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "country_prices": { - "$ref": "#/components/schemas/CountryPrice" - } - }, - "additionalProperties": false, - "required": [ - "country_prices" - ] - } - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductItem" - } - }, - "type": { - "type": "integer" - }, - "premium_type": { - "type": "integer" + { + "$ref": "#/components/schemas/FileComponent" }, - "category_sku_id": { - "type": "string" + { + "$ref": "#/components/schemas/SeperatorComponent" }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } + { + "$ref": "#/components/schemas/ActionRowComponent" }, - "variants": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductItemVariant" - } + { + "$ref": "#/components/schemas/ContainerComponent" } - }, - "required": [ - "banner", - "category_sku_id", - "google_sku_ids", - "items", - "name", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "styles", - "summary", - "type", - "unpublished_at" ] }, - "CountryPrice": { + "SectionComponent": { "type": "object", "properties": { - "country_code": { - "type": "string" + "type": { + "$ref": "#/components/schemas/MessageComponentType.Section" }, - "prices": { + "components": { "type": "array", "items": { - "$ref": "#/components/schemas/PriceEntry" + "$ref": "#/components/schemas/TextDisplayComponent" } + }, + "accessory": { + "anyOf": [ + { + "$ref": "#/components/schemas/ThumbnailComponent" + }, + { + "$ref": "#/components/schemas/ButtonComponent" + } + ] + }, + "id": { + "type": "integer" } }, "required": [ - "country_code", - "prices" + "accessory", + "components", + "type" ] }, - "PriceEntry": { + "MessageComponentType.Section": { + "type": "number", + "const": 9 + }, + "TextDisplayComponent": { "type": "object", "properties": { - "amount": { - "type": "integer" + "type": { + "$ref": "#/components/schemas/MessageComponentType.TextDisplay" }, - "currency": { + "content": { "type": "string" }, - "exponent": { + "id": { "type": "integer" } }, "required": [ - "amount", - "currency", - "exponent" + "content", + "type" ] }, - "ProductItem": { + "MessageComponentType.TextDisplay": { + "type": "number", + "const": 10 + }, + "ThumbnailComponent": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "id": { - "type": "string" + "$ref": "#/components/schemas/MessageComponentType.Thumbnail" }, - "sku_id": { + "description": { "type": "string" }, - "asset": { - "type": "string" + "media": { + "$ref": "#/components/schemas/UnfurledMediaItem" }, - "label": { - "type": "string" + "spoiler": { + "type": "boolean" }, - "palette": { - "type": "string" + "id": { + "type": "integer" } }, "required": [ - "id", - "sku_id", + "media", "type" ] }, - "ProductItemVariant": { + "MessageComponentType.Thumbnail": { + "type": "number", + "const": 11 + }, + "UnfurledMediaItem": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "name_localizations": { - "type": "null" - }, - "summary": { + "id": { "type": "string" }, - "summary_localizations": { - "type": "null" - }, - "store_listing_id": { + "url": { "type": "string" }, - "banner": { + "proxy_url": { "type": "string" }, - "unpublished_at": { - "type": "string", - "nullable": true - }, - "styles": { - "$ref": "#/components/schemas/CollectiblesCategoryStyle" - }, - "prices": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "country_prices": { - "$ref": "#/components/schemas/CountryPrice" - } - }, - "additionalProperties": false, - "required": [ - "country_prices" - ] - } - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductItem" - } + "height": { + "type": "integer" }, - "type": { + "width": { "type": "integer" }, - "premium_type": { + "flags": { "type": "integer" }, - "category_sku_id": { + "content_type": { "type": "string" }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "base_variant_sku_id": { - "type": "string" + "content_scan_metadata": {}, + "placeholder_version": { + "type": "integer" }, - "base_variant_name": { + "placeholder": { "type": "string" }, - "variant_label": { - "type": "string" + "loading_state": { + "type": "integer" }, - "variant_value": { + "attachment_id": { "type": "string" } }, "required": [ - "base_variant_name", - "base_variant_sku_id", - "category_sku_id", - "items", - "name", - "name_localizations", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "summary", - "summary_localizations", - "type", - "variant_label", - "variant_value" + "url" ] }, - "StaticAnimatedAsset": { + "ButtonComponent": { "type": "object", "properties": { - "animated": { - "type": "string", - "nullable": true + "type": { + "$ref": "#/components/schemas/MessageComponentType.Button" }, - "static": { + "style": { + "$ref": "#/components/schemas/ButtonStyle" + }, + "label": { "type": "string" - } - }, - "required": [ - "animated", - "static" - ] - }, - "CollectiblesMarketingItem": { - "type": "object", - "properties": { - "type": { - "type": "integer" }, - "version": { - "type": "integer" + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } + ] }, - "title": { + "custom_id": { "type": "string" }, - "body": { + "sku_id": { + "type": "string" + }, + "url": { "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "required": [ - "body", - "title", - "type", - "version" + "style", + "type" ] }, - "AnyShopBlock": { - "anyOf": [ - { - "$ref": "#/components/schemas/ItemRowShopBlock" - }, - { - "$ref": "#/components/schemas/BundleTileRowShopBlock" - }, - { - "$ref": "#/components/schemas/ItemCollectionShopBlock" - } + "MessageComponentType.Button": { + "type": "number", + "const": 2 + }, + "ButtonStyle": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 ] }, - "ItemRowShopBlock": { + "MediaGalleryComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 0 - }, - "category_sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "category_store_listing_id": { - "type": "string" - }, - "banner_asset": { - "$ref": "#/components/schemas/StaticAnimatedAsset" - }, - "logo_url": { - "type": "string" - }, - "unpublished_at": { - "type": "string", - "nullable": true - }, - "summary": { - "type": "string" + "$ref": "#/components/schemas/MessageComponentType.MediaGallery" }, - "ranked_sku_ids": { + "items": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "media": { + "$ref": "#/components/schemas/UnfurledMediaItem" + }, + "description": { + "type": "string" + }, + "spoiler": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "media" + ] } + }, + "id": { + "type": "integer" } }, "required": [ - "banner_asset", - "category_sku_id", - "category_store_listing_id", - "logo_url", - "name", - "ranked_sku_ids", - "summary", - "type", - "unpublished_at" + "items", + "type" ] }, - "BundleTileRowShopBlock": { + "MessageComponentType.MediaGallery": { + "type": "number", + "const": 12 + }, + "FileComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 1 + "$ref": "#/components/schemas/MessageComponentType.File" }, - "subblocks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ShopBlockSubBlock" - } + "file": { + "$ref": "#/components/schemas/UnfurledMediaItem" + }, + "spoiler": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "id": { + "type": "integer" } }, "required": [ - "subblocks", + "file", + "name", + "size", + "spoiler", "type" ] }, - "ShopBlockSubBlock": { + "MessageComponentType.File": { + "type": "number", + "const": 13 + }, + "SeperatorComponent": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "category_store_listing_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "unpublished_at": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/MessageComponentType.Separator" }, - "banner_url": { - "type": "string" + "divider": { + "type": "boolean" }, - "body_text": { - "type": "string", - "nullable": true + "spacing": { + "enum": [ + 1, + 2 + ], + "type": "number" }, - "banner_text_color": { - "type": "integer", - "nullable": true + "id": { + "type": "integer" } }, "required": [ - "banner_text_color", - "banner_url", - "body_text", - "category_store_listing_id", - "name", - "type", - "unpublished_at" + "type" ] }, - "ItemCollectionShopBlock": { + "MessageComponentType.Separator": { + "type": "number", + "const": 14 + }, + "ActionRowComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 2 + "$ref": "#/components/schemas/MessageComponentType.ActionRow" }, - "ranked_sku_ids": { + "components": { "type": "array", "items": { - "type": "string" + "anyOf": [ + { + "$ref": "#/components/schemas/ButtonComponent" + }, + { + "$ref": "#/components/schemas/SelectMenuComponent" + }, + { + "$ref": "#/components/schemas/StringSelectMenuComponent" + }, + { + "$ref": "#/components/schemas/TextInputComponent" + } + ] } }, - "sorted_sku_ids": { - "type": "object", - "properties": { - "recommended": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "popular": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "popular", - "recommended" - ] + "id": { + "type": "integer" } }, "required": [ - "ranked_sku_ids", - "sorted_sku_ids", + "components", "type" ] }, - "Guild": { + "MessageComponentType.ActionRow": { + "type": "number", + "const": 1 + }, + "SelectMenuComponent": { "type": "object", "properties": { - "afk_channel_id": { - "type": "string", - "nullable": true - }, - "afk_channel": { - "$ref": "#/components/schemas/Channel" + "type": { + "enum": [ + 3, + 5, + 6, + 7, + 8 + ], + "type": "number" }, - "afk_timeout": { - "type": "integer" + "custom_id": { + "type": "string" }, - "bans": { + "channel_types": { "type": "array", "items": { - "$ref": "#/components/schemas/Ban" + "type": "integer" } }, - "banner": { - "type": "string" - }, - "default_message_notifications": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "discovery_splash": { + "placeholder": { "type": "string" }, - "explicit_content_filter": { - "type": "integer" - }, - "features": { + "default_values": { "type": "array", "items": { - "type": "string" - }, - "default": [] - }, - "primary_category_id": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "large": { - "type": "boolean", - "default": false - }, - "max_members": { - "type": "integer" + "$ref": "#/components/schemas/SelectMenuDefaultOption" + } }, - "max_presences": { + "min_values": { "type": "integer" }, - "max_video_channel_users": { + "max_values": { "type": "integer" }, - "member_count": { - "type": "integer" + "disabled": { + "type": "boolean" }, - "presence_count": { + "id": { "type": "integer" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - } - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } - }, - "template_id": { + } + }, + "required": [ + "custom_id", + "type" + ] + }, + "SelectMenuDefaultOption": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "template": { - "$ref": "#/components/schemas/Template" + "type": { + "enum": [ + "channel", + "role", + "user" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "StringSelectMenuComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.StringSelect" }, - "emojis": { + "options": { "type": "array", "items": { - "$ref": "#/components/schemas/Emoji" + "$ref": "#/components/schemas/SelectMenuOption" } }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } + "custom_id": { + "type": "string" }, - "invites": { + "channel_types": { "type": "array", "items": { - "$ref": "#/components/schemas/Invite" + "type": "integer" } }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceState" - } + "placeholder": { + "type": "string" }, - "webhooks": { + "default_values": { "type": "array", "items": { - "$ref": "#/components/schemas/Webhook" + "$ref": "#/components/schemas/SelectMenuDefaultOption" } }, - "mfa_level": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "owner_id": { - "type": "string" - }, - "owner": { - "$ref": "#/components/schemas/User" - }, - "preferred_locale": { - "type": "string" - }, - "premium_subscription_count": { + "min_values": { "type": "integer" }, - "premium_tier": { + "max_values": { "type": "integer" }, - "public_updates_channel_id": { - "type": "string", - "nullable": true - }, - "public_updates_channel": { - "$ref": "#/components/schemas/Channel" - }, - "rules_channel_id": { - "type": "string", - "nullable": true + "disabled": { + "type": "boolean" }, - "rules_channel": { + "id": { + "type": "integer" + } + }, + "required": [ + "custom_id", + "options", + "type" + ] + }, + "MessageComponentType.StringSelect": { + "type": "number", + "const": 3 + }, + "SelectMenuOption": { + "type": "object", + "properties": { + "label": { "type": "string" }, - "region": { + "value": { "type": "string" }, - "splash": { + "description": { "type": "string" }, - "system_channel_id": { - "type": "string", - "nullable": true - }, - "system_channel": { - "$ref": "#/components/schemas/Channel" - }, - "system_channel_flags": { - "type": "integer" - }, - "unavailable": { - "type": "boolean", - "default": false - }, - "verification_level": { - "type": "integer" - }, - "welcome_screen": { - "$ref": "#/components/schemas/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } + ] }, - "widget_channel_id": { + "default": { + "type": "boolean" + } + }, + "required": [ + "label", + "value" + ] + }, + "TextInputComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.TextInput" + }, + "custom_id": { "type": "string" }, - "widget_channel": { - "$ref": "#/components/schemas/Channel" + "style": { + "$ref": "#/components/schemas/TextInputStyle" }, - "widget_enabled": { - "type": "boolean", - "default": true + "label": { + "type": "string" }, - "nsfw_level": { + "min_length": { "type": "integer" }, - "nsfw": { - "type": "boolean", - "default": false + "max_length": { + "type": "integer" }, - "parent": { + "required": { + "type": "boolean" + }, + "value": { "type": "string" }, - "permissions": { - "type": "integer" + "placeholder": { + "type": "string" }, - "premium_progress_bar_enabled": { - "type": "boolean", - "default": false + "id": { + "type": "integer" + } + }, + "required": [ + "custom_id", + "label", + "style", + "type" + ] + }, + "MessageComponentType.TextInput": { + "type": "number", + "const": 4 + }, + "TextInputStyle": { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + "ContainerComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.Container" }, - "channel_ordering": { + "components": { "type": "array", "items": { - "type": "string" + "anyOf": [ + { + "$ref": "#/components/schemas/SectionComponent" + }, + { + "$ref": "#/components/schemas/TextDisplayComponent" + }, + { + "$ref": "#/components/schemas/MediaGalleryComponent" + }, + { + "$ref": "#/components/schemas/FileComponent" + }, + { + "$ref": "#/components/schemas/SeperatorComponent" + }, + { + "$ref": "#/components/schemas/ActionRowComponent" + } + ] } }, - "discovery_weight": { - "type": "integer", - "default": 0 + "accent_color": { + "type": "integer" }, - "discovery_excluded": { - "type": "boolean", - "default": false + "spoiler": { + "type": "boolean" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "components", + "type" + ] + }, + "MessageComponentType.Container": { + "type": "number", + "const": 17 + }, + "MessageDWSourceCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" + }, + "data": { + "$ref": "#/components/schemas/InteractionMessage" + } + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { + "type": "number", + "const": 5 + }, + "MessageUpdateCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.UPDATE_MESSAGE" + }, + "data": { + "$ref": "#/components/schemas/InteractionMessage" + } + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.UPDATE_MESSAGE": { + "type": "number", + "const": 7 + }, + "MessageDUpdateCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" }, + "data": { + "$ref": "#/components/schemas/InteractionMessage" + } + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { + "type": "number", + "const": 6 + }, + "InteractionGuild": { + "type": "object", + "properties": { "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { "type": "string" } }, "required": [ - "bans", - "channel_ordering", - "channels", - "discovery_excluded", - "discovery_weight", - "emojis", "features", "id", - "invites", - "members", - "name", - "nsfw", - "premium_progress_bar_enabled", - "public_updates_channel_id", - "roles", - "stickers", - "template", - "unavailable", - "voice_states", - "webhooks", - "welcome_screen", - "widget_enabled" + "locale" ] }, "Channel": { @@ -9506,14 +9150,185 @@ "user_id" ] }, - "ClientStatus": { + "Activity": { "type": "object", "properties": { - "desktop": { + "name": { "type": "string" }, - "mobile": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ActivityType" + }, + "url": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "timestamps": { + "type": "object", + "properties": { + "start": { + "type": "integer" + }, + "end": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "end", + "start" + ] + }, + "application_id": { + "type": "string" + }, + "details": { + "type": "string" + }, + "state": { + "type": "string" + }, + "emoji": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "animated", + "name" + ] + }, + "party": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "size": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "additionalProperties": false + }, + "assets": { + "type": "object", + "properties": { + "large_image": { + "type": "string" + }, + "large_text": { + "type": "string" + }, + "small_image": { + "type": "string" + }, + "small_text": { + "type": "string" + } + }, + "additionalProperties": false + }, + "secrets": { + "type": "object", + "properties": { + "join": { + "type": "string" + }, + "spectate": { + "type": "string" + }, + "match": { + "type": "string" + } + }, + "additionalProperties": false + }, + "instance": { + "type": "boolean" + }, + "flags": { + "type": "string" + }, + "id": { + "type": "string" + }, + "sync_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "button_urls": { + "type": "array", + "items": { + "type": "string" + } + }, + "context_uri": { + "type": "string" + }, + "album_id": { + "type": "string" + }, + "artist_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "enum": [ + "episode", + "track" + ], + "type": "string" + } + }, + "additionalProperties": false + }, + "session_id": { + "type": "string" + } + }, + "required": [ + "flags", + "name", + "session_id", + "type" + ] + }, + "ActivityType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 4, + 5 + ] + }, + "ClientStatus": { + "type": "object", + "properties": { + "desktop": { + "type": "string" + }, + "mobile": { + "type": "string" }, "web": { "type": "string" @@ -9526,6 +9341,17 @@ } } }, + "Status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online", + "unknown" + ], + "type": "string" + }, "ExtendedLocationInfo": { "type": "object", "properties": { @@ -9713,6 +9539,36 @@ "user_id" ] }, + "ConnectedAccountTokenData": { + "type": "object", + "properties": { + "access_token": { + "type": "string" + }, + "token_type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "refresh_token": { + "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "expires_at": { + "type": "integer" + }, + "fetched_at": { + "type": "integer" + } + }, + "required": [ + "access_token", + "fetched_at" + ] + }, "UserSettings": { "type": "object", "properties": { @@ -9915,100 +9771,46 @@ "view_nsfw_guilds" ] }, - "CustomStatus": { + "SecurityKey": { "type": "object", "properties": { - "emoji_id": { + "user_id": { "type": "string" }, - "emoji_name": { + "user": { + "$ref": "#/components/schemas/User" + }, + "key_id": { "type": "string" }, - "expires_at": { + "public_key": { + "type": "string" + }, + "counter": { "type": "integer" }, - "text": { + "name": { + "type": "string" + }, + "id": { "type": "string" - } - } - }, - "FriendSourceFlags": { - "type": "object", - "properties": { - "all": { - "type": "boolean" } }, "required": [ - "all" + "counter", + "id", + "key_id", + "name", + "public_key", + "user", + "user_id" ] }, - "GuildFolder": { + "AvatarDecorationData": { "type": "object", "properties": { - "color": { - "type": "integer", - "nullable": true - }, - "guild_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "integer", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - } - }, - "required": [ - "guild_ids" - ] - }, - "SecurityKey": { - "type": "object", - "properties": { - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/components/schemas/User" - }, - "key_id": { - "type": "string" - }, - "public_key": { - "type": "string" - }, - "counter": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "required": [ - "counter", - "id", - "key_id", - "name", - "public_key", - "user", - "user_id" - ] - }, - "AvatarDecorationData": { - "type": "object", - "properties": { - "asset": { - "type": "string" + "asset": { + "type": "string" }, "sku_id": { "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", @@ -10278,351 +10080,266 @@ "user" ] }, - "Role": { + "Guild": { "type": "object", "properties": { - "guild_id": { - "type": "string" + "afk_channel_id": { + "type": "string", + "nullable": true }, - "guild": { - "$ref": "#/components/schemas/Guild" + "afk_channel": { + "$ref": "#/components/schemas/Channel" }, - "color": { + "afk_timeout": { "type": "integer" }, - "hoist": { - "type": "boolean" + "bans": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Ban" + } }, - "managed": { - "type": "boolean" + "banner": { + "type": "string" }, - "mentionable": { - "type": "boolean" + "default_message_notifications": { + "type": "integer" }, - "name": { + "description": { "type": "string" }, - "permissions": { + "discovery_splash": { "type": "string" }, - "position": { + "explicit_content_filter": { "type": "integer" }, - "icon": { + "features": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "primary_category_id": { "type": "string" }, - "unicode_emoji": { + "icon": { "type": "string" }, - "tags": { - "type": "object", - "properties": { - "bot_id": { - "type": "string" - }, - "integration_id": { - "type": "string" - }, - "premium_subscriber": { - "type": "boolean" - } - }, - "additionalProperties": false + "large": { + "type": "boolean", + "default": false }, - "flags": { + "max_members": { "type": "integer" }, - "colors": { - "$ref": "#/components/schemas/RoleColors" - }, - "id": { - "type": "string" - } - }, - "required": [ - "color", - "colors", - "flags", - "guild", - "guild_id", - "hoist", - "id", - "managed", - "mentionable", - "name", - "permissions", - "position" - ] - }, - "RoleColors": { - "type": "object", - "properties": { - "primary_color": { + "max_presences": { "type": "integer" }, - "secondary_color": { + "max_video_channel_users": { "type": "integer" }, - "tertiary_color": { + "member_count": { "type": "integer" - } - }, - "required": [ - "primary_color" - ] - }, - "UserGuildSettings": { - "type": "object", - "properties": { - "channel_overrides": { - "anyOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/ChannelOverride" - } - }, - { - "type": "null" - } - ] }, - "message_notifications": { + "presence_count": { "type": "integer" }, - "mobile_push": { - "type": "boolean" + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Member" + } }, - "mute_config": { - "anyOf": [ - { - "$ref": "#/components/schemas/MuteConfig" - }, - { - "type": "null" - } - ] + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } }, - "muted": { - "type": "boolean" + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } }, - "suppress_everyone": { - "type": "boolean" + "template_id": { + "type": "string" }, - "suppress_roles": { - "type": "boolean" + "template": { + "$ref": "#/components/schemas/Template" }, - "version": { - "type": "integer" + "emojis": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Emoji" + } }, - "guild_id": { - "type": "string", - "nullable": true + "stickers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sticker" + } }, - "flags": { - "type": "integer" + "invites": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Invite" + } }, - "mute_scheduled_events": { - "type": "boolean" + "voice_states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VoiceState" + } }, - "hide_muted_channels": { - "type": "boolean" + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Webhook" + } }, - "notify_highlights": { - "type": "integer", - "const": 0 - } - }, - "required": [ - "channel_overrides", - "flags", - "guild_id", - "hide_muted_channels", - "message_notifications", - "mobile_push", - "mute_config", - "mute_scheduled_events", - "muted", - "notify_highlights", - "suppress_everyone", - "suppress_roles", - "version" - ] - }, - "ChannelOverride": { - "type": "object", - "properties": { - "message_notifications": { + "mfa_level": { "type": "integer" }, - "mute_config": { - "$ref": "#/components/schemas/MuteConfig" + "name": { + "type": "string" }, - "muted": { - "type": "boolean" + "owner_id": { + "type": "string" }, - "channel_id": { - "type": "string", - "nullable": true - } - }, - "required": [ - "channel_id", - "message_notifications", - "mute_config", - "muted" - ] - }, - "MuteConfig": { - "type": "object", - "properties": { - "end_time": { + "owner": { + "$ref": "#/components/schemas/User" + }, + "preferred_locale": { + "type": "string" + }, + "premium_subscription_count": { "type": "integer" }, - "selected_time_window": { + "premium_tier": { "type": "integer" - } - }, - "required": [ - "end_time", - "selected_time_window" - ] - }, - "ThreadMemberMuteConfig": { - "type": "object", - "properties": { - "end_time": { + }, + "public_updates_channel_id": { "type": "string", - "format": "date-time" + "nullable": true }, - "selected_time_window": { - "type": "integer" - } - } - }, - "ThreadMemberFlags": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 4, - 8 - ] - }, - "ChannelPermissionOverwrite": { - "type": "object", - "properties": { - "allow": { - "type": "string" + "public_updates_channel": { + "$ref": "#/components/schemas/Channel" }, - "deny": { - "type": "string" + "rules_channel_id": { + "type": "string", + "nullable": true }, - "id": { + "rules_channel": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChannelPermissionOverwriteType" - } - }, - "required": [ - "allow", - "deny", - "id", - "type" - ] - }, - "Invite": { - "type": "object", - "properties": { - "code": { + "region": { "type": "string" }, - "temporary": { - "type": "boolean" + "splash": { + "type": "string" }, - "uses": { - "type": "integer" + "system_channel_id": { + "type": "string", + "nullable": true }, - "max_uses": { - "type": "integer" + "system_channel": { + "$ref": "#/components/schemas/Channel" }, - "max_age": { + "system_channel_flags": { "type": "integer" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires_at": { - "type": "string", - "format": "date-time" + "unavailable": { + "type": "boolean", + "default": false }, - "guild_id": { - "type": "string" + "verification_level": { + "type": "integer" }, - "guild": { - "$ref": "#/components/schemas/Guild" + "welcome_screen": { + "$ref": "#/components/schemas/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." }, - "channel_id": { + "widget_channel_id": { "type": "string" }, - "channel": { + "widget_channel": { "$ref": "#/components/schemas/Channel" }, - "inviter_id": { - "type": "string" + "widget_enabled": { + "type": "boolean", + "default": true }, - "inviter": { - "$ref": "#/components/schemas/User" + "nsfw_level": { + "type": "integer" }, - "target_user_id": { - "type": "string" + "nsfw": { + "type": "boolean", + "default": false }, - "target_user": { + "parent": { "type": "string" }, - "target_user_type": { + "permissions": { "type": "integer" }, - "vanity_url": { - "type": "boolean" + "premium_progress_bar_enabled": { + "type": "boolean", + "default": false }, - "flags": { - "type": "integer" + "channel_ordering": { + "type": "array", + "items": { + "type": "string" + } + }, + "discovery_weight": { + "type": "integer", + "default": 0 + }, + "discovery_excluded": { + "type": "boolean", + "default": false + }, + "id": { + "type": "string" } }, "required": [ - "channel", - "channel_id", - "code", - "created_at", - "flags", - "guild", - "guild_id", - "inviter", - "max_age", - "max_uses", - "target_user_id", - "temporary", - "uses" + "bans", + "channel_ordering", + "channels", + "discovery_excluded", + "discovery_weight", + "emojis", + "features", + "id", + "invites", + "members", + "name", + "nsfw", + "premium_progress_bar_enabled", + "public_updates_channel_id", + "roles", + "stickers", + "template", + "unavailable", + "voice_states", + "webhooks", + "welcome_screen", + "widget_enabled" ] }, - "Message": { + "Ban": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "thread_id": { + "user_id": { "type": "string" }, - "thread": { - "$ref": "#/components/schemas/Channel" + "user": { + "$ref": "#/components/schemas/User" }, "guild_id": { "type": "string" @@ -10630,544 +10347,315 @@ "guild": { "$ref": "#/components/schemas/Guild" }, - "author_id": { + "executor_id": { "type": "string" }, - "author": { + "executor": { "$ref": "#/components/schemas/User" }, - "member_id": { + "ip": { "type": "string" }, - "member": { - "$ref": "#/components/schemas/Member" - }, - "webhook_id": { + "reason": { "type": "string" }, - "webhook": { - "$ref": "#/components/schemas/Webhook" - }, - "application_id": { + "id": { "type": "string" - }, - "application": { - "$ref": "#/components/schemas/Application" - }, - "content": { + } + }, + "required": [ + "executor", + "executor_id", + "guild", + "guild_id", + "id", + "user", + "user_id" + ] + }, + "Role": { + "type": "object", + "properties": { + "guild_id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "edited_timestamp": { - "type": "string", - "format": "date-time" + "color": { + "type": "integer" }, - "tts": { + "hoist": { "type": "boolean" }, - "mention_everyone": { + "managed": { "type": "boolean" }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/User" - } - }, - "mention_roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } - }, - "mention_channels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } - }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Attachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } - }, - "reactions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Reaction" - } - }, - "nonce": { - "type": "string" - }, - "pinned_at": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "pinned": { + "mentionable": { "type": "boolean" }, - "type": { - "$ref": "#/components/schemas/MessageType" + "name": { + "type": "string" }, - "activity": { - "type": "object", - "properties": { - "type": { - "type": "integer" - }, - "party_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "party_id", - "type" - ] + "permissions": { + "type": "string" }, - "flags": { + "position": { "type": "integer" }, - "message_reference": { - "type": "object", - "properties": { - "message_id": { - "type": "string" - }, - "channel_id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "type": { - "type": "integer" - } - }, - "additionalProperties": false - }, - "referenced_message": { - "anyOf": [ - { - "$ref": "#/components/schemas/Message" - }, - { - "type": "null" - } - ] + "icon": { + "type": "string" }, - "interaction": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/InteractionType" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name", - "type" - ] + "unicode_emoji": { + "type": "string" }, - "interaction_metadata": { + "tags": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/InteractionType" - }, - "user_id": { + "bot_id": { "type": "string" }, - "authorizing_integration_owners": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "name": { + "integration_id": { "type": "string" }, - "command_type": { - "$ref": "#/components/schemas/ApplicationCommandType" + "premium_subscriber": { + "type": "boolean" } }, - "additionalProperties": false, - "required": [ - "authorizing_integration_owners", - "command_type", - "id", - "name", - "type", - "user_id" - ] - }, - "components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } - }, - "poll": { - "$ref": "#/components/schemas/Poll" - }, - "username": { - "type": "string" + "additionalProperties": false }, - "avatar": { - "type": "string" + "flags": { + "type": "integer" }, - "message_snapshots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MessageSnapshot" - } + "colors": { + "$ref": "#/components/schemas/RoleColors" }, "id": { "type": "string" } }, "required": [ - "channel", - "embeds", + "color", + "colors", "flags", + "guild", + "guild_id", + "hoist", "id", - "mention_channels", - "mention_roles", - "mentions", - "message_snapshots", - "pinned", - "reactions", - "timestamp", - "type" + "managed", + "mentionable", + "name", + "permissions", + "position" ] }, - "Webhook": { + "RoleColors": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/WebhookType" - }, - "name": { - "type": "string" + "primary_color": { + "type": "integer" }, - "avatar": { - "type": "string" + "secondary_color": { + "type": "integer" }, - "token": { - "type": "string" - }, - "guild_id": { + "tertiary_color": { + "type": "integer" + } + }, + "required": [ + "primary_color" + ] + }, + "Template": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "channel_id": { + "name": { "type": "string" }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "application_id": { + "description": { "type": "string" }, - "application": { - "$ref": "#/components/schemas/Application" + "usage_count": { + "type": "integer" }, - "user_id": { + "creator_id": { "type": "string" }, - "user": { + "creator": { "$ref": "#/components/schemas/User" }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, "source_guild_id": { "type": "string" }, "source_guild": { "$ref": "#/components/schemas/Guild" }, - "source_channel_id": { - "type": "string" - }, - "source_channel": { - "$ref": "#/components/schemas/Channel" - }, - "url": { - "type": "string" + "serialized_source_guild": { + "$ref": "#/components/schemas/Guild" }, "id": { "type": "string" } }, "required": [ - "application", - "application_id", - "avatar", - "channel", - "channel_id", + "code", + "created_at", + "creator", + "creator_id", "id", "name", - "source_channel", - "source_channel_id", - "type", - "url", - "user", - "user_id" - ] - }, - "WebhookType": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "serialized_source_guild", + "source_guild", + "source_guild_id", + "updated_at" ] }, - "Application": { + "Emoji": { "type": "object", "properties": { - "name": { - "type": "string" + "animated": { + "type": "boolean" }, - "icon": { - "type": "string" + "available": { + "type": "boolean" }, - "description": { + "guild_id": { "type": "string" }, - "summary": { - "type": "string", - "default": "" - }, - "type": { - "type": "object", - "properties": {}, - "additionalProperties": true + "guild": { + "$ref": "#/components/schemas/Guild" }, - "hook": { - "type": "boolean", - "default": true + "user_id": { + "type": "string" }, - "bot_public": { - "type": "boolean", - "default": true + "user": { + "$ref": "#/components/schemas/User" }, - "bot_require_code_grant": { - "type": "boolean", - "default": false + "managed": { + "type": "boolean" }, - "verify_key": { + "name": { "type": "string" }, - "owner": { - "$ref": "#/components/schemas/User" - }, - "flags": { - "type": "integer", - "default": 0 + "require_colons": { + "type": "boolean" }, - "redirect_uris": { + "roles": { "type": "array", "items": { "type": "string" - }, - "default": [] - }, - "rpc_application_state": { - "type": "integer", - "default": 0 - }, - "store_application_state": { - "type": "integer", - "default": 1 - }, - "verification_state": { - "type": "integer", - "default": 1 - }, - "interactions_endpoint_url": { - "type": "string" - }, - "integration_public": { - "type": "boolean", - "default": true - }, - "integration_require_code_grant": { - "type": "boolean", - "default": false - }, - "discoverability_state": { - "type": "integer", - "default": 1 - }, - "discovery_eligibility_flags": { - "type": "integer", - "default": 2240 - }, - "bot": { - "$ref": "#/components/schemas/User" + } }, - "tags": { + "groups": { "type": "array", "items": { "type": "string" } }, - "cover_image": { + "id": { + "type": "string" + } + }, + "required": [ + "animated", + "available", + "groups", + "guild", + "guild_id", + "id", + "managed", + "name", + "require_colons", + "roles", + "user", + "user_id" + ] + }, + "Sticker": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "install_params": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "permissions", - "scopes" - ] + "description": { + "type": "string" }, - "terms_of_service_url": { + "available": { + "type": "boolean" + }, + "tags": { "type": "string" }, - "privacy_policy_url": { + "pack_id": { "type": "string" }, + "pack": { + "$ref": "#/components/schemas/StickerPack" + }, "guild_id": { "type": "string" }, "guild": { "$ref": "#/components/schemas/Guild" }, - "custom_install_url": { + "user_id": { "type": "string" }, - "team": { - "$ref": "#/components/schemas/Team" + "user": { + "$ref": "#/components/schemas/User" + }, + "type": { + "$ref": "#/components/schemas/StickerType" + }, + "format_type": { + "$ref": "#/components/schemas/StickerFormatType" }, "id": { "type": "string" } }, "required": [ - "description", - "discoverability_state", - "discovery_eligibility_flags", - "flags", - "hook", + "format_type", "id", - "integration_public", - "integration_require_code_grant", "name", - "owner", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "summary", - "verification_state", - "verify_key" + "pack", + "type" ] }, - "Team": { + "StickerPack": { "type": "object", "properties": { - "icon": { + "name": { "type": "string" }, - "members": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TeamMember" - } - }, - "name": { - "type": "string" - }, - "owner_user_id": { + "description": { "type": "string" }, - "owner_user": { - "$ref": "#/components/schemas/User" - }, - "id": { + "banner_asset_id": { "type": "string" - } - }, - "required": [ - "id", - "members", - "name", - "owner_user", - "owner_user_id" - ] - }, - "TeamMember": { - "type": "object", - "properties": { - "membership_state": { - "$ref": "#/components/schemas/TeamMemberState" }, - "permissions": { + "stickers": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/Sticker" } }, - "role": { - "$ref": "#/components/schemas/TeamMemberRole" - }, - "team_id": { - "type": "string" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "user_id": { + "cover_sticker_id": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" + "cover_sticker": { + "$ref": "#/components/schemas/Sticker" }, "id": { "type": "string" @@ -11175,50 +10663,51 @@ }, "required": [ "id", - "membership_state", - "permissions", - "role", - "team", - "team_id", - "user", - "user_id" + "name", + "stickers" ] }, - "TeamMemberState": { + "StickerType": { "type": "number", "enum": [ 1, 2 ] }, - "TeamMemberRole": { - "type": "string", + "StickerFormatType": { + "type": "number", "enum": [ - "admin", - "developer", - "read_only" + 1, + 2, + 3, + 4 ] }, - "Sticker": { + "Invite": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "description": { + "code": { "type": "string" }, - "available": { + "temporary": { "type": "boolean" }, - "tags": { - "type": "string" + "uses": { + "type": "integer" }, - "pack_id": { - "type": "string" + "max_uses": { + "type": "integer" }, - "pack": { - "$ref": "#/components/schemas/StickerPack" + "max_age": { + "type": "integer" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" }, "guild_id": { "type": "string" @@ -11226,109 +10715,104 @@ "guild": { "$ref": "#/components/schemas/Guild" }, - "user_id": { + "channel_id": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" + "channel": { + "$ref": "#/components/schemas/Channel" }, - "type": { - "$ref": "#/components/schemas/StickerType" + "inviter_id": { + "type": "string" }, - "format_type": { - "$ref": "#/components/schemas/StickerFormatType" + "inviter": { + "$ref": "#/components/schemas/User" }, - "id": { + "target_user_id": { + "type": "string" + }, + "target_user": { "type": "string" + }, + "target_user_type": { + "type": "integer" + }, + "vanity_url": { + "type": "boolean" + }, + "flags": { + "type": "integer" } }, "required": [ - "format_type", - "id", - "name", - "pack", - "type" + "channel", + "channel_id", + "code", + "created_at", + "flags", + "guild", + "guild_id", + "inviter", + "max_age", + "max_uses", + "target_user_id", + "temporary", + "uses" ] }, - "StickerPack": { + "VoiceState": { "type": "object", "properties": { - "name": { + "guild_id": { "type": "string" }, - "description": { - "type": "string" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "banner_asset_id": { + "channel_id": { "type": "string" }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } + "channel": { + "$ref": "#/components/schemas/Channel" }, - "cover_sticker_id": { + "user_id": { "type": "string" }, - "cover_sticker": { - "$ref": "#/components/schemas/Sticker" + "user": { + "$ref": "#/components/schemas/User" }, - "id": { + "member": { + "$ref": "#/components/schemas/Member" + }, + "session_id": { "type": "string" - } - }, - "required": [ - "id", - "name", - "stickers" - ] - }, - "StickerType": { - "type": "number", - "enum": [ - 1, - 2 - ] - }, - "StickerFormatType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4 - ] - }, - "Attachment": { - "type": "object", - "properties": { - "filename": { + }, + "token": { "type": "string" }, - "size": { - "type": "integer" + "deaf": { + "type": "boolean" }, - "height": { - "type": "integer" + "mute": { + "type": "boolean" }, - "width": { - "type": "integer" + "self_deaf": { + "type": "boolean" }, - "content_type": { - "type": "string" + "self_mute": { + "type": "boolean" }, - "message_id": { - "type": "string" + "self_stream": { + "type": "boolean" }, - "channel_id": { - "type": "string" + "self_video": { + "type": "boolean" }, - "message": { - "$ref": "#/components/schemas/Message" + "suppress": { + "type": "boolean" }, - "channel": { - "$ref": "#/components/schemas/Channel" + "request_to_speak_timestamp": { + "type": "string", + "format": "date-time" }, "id": { "type": "string" @@ -11337,1164 +10821,823 @@ "required": [ "channel", "channel_id", - "filename", + "deaf", + "guild_id", "id", - "message", - "message_id", - "size" + "member", + "mute", + "self_deaf", + "self_mute", + "self_video", + "session_id", + "suppress", + "token", + "user", + "user_id" ] }, - "Embed": { + "Webhook": { "type": "object", "properties": { - "title": { - "type": "string" - }, "type": { - "enum": [ - "article", - "gifv", - "image", - "link", - "rich", - "video" - ], + "$ref": "#/components/schemas/WebhookType" + }, + "name": { "type": "string" }, - "description": { + "avatar": { "type": "string" }, - "url": { + "token": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "guild_id": { + "type": "string" }, - "color": { - "type": "integer" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "text" - ] + "channel_id": { + "type": "string" }, - "image": { - "$ref": "#/components/schemas/EmbedImage" + "channel": { + "$ref": "#/components/schemas/Channel" }, - "thumbnail": { - "$ref": "#/components/schemas/EmbedImage" + "application_id": { + "type": "string" }, - "video": { - "$ref": "#/components/schemas/EmbedImage" + "application": { + "$ref": "#/components/schemas/Application" }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "additionalProperties": false + "user_id": { + "type": "string" }, - "author": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false + "user": { + "$ref": "#/components/schemas/User" }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name", - "value" - ] - } - } - } - }, - "EmbedImage": { - "type": "object", - "properties": { - "url": { + "source_guild_id": { "type": "string" }, - "proxy_url": { + "source_guild": { + "$ref": "#/components/schemas/Guild" + }, + "source_channel_id": { "type": "string" }, - "height": { - "type": "integer" + "source_channel": { + "$ref": "#/components/schemas/Channel" }, - "width": { - "type": "integer" + "url": { + "type": "string" + }, + "id": { + "type": "string" } - } + }, + "required": [ + "application", + "application_id", + "avatar", + "channel", + "channel_id", + "id", + "name", + "source_channel", + "source_channel_id", + "type", + "url", + "user", + "user_id" + ] }, - "Reaction": { + "WebhookType": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ] + }, + "Application": { "type": "object", "properties": { - "count": { - "type": "integer" + "name": { + "type": "string" }, - "emoji": { - "$ref": "#/components/schemas/PartialEmoji" + "icon": { + "type": "string" }, - "user_ids": { + "description": { + "type": "string" + }, + "summary": { + "type": "string", + "default": "" + }, + "type": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "hook": { + "type": "boolean", + "default": true + }, + "bot_public": { + "type": "boolean", + "default": true + }, + "bot_require_code_grant": { + "type": "boolean", + "default": false + }, + "verify_key": { + "type": "string" + }, + "owner": { + "$ref": "#/components/schemas/User" + }, + "flags": { + "type": "integer", + "default": 0 + }, + "redirect_uris": { "type": "array", "items": { "type": "string" - } - } - }, - "required": [ - "count", - "emoji", - "user_ids" - ] - }, - "PartialEmoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } }, - "additionalProperties": false, - "required": [ - "name" - ] + "default": [] }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ] - }, - "MessageType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 255 - ] - }, - "ApplicationCommandType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4 - ] - }, - "BaseMessageComponents": { - "anyOf": [ - { - "$ref": "#/components/schemas/SectionComponent" + "rpc_application_state": { + "type": "integer", + "default": 0 }, - { - "$ref": "#/components/schemas/TextDisplayComponent" + "store_application_state": { + "type": "integer", + "default": 1 }, - { - "$ref": "#/components/schemas/MediaGalleryComponent" + "verification_state": { + "type": "integer", + "default": 1 }, - { - "$ref": "#/components/schemas/FileComponent" + "interactions_endpoint_url": { + "type": "string" }, - { - "$ref": "#/components/schemas/SeperatorComponent" + "integration_public": { + "type": "boolean", + "default": true }, - { - "$ref": "#/components/schemas/ActionRowComponent" + "integration_require_code_grant": { + "type": "boolean", + "default": false }, - { - "$ref": "#/components/schemas/ContainerComponent" - } - ] - }, - "SectionComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Section" + "discoverability_state": { + "type": "integer", + "default": 1 }, - "components": { + "discovery_eligibility_flags": { + "type": "integer", + "default": 2240 + }, + "bot": { + "$ref": "#/components/schemas/User" + }, + "tags": { "type": "array", "items": { - "$ref": "#/components/schemas/TextDisplayComponent" + "type": "string" } }, - "accessory": { - "anyOf": [ - { - "$ref": "#/components/schemas/ThumbnailComponent" + "cover_image": { + "type": "string" + }, + "install_params": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - { - "$ref": "#/components/schemas/ButtonComponent" + "permissions": { + "type": "string" } + }, + "additionalProperties": false, + "required": [ + "permissions", + "scopes" ] }, - "id": { - "type": "integer" - } - }, - "required": [ - "accessory", - "components", - "type" - ] - }, - "MessageComponentType.Section": { - "type": "number", - "const": 9 - }, - "TextDisplayComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.TextDisplay" + "terms_of_service_url": { + "type": "string" }, - "content": { + "privacy_policy_url": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "guild": { + "$ref": "#/components/schemas/Guild" + }, + "custom_install_url": { "type": "string" }, + "team": { + "$ref": "#/components/schemas/Team" + }, "id": { - "type": "integer" + "type": "string" } }, "required": [ - "content", - "type" + "description", + "discoverability_state", + "discovery_eligibility_flags", + "flags", + "hook", + "id", + "integration_public", + "integration_require_code_grant", + "name", + "owner", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "summary", + "verification_state", + "verify_key" ] }, - "MessageComponentType.TextDisplay": { - "type": "number", - "const": 10 - }, - "ThumbnailComponent": { + "Team": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Thumbnail" + "icon": { + "type": "string" }, - "description": { + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TeamMember" + } + }, + "name": { "type": "string" }, - "media": { - "$ref": "#/components/schemas/UnfurledMediaItem" + "owner_user_id": { + "type": "string" }, - "spoiler": { - "type": "boolean" + "owner_user": { + "$ref": "#/components/schemas/User" }, "id": { - "type": "integer" + "type": "string" } }, "required": [ - "media", - "type" + "id", + "members", + "name", + "owner_user", + "owner_user_id" ] }, - "MessageComponentType.Thumbnail": { - "type": "number", - "const": 11 - }, - "UnfurledMediaItem": { + "TeamMember": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "url": { - "type": "string" + "membership_state": { + "$ref": "#/components/schemas/TeamMemberState" }, - "proxy_url": { - "type": "string" - }, - "height": { - "type": "integer" - }, - "width": { - "type": "integer" - }, - "flags": { - "type": "integer" - }, - "content_type": { - "type": "string" - }, - "content_scan_metadata": {}, - "placeholder_version": { - "type": "integer" - }, - "placeholder": { - "type": "string" - }, - "loading_state": { - "type": "integer" - }, - "attachment_id": { - "type": "string" - } - }, - "required": [ - "url" - ] - }, - "ButtonComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Button" - }, - "style": { - "$ref": "#/components/schemas/ButtonStyle" - }, - "label": { - "type": "string" + "permissions": { + "type": "array", + "items": { + "type": "string" + } }, - "emoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ] + "role": { + "$ref": "#/components/schemas/TeamMemberRole" }, - "custom_id": { + "team_id": { "type": "string" }, - "sku_id": { - "type": "string" + "team": { + "$ref": "#/components/schemas/Team" }, - "url": { + "user_id": { "type": "string" }, - "disabled": { - "type": "boolean" + "user": { + "$ref": "#/components/schemas/User" }, "id": { - "type": "integer" + "type": "string" } }, "required": [ - "style", - "type" + "id", + "membership_state", + "permissions", + "role", + "team", + "team_id", + "user", + "user_id" ] }, - "MessageComponentType.Button": { - "type": "number", - "const": 2 - }, - "ButtonStyle": { + "TeamMemberState": { "type": "number", "enum": [ 1, - 2, - 3, - 4, - 5, - 6 + 2 ] }, - "MediaGalleryComponent": { + "TeamMemberRole": { + "type": "string", + "enum": [ + "admin", + "developer", + "read_only" + ] + }, + "GuildWelcomeScreen": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.MediaGallery" + "enabled": { + "type": "boolean" }, - "items": { + "description": { + "type": "string" + }, + "welcome_channels": { "type": "array", "items": { "type": "object", "properties": { - "media": { - "$ref": "#/components/schemas/UnfurledMediaItem" - }, "description": { "type": "string" }, - "spoiler": { - "type": "boolean" + "emoji_id": { + "type": "string" + }, + "emoji_name": { + "type": "string" + }, + "channel_id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "media" + "channel_id", + "description" ] } - }, - "id": { - "type": "integer" } }, "required": [ - "items", - "type" + "description", + "enabled", + "welcome_channels" ] }, - "MessageComponentType.MediaGallery": { - "type": "number", - "const": 12 - }, - "FileComponent": { + "UserGuildSettings": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.File" + "channel_overrides": { + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ChannelOverride" + } + }, + { + "type": "null" + } + ] }, - "file": { - "$ref": "#/components/schemas/UnfurledMediaItem" + "message_notifications": { + "type": "integer" }, - "spoiler": { + "mobile_push": { "type": "boolean" }, - "name": { - "type": "string" + "mute_config": { + "anyOf": [ + { + "$ref": "#/components/schemas/MuteConfig" + }, + { + "type": "null" + } + ] }, - "size": { + "muted": { + "type": "boolean" + }, + "suppress_everyone": { + "type": "boolean" + }, + "suppress_roles": { + "type": "boolean" + }, + "version": { "type": "integer" }, - "id": { + "guild_id": { + "type": "string", + "nullable": true + }, + "flags": { "type": "integer" - } - }, - "required": [ - "file", - "name", - "size", - "spoiler", - "type" - ] - }, - "MessageComponentType.File": { - "type": "number", - "const": 13 - }, - "SeperatorComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Separator" }, - "divider": { + "mute_scheduled_events": { "type": "boolean" }, - "spacing": { - "enum": [ - 1, - 2 - ], - "type": "number" + "hide_muted_channels": { + "type": "boolean" }, - "id": { - "type": "integer" + "notify_highlights": { + "type": "integer", + "const": 0 } }, "required": [ - "type" + "channel_overrides", + "flags", + "guild_id", + "hide_muted_channels", + "message_notifications", + "mobile_push", + "mute_config", + "mute_scheduled_events", + "muted", + "notify_highlights", + "suppress_everyone", + "suppress_roles", + "version" ] }, - "MessageComponentType.Separator": { - "type": "number", - "const": 14 - }, - "ActionRowComponent": { + "ChannelOverride": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.ActionRow" + "message_notifications": { + "type": "integer" }, - "components": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/ButtonComponent" - }, - { - "$ref": "#/components/schemas/SelectMenuComponent" - }, - { - "$ref": "#/components/schemas/StringSelectMenuComponent" - }, - { - "$ref": "#/components/schemas/TextInputComponent" - } - ] - } + "mute_config": { + "$ref": "#/components/schemas/MuteConfig" }, - "id": { - "type": "integer" + "muted": { + "type": "boolean" + }, + "channel_id": { + "type": "string", + "nullable": true } }, "required": [ - "components", - "type" + "channel_id", + "message_notifications", + "mute_config", + "muted" ] }, - "MessageComponentType.ActionRow": { - "type": "number", - "const": 1 - }, - "SelectMenuComponent": { + "MuteConfig": { "type": "object", "properties": { - "type": { - "enum": [ - 3, - 5, - 6, - 7, - 8 - ], - "type": "number" - }, - "custom_id": { - "type": "string" - }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } - }, - "placeholder": { - "type": "string" - }, - "default_values": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SelectMenuDefaultOption" - } - }, - "min_values": { - "type": "integer" - }, - "max_values": { + "end_time": { "type": "integer" }, - "disabled": { - "type": "boolean" - }, - "id": { + "selected_time_window": { "type": "integer" } }, "required": [ - "custom_id", - "type" + "end_time", + "selected_time_window" ] }, - "SelectMenuDefaultOption": { + "ThreadMemberMuteConfig": { + "type": "object", + "properties": { + "end_time": { + "type": "string", + "format": "date-time" + }, + "selected_time_window": { + "type": "integer" + } + } + }, + "ThreadMemberFlags": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 4, + 8 + ] + }, + "ChannelPermissionOverwrite": { "type": "object", "properties": { + "allow": { + "type": "string" + }, + "deny": { + "type": "string" + }, "id": { "type": "string" }, "type": { - "enum": [ - "channel", - "role", - "user" - ], - "type": "string" + "$ref": "#/components/schemas/ChannelPermissionOverwriteType" } }, "required": [ + "allow", + "deny", "id", "type" ] }, - "StringSelectMenuComponent": { + "ChannelPermissionOverwriteType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + "Message": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.StringSelect" + "channel_id": { + "type": "string" }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SelectMenuOption" - } + "channel": { + "$ref": "#/components/schemas/Channel" }, - "custom_id": { + "thread_id": { "type": "string" }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } + "thread": { + "$ref": "#/components/schemas/Channel" }, - "placeholder": { + "guild_id": { "type": "string" }, - "default_values": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SelectMenuDefaultOption" - } + "guild": { + "$ref": "#/components/schemas/Guild" }, - "min_values": { - "type": "integer" + "author_id": { + "type": "string" }, - "max_values": { - "type": "integer" + "author": { + "$ref": "#/components/schemas/User" }, - "disabled": { - "type": "boolean" + "member_id": { + "type": "string" }, - "id": { - "type": "integer" - } - }, - "required": [ - "custom_id", - "options", - "type" - ] - }, - "MessageComponentType.StringSelect": { - "type": "number", - "const": 3 - }, - "SelectMenuOption": { - "type": "object", - "properties": { - "label": { + "member": { + "$ref": "#/components/schemas/Member" + }, + "webhook_id": { "type": "string" }, - "value": { + "webhook": { + "$ref": "#/components/schemas/Webhook" + }, + "application_id": { "type": "string" }, - "description": { + "application": { + "$ref": "#/components/schemas/Application" + }, + "content": { "type": "string" }, - "emoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ] - }, - "default": { - "type": "boolean" - } - }, - "required": [ - "label", - "value" - ] - }, - "TextInputComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.TextInput" - }, - "custom_id": { - "type": "string" - }, - "style": { - "$ref": "#/components/schemas/TextInputStyle" - }, - "label": { - "type": "string" - }, - "min_length": { - "type": "integer" + "timestamp": { + "type": "string", + "format": "date-time" }, - "max_length": { - "type": "integer" + "edited_timestamp": { + "type": "string", + "format": "date-time" }, - "required": { + "tts": { "type": "boolean" }, - "value": { - "type": "string" - }, - "placeholder": { - "type": "string" - }, - "id": { - "type": "integer" - } - }, - "required": [ - "custom_id", - "label", - "style", - "type" - ] - }, - "MessageComponentType.TextInput": { - "type": "number", - "const": 4 - }, - "TextInputStyle": { - "type": "number", - "enum": [ - 1, - 2 - ] - }, - "ContainerComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Container" + "mention_everyone": { + "type": "boolean" }, - "components": { + "mentions": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SectionComponent" - }, - { - "$ref": "#/components/schemas/TextDisplayComponent" - }, - { - "$ref": "#/components/schemas/MediaGalleryComponent" - }, - { - "$ref": "#/components/schemas/FileComponent" - }, - { - "$ref": "#/components/schemas/SeperatorComponent" - }, - { - "$ref": "#/components/schemas/ActionRowComponent" - } - ] + "$ref": "#/components/schemas/User" } }, - "accent_color": { - "type": "integer" + "mention_roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } }, - "spoiler": { - "type": "boolean" + "mention_channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } }, - "id": { - "type": "integer" - } - }, - "required": [ - "components", - "type" - ] - }, - "MessageComponentType.Container": { - "type": "number", - "const": 17 - }, - "Poll": { - "type": "object", - "properties": { - "question": { - "$ref": "#/components/schemas/PollMedia" + "sticker_items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sticker" + } }, - "answers": { + "attachments": { "type": "array", "items": { - "$ref": "#/components/schemas/PollAnswer" + "$ref": "#/components/schemas/Attachment" } }, - "expiry": { - "type": "string", - "format": "date-time" + "embeds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Embed" + } }, - "allow_multiselect": { - "type": "boolean" + "reactions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Reaction" + } }, - "results": { - "$ref": "#/components/schemas/PollResult" - } - }, - "required": [ - "allow_multiselect", - "answers", - "expiry", - "question" - ] - }, - "PollMedia": { - "type": "object", - "properties": { - "text": { + "nonce": { "type": "string" }, - "emoji": { + "pinned_at": { "anyOf": [ { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] + "type": "string", + "format": "date-time" }, { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] + "type": "null" } ] - } - } - }, - "PollAnswer": { - "type": "object", - "properties": { - "answer_id": { - "type": "string" }, - "poll_media": { - "$ref": "#/components/schemas/PollMedia" - } - }, - "required": [ - "poll_media" - ] - }, - "PollResult": { - "type": "object", - "properties": { - "is_finalized": { + "pinned": { "type": "boolean" }, - "answer_counts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PollAnswerCount" - } - } - }, - "required": [ - "answer_counts", - "is_finalized" - ] - }, - "PollAnswerCount": { - "type": "object", - "properties": { - "id": { - "type": "string" + "type": { + "$ref": "#/components/schemas/MessageType" }, - "count": { - "type": "integer" - }, - "me_voted": { - "type": "boolean" - } - }, - "required": [ - "count", - "id", - "me_voted" - ] - }, - "PartialUser": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "global_name": { - "type": "string", - "nullable": true + "activity": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "party_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "party_id", + "type" + ] }, - "avatar": { - "type": "string", - "nullable": true + "flags": { + "type": "integer" }, - "avatar_decoration_data": { - "anyOf": [ - { - "$ref": "#/components/schemas/AvatarDecorationData" + "message_reference": { + "type": "object", + "properties": { + "message_id": { + "type": "string" }, - { - "type": "null" + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "type": { + "type": "integer" } - ] + }, + "additionalProperties": false }, - "collectibles": { + "referenced_message": { "anyOf": [ { - "$ref": "#/components/schemas/Collectibles" + "$ref": "#/components/schemas/Message" }, { "type": "null" } ] }, - "display_name_styles": { - "anyOf": [ - { - "$ref": "#/components/schemas/DisplayNameStyle" + "interaction": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "type": "null" + "type": { + "$ref": "#/components/schemas/InteractionType" + }, + "name": { + "type": "string" } + }, + "additionalProperties": false, + "required": [ + "id", + "name", + "type" ] }, - "primary_guild": { - "anyOf": [ - { - "$ref": "#/components/schemas/PrimaryGuild" + "interaction_metadata": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "type": "null" + "type": { + "$ref": "#/components/schemas/InteractionType" + }, + "user_id": { + "type": "string" + }, + "authorizing_integration_owners": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "name": { + "type": "string" + }, + "command_type": { + "$ref": "#/components/schemas/ApplicationCommandType" } + }, + "additionalProperties": false, + "required": [ + "authorizing_integration_owners", + "command_type", + "id", + "name", + "type", + "user_id" ] }, - "bot": { - "type": "boolean" + "components": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseMessageComponents" + } }, - "system": { - "type": "boolean" + "poll": { + "$ref": "#/components/schemas/Poll" }, - "banner": { - "type": "string", - "nullable": true + "username": { + "type": "string" }, - "accent_color": { - "type": "integer", - "nullable": true + "avatar": { + "type": "string" }, - "public_flags": { - "type": "integer" + "message_snapshots": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageSnapshot" + } + }, + "id": { + "type": "string" } }, "required": [ - "avatar", - "discriminator", + "channel", + "embeds", + "flags", "id", - "username" + "mention_channels", + "mention_roles", + "mentions", + "message_snapshots", + "pinned", + "reactions", + "timestamp", + "type" ] }, - "PublicAttachment": { + "Attachment": { "type": "object", "properties": { "filename": { @@ -12512,196 +11655,95 @@ "content_type": { "type": "string" }, - "url": { + "message_id": { "type": "string" }, - "proxy_url": { + "channel_id": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/Message" + }, + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "id": { "type": "string" } }, "required": [ + "channel", + "channel_id", "filename", - "proxy_url", - "size", - "url" + "id", + "message", + "message_id", + "size" ] }, - "MessageComponent": { + "Reaction": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType" - }, - "id": { + "count": { "type": "integer" + }, + "emoji": { + "$ref": "#/components/schemas/PartialEmoji" + }, + "user_ids": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "type" - ] - }, - "MessageComponentType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 + "count", + "emoji", + "user_ids" ] }, - "VoiceState": { - "type": "object", - "properties": { - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/components/schemas/User" - }, - "member": { - "$ref": "#/components/schemas/Member" - }, - "session_id": { - "type": "string" - }, - "token": { - "type": "string" - }, - "deaf": { - "type": "boolean" - }, - "mute": { - "type": "boolean" - }, - "self_deaf": { - "type": "boolean" - }, - "self_mute": { - "type": "boolean" - }, - "self_stream": { - "type": "boolean" - }, - "self_video": { - "type": "boolean" - }, - "suppress": { - "type": "boolean" - }, - "request_to_speak_timestamp": { - "type": "string", - "format": "date-time" - }, - "id": { - "type": "string" - } - }, - "required": [ - "channel", - "channel_id", - "deaf", - "guild_id", - "id", - "member", - "mute", - "self_deaf", - "self_mute", - "self_video", - "session_id", - "suppress", - "token", - "user", - "user_id" - ] - }, - "ReadState": { - "type": "object", - "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/components/schemas/User" - }, - "last_message_id": { - "type": "string" - }, - "last_acked_id": { - "type": "string" - }, - "notifications_cursor": { - "type": "string" - }, - "mention_count": { - "type": "integer" - }, - "badge_count": { - "type": "integer" - }, - "last_pin_timestamp": { - "type": "string", - "format": "date-time" - }, - "read_state_type": { - "$ref": "#/components/schemas/ReadStateType" - }, - "flags": { - "$ref": "#/components/schemas/ReadStateFlags" + "PartialEmoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] }, - "id": { - "type": "string" + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] } - }, - "required": [ - "badge_count", - "channel", - "channel_id", - "flags", - "id", - "mention_count", - "notifications_cursor", - "read_state_type", - "user", - "user_id" ] }, - "ReadStateType": { + "MessageType": { "type": "number", "enum": [ 0, @@ -12709,509 +11751,633 @@ 2, 3, 4, - 5 + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 255 ] }, - "ReadStateFlags": { + "ApplicationCommandType": { "type": "number", "enum": [ 1, 2, + 3, 4 ] }, - "ThreadMetadata": { + "Poll": { "type": "object", "properties": { - "archived": { - "type": "boolean" - }, - "auto_archive_duration": { - "type": "integer" + "question": { + "$ref": "#/components/schemas/PollMedia" }, - "archive_timestamp": { - "type": "string" + "answers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PollAnswer" + } }, - "locked": { - "type": "boolean" + "expiry": { + "type": "string", + "format": "date-time" }, - "invitable": { + "allow_multiselect": { "type": "boolean" }, - "create_timestamp": { - "type": "string" + "results": { + "$ref": "#/components/schemas/PollResult" } }, "required": [ - "archive_timestamp", - "archived", - "auto_archive_duration", - "create_timestamp", - "locked" + "allow_multiselect", + "answers", + "expiry", + "question" ] }, - "Tag": { + "PollMedia": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "name": { - "type": "string" - }, - "moderated": { - "type": "boolean", - "default": false - }, - "emoji_id": { - "type": "string" - }, - "emoji_name": { + "text": { "type": "string" }, - "id": { - "type": "string" + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } + ] } - }, - "required": [ - "channel", - "channel_id", - "id", - "moderated", - "name" - ] + } }, - "Ban": { + "PollAnswer": { "type": "object", "properties": { - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/components/schemas/User" - }, - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "executor_id": { - "type": "string" - }, - "executor": { - "$ref": "#/components/schemas/User" - }, - "ip": { - "type": "string" - }, - "reason": { + "answer_id": { "type": "string" }, - "id": { - "type": "string" + "poll_media": { + "$ref": "#/components/schemas/PollMedia" } }, "required": [ - "executor", - "executor_id", - "guild", - "guild_id", - "id", - "user", - "user_id" + "poll_media" ] }, - "Template": { + "PollResult": { "type": "object", "properties": { - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "usage_count": { - "type": "integer" - }, - "creator_id": { - "type": "string" - }, - "creator": { - "$ref": "#/components/schemas/User" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "source_guild_id": { - "type": "string" - }, - "source_guild": { - "$ref": "#/components/schemas/Guild" - }, - "serialized_source_guild": { - "$ref": "#/components/schemas/Guild" + "is_finalized": { + "type": "boolean" }, - "id": { - "type": "string" + "answer_counts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PollAnswerCount" + } } }, "required": [ - "code", - "created_at", - "creator", - "creator_id", - "id", - "name", - "serialized_source_guild", - "source_guild", - "source_guild_id", - "updated_at" + "answer_counts", + "is_finalized" ] }, - "Emoji": { + "PollAnswerCount": { "type": "object", "properties": { - "animated": { - "type": "boolean" - }, - "available": { - "type": "boolean" - }, - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "user_id": { + "id": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" - }, - "managed": { - "type": "boolean" - }, - "name": { - "type": "string" + "count": { + "type": "integer" }, - "require_colons": { + "me_voted": { "type": "boolean" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" } }, "required": [ - "animated", - "available", - "groups", - "guild", - "guild_id", + "count", "id", - "managed", - "name", - "require_colons", - "roles", - "user", - "user_id" + "me_voted" ] }, - "GuildWelcomeScreen": { + "MessageSnapshot": { "type": "object", "properties": { - "enabled": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "welcome_channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "emoji_id": { - "type": "string" - }, - "emoji_name": { - "type": "string" - }, - "channel_id": { - "type": "string" - } + "message": { + "type": "object", + "properties": { + "content": { + "type": "string" }, - "additionalProperties": false, - "required": [ - "channel_id", - "description" - ] - } + "timestamp": { + "type": "string", + "format": "date-time" + }, + "edited_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "mentions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PartialUser" + } + }, + "mention_roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PublicAttachment" + } + }, + "embeds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Embed" + } + }, + "type": { + "$ref": "#/components/schemas/MessageType" + }, + "flags": { + "type": "integer" + }, + "components": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageComponent" + } + }, + "resolved": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "sticker_items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sticker" + } + } + }, + "additionalProperties": false, + "required": [ + "content", + "embeds", + "flags", + "mention_roles", + "mentions", + "timestamp", + "type" + ] } }, "required": [ - "description", - "enabled", - "welcome_channels" + "message" ] }, - "PartialMessage": { - "description": "https://docs.discord.food/resources/message#partial-message-structure", + "PartialUser": { "type": "object", "properties": { "id": { "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "channel_id": { + "username": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/MessageType" - }, - "content": { + "discriminator": { "type": "string" }, - "author": { - "$ref": "#/components/schemas/PartialUser" + "global_name": { + "type": "string", + "nullable": true }, - "flags": { - "type": "integer" + "avatar": { + "type": "string", + "nullable": true }, - "application_id": { - "type": "string" - } - }, - "required": [ - "author", - "channel_id", - "content", - "id", - "type" - ] - }, - "HubGuild": { - "type": "object", - "properties": { - "icon": { - "type": "string" + "avatar_decoration_data": { + "anyOf": [ + { + "$ref": "#/components/schemas/AvatarDecorationData" + }, + { + "type": "null" + } + ] }, - "id": { - "type": "string" + "collectibles": { + "anyOf": [ + { + "$ref": "#/components/schemas/Collectibles" + }, + { + "type": "null" + } + ] }, - "name": { - "type": "string" + "display_name_styles": { + "anyOf": [ + { + "$ref": "#/components/schemas/DisplayNameStyle" + }, + { + "type": "null" + } + ] + }, + "primary_guild": { + "anyOf": [ + { + "$ref": "#/components/schemas/PrimaryGuild" + }, + { + "type": "null" + } + ] + }, + "bot": { + "type": "boolean" + }, + "system": { + "type": "boolean" + }, + "banner": { + "type": "string", + "nullable": true + }, + "accent_color": { + "type": "integer", + "nullable": true + }, + "public_flags": { + "type": "integer" } }, "required": [ - "icon", + "avatar", + "discriminator", "id", - "name" + "username" ] }, - "EmojiGuild": { + "PublicAttachment": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { + "filename": { "type": "string" }, - "icon": { - "type": "string", - "nullable": true - }, - "description": { - "type": "string", - "nullable": true - }, - "features": { - "type": "array", - "items": { - "type": "string" - } - }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Emoji" - } - }, - "premium_tier": { + "size": { "type": "integer" }, - "premium_subscription_count": { + "height": { "type": "integer" }, - "approximate_member_count": { + "width": { "type": "integer" }, - "approximate_presence_count": { - "type": "integer" + "content_type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "proxy_url": { + "type": "string" } }, "required": [ - "emojis", - "features", - "id", - "name", - "premium_tier" + "filename", + "proxy_url", + "size", + "url" ] }, - "EmojiApplication": { + "MessageComponent": { "type": "object", "properties": { - "id": { - "type": "string" + "type": { + "$ref": "#/components/schemas/MessageComponentType" }, - "name": { - "type": "string" + "id": { + "type": "integer" } }, "required": [ - "id", - "name" + "type" ] }, - "GuildMessagesSearchMessage": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/MessageType" + "MessageComponentType": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + }, + "ReadState": { + "type": "object", + "properties": { + "channel_id": { + "type": "string" }, - "content": { + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "user_id": { "type": "string" }, - "channel_id": { + "user": { + "$ref": "#/components/schemas/User" + }, + "last_message_id": { "type": "string" }, - "author": { - "$ref": "#/components/schemas/PublicUser" + "last_acked_id": { + "type": "string" }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicAttachment" - } + "notifications_cursor": { + "type": "string" }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } + "mention_count": { + "type": "integer" }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicUser" - } + "badge_count": { + "type": "integer" }, - "mention_roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } + "last_pin_timestamp": { + "type": "string", + "format": "date-time" }, - "pinned": { + "read_state_type": { + "$ref": "#/components/schemas/ReadStateType" + }, + "flags": { + "$ref": "#/components/schemas/ReadStateFlags" + }, + "id": { + "type": "string" + } + }, + "required": [ + "badge_count", + "channel", + "channel_id", + "flags", + "id", + "mention_count", + "notifications_cursor", + "read_state_type", + "user", + "user_id" + ] + }, + "ReadStateType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + }, + "ReadStateFlags": { + "type": "number", + "enum": [ + 1, + 2, + 4 + ] + }, + "ThreadMetadata": { + "type": "object", + "properties": { + "archived": { "type": "boolean" }, - "mention_everyone": { + "auto_archive_duration": { + "type": "integer" + }, + "archive_timestamp": { + "type": "string" + }, + "locked": { "type": "boolean" }, - "tts": { + "invitable": { "type": "boolean" }, - "timestamp": { + "create_timestamp": { + "type": "string" + } + }, + "required": [ + "archive_timestamp", + "archived", + "auto_archive_duration", + "create_timestamp", + "locked" + ] + }, + "Tag": { + "type": "object", + "properties": { + "channel_id": { "type": "string" }, - "edited_timestamp": { - "type": "string", - "nullable": true + "channel": { + "$ref": "#/components/schemas/Channel" }, - "flags": { - "type": "integer" + "name": { + "type": "string" }, - "components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } + "moderated": { + "type": "boolean", + "default": false }, - "poll": { - "$ref": "#/components/schemas/Poll" + "emoji_id": { + "type": "string" }, - "hit": { - "type": "boolean", - "const": true + "emoji_name": { + "type": "string" + }, + "id": { + "type": "string" } }, "required": [ - "attachments", - "author", + "channel", "channel_id", - "components", - "edited_timestamp", - "embeds", - "flags", - "hit", "id", - "mention_roles", - "mentions", - "pinned", - "poll", - "timestamp", - "tts", - "type" + "moderated", + "name" ] }, - "PublicUser": { + "PublicMember": { "type": "object", "properties": { "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "banner": { + "guild_id": { "type": "string" }, - "premium_since": { + "flags": { + "type": "integer" + }, + "nick": { + "type": "string" + }, + "joined_at": { "type": "string", "format": "date-time" }, + "pending": { + "type": "boolean" + }, + "deaf": { + "type": "boolean" + }, + "mute": { + "type": "boolean" + }, + "premium_since": { + "type": "integer" + }, "avatar": { "type": "string" }, + "banner": { + "type": "string" + }, "bio": { "type": "string" }, @@ -13224,31 +12390,96 @@ "pronouns": { "type": "string" }, - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "public_flags": { - "type": "integer" - }, - "accent_color": { - "type": "integer" - }, - "bot": { - "type": "boolean" + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "premium_type": { - "type": "integer" + "user": { + "$ref": "#/components/schemas/PublicUser" }, - "badge_ids": { + "roles": { "type": "array", "items": { "type": "string" } - }, - "avatar_decoration_data": { + } + }, + "required": [ + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", + "id", + "joined_at", + "mute", + "pending", + "roles", + "user" + ] + }, + "PublicUser": { + "type": "object", + "properties": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "premium_since": { + "type": "string", + "format": "date-time" + }, + "avatar": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "bio": { + "type": "string" + }, + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "pronouns": { + "type": "string" + }, + "username": { + "type": "string" + }, + "discriminator": { + "type": "string" + }, + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { + "type": "boolean" + }, + "premium_type": { + "type": "integer" + }, + "badge_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "avatar_decoration_data": { "$ref": "#/components/schemas/AvatarDecorationData" }, "display_name_styles": { @@ -13272,408 +12503,1088 @@ "username" ] }, - "PublicAttachment_1": { + "GameActivity": { "type": "object", "properties": { - "filename": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "height": { + "activity_level": { "type": "integer" }, - "width": { + "activity_score": { "type": "integer" - }, - "content_type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "proxy_url": { - "type": "string" } }, "required": [ - "filename", - "proxy_url", - "size", - "url" + "activity_level", + "activity_score" ] }, - "GuildVanityUrl": { + "GuildBadgeType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + }, + "GuildTrait": { "type": "object", "properties": { - "code": { + "emoji_id": { + "type": "string", + "nullable": true + }, + "emoji_name": { + "type": "string", + "nullable": true + }, + "emoji_animated": { + "type": "boolean" + }, + "label": { "type": "string" }, - "uses": { + "position": { "type": "integer" } }, "required": [ - "code", - "uses" + "emoji_animated", + "emoji_id", + "emoji_name", + "label", + "position" ] }, - "GuildVanityUrlNoInvite": { - "type": "object", - "properties": { - "code": { - "type": "null" - } - }, - "required": [ - "code" + "GuildVisibilityLevel": { + "type": "number", + "enum": [ + 1, + 2, + 3 ] }, - "HubDirectoryEntry": { + "Classification": { "type": "object", "properties": { - "author_id": { + "id": { "type": "string" }, - "created_at": { - "type": "string" + "classification_type": { + "$ref": "#/components/schemas/ClassificationType" }, "description": { "type": "string" }, - "directory_channel_id": { + "explainer_link": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "primary_category_id": { - "type": "integer" + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClassificationAction" + } }, - "type": { - "type": "integer" - } - }, - "required": [ - "author_id", - "created_at", - "description", - "directory_channel_id", - "guild", - "primary_category_id", - "type" - ] - }, - "RefreshedUrl": { - "type": "object", - "properties": { - "original": { + "max_expiration_time": { "type": "string" }, - "refreshed": { - "type": "string" + "flagged_content": { + "type": "array", + "items": {} + }, + "appeal_status": { + "$ref": "#/components/schemas/AppealStatus" + }, + "is_coppa": { + "type": "boolean" + }, + "is_spam": { + "type": "boolean" + }, + "appeal_ingestion_type": { + "$ref": "#/components/schemas/AppealIngestionType" } }, "required": [ - "original", - "refreshed" + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", + "id", + "is_coppa", + "is_spam", + "max_expiration_time" ] }, - "JsonValue": { - "description": "Represents any possible JSON value:\n- number\n- string\n- boolean\n- null\n- object (with any JSON value as property)\n- array (with any JSON value as element)", - "anyOf": [ - { - "description": "Represents a JSON object.", - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/JsonValue" - } - }, - { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "$ref": "#/components/schemas/JsonValue" - } - }, - "properties": { - "length": { - "type": "integer" + "ClassificationType": { + "type": "number", + "enum": [ + 1, + 100, + 200, + 210, + 220, + 230, + 240, + 250, + 280, + 290, + 310, + 320, + 390, + 600, + 650, + 711, + 720, + 3010, + 3030, + 4000, + 4010, + 4130, + 4140, + 5010, + 5090, + 5305, + 5411, + 5440, + 5485 + ] + }, + "ClassificationAction": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "action_type": { + "$ref": "#/components/schemas/ClassificationActionType" + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "action_type", + "descriptions", + "id" + ] + }, + "ClassificationActionType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 20, + 22 + ] + }, + "AppealStatus": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/AppealStatusValue" + } + }, + "required": [ + "status" + ] + }, + "AppealStatusValue": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ] + }, + "AppealIngestionType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + "GuildClassification": { + "type": "object", + "properties": { + "guild_metadata": { + "$ref": "#/components/schemas/GuildMetadata" + }, + "id": { + "type": "string" + }, + "classification_type": { + "$ref": "#/components/schemas/ClassificationType" + }, + "description": { + "type": "string" + }, + "explainer_link": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClassificationAction" + } + }, + "max_expiration_time": { + "type": "string" + }, + "flagged_content": { + "type": "array", + "items": {} + }, + "appeal_status": { + "$ref": "#/components/schemas/AppealStatus" + }, + "is_coppa": { + "type": "boolean" + }, + "is_spam": { + "type": "boolean" + }, + "appeal_ingestion_type": { + "$ref": "#/components/schemas/AppealIngestionType" + } + }, + "required": [ + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", + "guild_metadata", + "id", + "is_coppa", + "is_spam", + "max_expiration_time" + ] + }, + "GuildMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "member_type": { + "$ref": "#/components/schemas/GuildMemberType" + } + }, + "required": [ + "member_type", + "name" + ] + }, + "GuildMemberType": { + "type": "number", + "enum": [ + 1, + 2 + ] + }, + "AccountStandingState": { + "type": "number", + "enum": [ + 100, + 200, + 300, + 400, + 500 + ] + }, + "AppealEligibility": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ] + }, + "CollectiblesCategoryItem": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": "string", + "nullable": true + }, + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" + }, + "logo": { + "type": "string" + }, + "hero_ranking": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, - "__@unscopables@698": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "type": "boolean" - } - }, - "properties": { - "length": { - "type": "boolean" - }, - "toString": { - "type": "boolean" - }, - "toLocaleString": { - "type": "boolean" - }, - "pop": { - "type": "boolean" - }, - "push": { - "type": "boolean" - }, - "concat": { - "type": "boolean" - }, - "join": { - "type": "boolean" - }, - "reverse": { - "type": "boolean" - }, - "shift": { - "type": "boolean" - }, - "slice": { - "type": "boolean" - }, - "sort": { - "type": "boolean" - }, - "splice": { - "type": "boolean" - }, - "unshift": { - "type": "boolean" - }, - "indexOf": { - "type": "boolean" - }, - "lastIndexOf": { - "type": "boolean" - }, - "every": { - "type": "boolean" - }, - "some": { - "type": "boolean" - }, - "forEach": { - "type": "boolean" - }, - "map": { - "type": "boolean" - }, - "filter": { - "type": "boolean" - }, - "reduce": { - "type": "boolean" - }, - "reduceRight": { - "type": "boolean" - }, - "find": { - "type": "boolean" - }, - "findIndex": { - "type": "boolean" - }, - "fill": { - "type": "boolean" - }, - "copyWithin": { - "type": "boolean" - }, - "entries": { - "type": "boolean" - }, - "keys": { - "type": "boolean" - }, - "values": { - "type": "boolean" - }, - "includes": { - "type": "boolean" - }, - "flatMap": { - "type": "boolean" - }, - "flat": { - "type": "boolean" - }, - "at": { - "type": "boolean" - }, - "findLast": { - "type": "boolean" - }, - "findLastIndex": { - "type": "boolean" - }, - "toReversed": { - "type": "boolean" - }, - "toSorted": { - "type": "boolean" - }, - "toSpliced": { - "type": "boolean" - }, - "with": { - "type": "boolean" - }, - "__@iterator@696": { - "type": "boolean" - }, - "__@unscopables@698": { - "type": "boolean" - } + { + "type": "null" + } + ] + }, + "mobile_bg": { + "type": "string", + "nullable": true + }, + "pdp_bg": { + "type": "string", + "nullable": true + }, + "success_modal_bg": { + "type": "string", + "nullable": true + }, + "mobile_banner": { + "type": "string", + "nullable": true + }, + "featured_block": { + "type": "string", + "nullable": true + }, + "hero_banner": { + "type": "string", + "nullable": true + }, + "wide_banner": { + "type": "string", + "nullable": true + }, + "hero_logo": { + "type": "string", + "nullable": true + }, + "products": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectiblesCategoryProductItem" + } + }, + "banner_asset": { + "$ref": "#/components/schemas/StaticAnimatedAsset" + }, + "hero_banner_asset": { + "$ref": "#/components/schemas/StaticAnimatedAsset" + } + }, + "required": [ + "banner", + "featured_block", + "hero_banner", + "hero_logo", + "hero_ranking", + "logo", + "mobile_banner", + "mobile_bg", + "name", + "pdp_bg", + "products", + "sku_id", + "store_listing_id", + "styles", + "success_modal_bg", + "summary", + "unpublished_at", + "wide_banner" + ] + }, + "CollectiblesCategoryStyle": { + "type": "object", + "properties": { + "background_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "button_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "confetti_colors": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "required": [ + "background_colors", + "button_colors", + "confetti_colors" + ] + }, + "CollectiblesCategoryProductItem": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": "string", + "nullable": true + }, + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" + }, + "prices": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/components/schemas/CountryPrice" } - } - }, - "required": [ - "__@unscopables@698", - "length" - ] + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] + } + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductItem" + } + }, + "type": { + "type": "integer" + }, + "premium_type": { + "type": "integer" + }, + "category_sku_id": { + "type": "string" + }, + "google_sku_ids": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "variants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductItemVariant" + } + } + }, + "required": [ + "banner", + "category_sku_id", + "google_sku_ids", + "items", + "name", + "premium_type", + "prices", + "sku_id", + "store_listing_id", + "styles", + "summary", + "type", + "unpublished_at" + ] + }, + "CountryPrice": { + "type": "object", + "properties": { + "country_code": { + "type": "string" + }, + "prices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PriceEntry" + } + } + }, + "required": [ + "country_code", + "prices" + ] + }, + "PriceEntry": { + "type": "object", + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "exponent": { + "type": "integer" + } + }, + "required": [ + "amount", + "currency", + "exponent" + ] + }, + "ProductItem": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "sku_id": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "label": { + "type": "string" + }, + "palette": { + "type": "string" + } + }, + "required": [ + "id", + "sku_id", + "type" + ] + }, + "ProductItemVariant": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "name_localizations": { + "type": "null" + }, + "summary": { + "type": "string" + }, + "summary_localizations": { + "type": "null" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": "string", + "nullable": true + }, + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" + }, + "prices": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/components/schemas/CountryPrice" + } + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] + } + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductItem" + } + }, + "type": { + "type": "integer" + }, + "premium_type": { + "type": "integer" + }, + "category_sku_id": { + "type": "string" + }, + "google_sku_ids": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "base_variant_sku_id": { + "type": "string" + }, + "base_variant_name": { + "type": "string" + }, + "variant_label": { + "type": "string" + }, + "variant_value": { + "type": "string" + } + }, + "required": [ + "base_variant_name", + "base_variant_sku_id", + "category_sku_id", + "items", + "name", + "name_localizations", + "premium_type", + "prices", + "sku_id", + "store_listing_id", + "summary", + "summary_localizations", + "type", + "variant_label", + "variant_value" + ] + }, + "StaticAnimatedAsset": { + "type": "object", + "properties": { + "animated": { + "type": "string", + "nullable": true }, + "static": { + "type": "string" + } + }, + "required": [ + "animated", + "static" + ] + }, + "CollectiblesMarketingItem": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "version": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + } + }, + "required": [ + "body", + "title", + "type", + "version" + ] + }, + "AnyShopBlock": { + "anyOf": [ { - "type": [ - "null", - "string", - "integer", - "boolean" - ] + "$ref": "#/components/schemas/ItemRowShopBlock" + }, + { + "$ref": "#/components/schemas/BundleTileRowShopBlock" + }, + { + "$ref": "#/components/schemas/ItemCollectionShopBlock" } ] }, - "BackupCode": { + "ItemRowShopBlock": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/User" + "type": { + "type": "integer", + "const": 0 }, - "code": { + "category_sku_id": { "type": "string" }, - "consumed": { - "type": "boolean" + "name": { + "type": "string" }, - "expired": { - "type": "boolean" + "category_store_listing_id": { + "type": "string" }, - "id": { + "banner_asset": { + "$ref": "#/components/schemas/StaticAnimatedAsset" + }, + "logo_url": { + "type": "string" + }, + "unpublished_at": { + "type": "string", + "nullable": true + }, + "summary": { + "type": "string" + }, + "ranked_sku_ids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "banner_asset", + "category_sku_id", + "category_store_listing_id", + "logo_url", + "name", + "ranked_sku_ids", + "summary", + "type", + "unpublished_at" + ] + }, + "BundleTileRowShopBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "const": 1 + }, + "subblocks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShopBlockSubBlock" + } + } + }, + "required": [ + "subblocks", + "type" + ] + }, + "ShopBlockSubBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "category_store_listing_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "unpublished_at": { + "type": "string", + "nullable": true + }, + "banner_url": { "type": "string" + }, + "body_text": { + "type": "string", + "nullable": true + }, + "banner_text_color": { + "type": "integer", + "nullable": true + } + }, + "required": [ + "banner_text_color", + "banner_url", + "body_text", + "category_store_listing_id", + "name", + "type", + "unpublished_at" + ] + }, + "ItemCollectionShopBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "const": 2 + }, + "ranked_sku_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "sorted_sku_ids": { + "type": "object", + "properties": { + "recommended": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "popular": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "popular", + "recommended" + ] } }, "required": [ - "code", - "consumed", - "expired", - "id", - "user" - ] - }, - "InteractionCallbackType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 + "ranked_sku_ids", + "sorted_sku_ids", + "type" ] }, - "PongCallback": { + "PartialMessage": { + "description": "https://docs.discord.food/resources/message#partial-message-structure", "type": "object", "properties": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "channel_id": { + "type": "string" + }, "type": { - "$ref": "#/components/schemas/InteractionCallbackType.PONG" + "$ref": "#/components/schemas/MessageType" }, - "data": {} + "content": { + "type": "string" + }, + "author": { + "$ref": "#/components/schemas/PartialUser" + }, + "flags": { + "type": "integer" + }, + "application_id": { + "type": "string" + } }, "required": [ - "data", + "author", + "channel_id", + "content", + "id", "type" ] }, - "InteractionCallbackType.PONG": { - "type": "number", - "const": 1 - }, - "AckCallback": { + "HubGuild": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.ACKNOWLEDGE" + "icon": { + "type": "string" }, - "data": {} + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "data", - "type" + "icon", + "id", + "name" ] }, - "InteractionCallbackType.ACKNOWLEDGE": { - "type": "number", - "const": 2 - }, - "MessageCallback": { + "EmojiGuild": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE" + "id": { + "type": "string" }, - "data": {} + "name": { + "type": "string" + }, + "icon": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "emojis": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Emoji" + } + }, + "premium_tier": { + "type": "integer" + }, + "premium_subscription_count": { + "type": "integer" + }, + "approximate_member_count": { + "type": "integer" + }, + "approximate_presence_count": { + "type": "integer" + } }, "required": [ - "data", - "type" + "emojis", + "features", + "id", + "name", + "premium_tier" ] }, - "InteractionCallbackType.CHANNEL_MESSAGE": { - "type": "number", - "const": 3 - }, - "MessageWSourceCallback": { + "EmojiApplication": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" + "id": { + "type": "string" }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "name": { + "type": "string" } }, "required": [ - "data", - "type" + "id", + "name" ] }, - "InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE": { - "type": "number", - "const": 4 - }, - "InteractionMessage": { + "GuildMessagesSearchMessage": { "type": "object", "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/MessageType" + }, "content": { "type": "string" }, - "tts": { - "type": "boolean" + "channel_id": { + "type": "string" + }, + "author": { + "$ref": "#/components/schemas/PublicUser" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PublicAttachment" + } }, "embeds": { "type": "array", @@ -13681,332 +13592,345 @@ "$ref": "#/components/schemas/Embed" } }, - "allowed_mentions": { - "$ref": "#/components/schemas/AllowedMentions" + "mentions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PublicUser" + } }, - "components": { + "mention_roles": { "type": "array", "items": { - "$ref": "#/components/schemas/BaseMessageComponents" + "$ref": "#/components/schemas/Role" } }, + "pinned": { + "type": "boolean" + }, + "mention_everyone": { + "type": "boolean" + }, + "tts": { + "type": "boolean" + }, + "timestamp": { + "type": "string" + }, + "edited_timestamp": { + "type": "string", + "nullable": true + }, "flags": { "type": "integer" }, - "attachments": { + "components": { "type": "array", "items": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "id" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "uploaded_filename": { - "type": "string" - }, - "original_content_type": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "uploaded_filename" - ] - } - ] + "$ref": "#/components/schemas/BaseMessageComponents" } }, "poll": { - "$ref": "#/components/schemas/PollCreationSchema" + "$ref": "#/components/schemas/Poll" + }, + "hit": { + "type": "boolean", + "const": true } - } + }, + "required": [ + "attachments", + "author", + "channel_id", + "components", + "edited_timestamp", + "embeds", + "flags", + "hit", + "id", + "mention_roles", + "mentions", + "pinned", + "poll", + "timestamp", + "tts", + "type" + ] }, - "MessageDWSourceCallback": { + "GuildVanityUrl": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" + "code": { + "type": "string" }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "uses": { + "type": "integer" } }, "required": [ - "data", - "type" + "code", + "uses" ] }, - "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { - "type": "number", - "const": 5 - }, - "MessageUpdateCallback": { + "GuildVanityUrlNoInvite": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.UPDATE_MESSAGE" - }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "code": { + "type": "null" } }, "required": [ - "data", - "type" + "code" ] }, - "InteractionCallbackType.UPDATE_MESSAGE": { - "type": "number", - "const": 7 - }, - "MessageDUpdateCallback": { + "HubDirectoryEntry": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" + "author_id": { + "type": "string" }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "created_at": { + "type": "string" + }, + "description": { + "type": "string" + }, + "directory_channel_id": { + "type": "string" + }, + "guild": { + "$ref": "#/components/schemas/Guild" + }, + "primary_category_id": { + "type": "integer" + }, + "type": { + "type": "integer" } }, "required": [ - "data", + "author_id", + "created_at", + "description", + "directory_channel_id", + "guild", + "primary_category_id", "type" ] }, - "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { - "type": "number", - "const": 6 - }, - "InteractionGuild": { + "RefreshedUrl": { "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "original": { "type": "string" }, - "features": { - "type": "array", - "items": { - "type": "string" + "refreshed": { + "type": "string" + } + }, + "required": [ + "original", + "refreshed" + ] + }, + "JsonValue": { + "description": "Represents any possible JSON value:\n- number\n- string\n- boolean\n- null\n- object (with any JSON value as property)\n- array (with any JSON value as element)", + "anyOf": [ + { + "description": "Represents a JSON object.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/JsonValue" } }, - "locale": { - "type": "string" + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "$ref": "#/components/schemas/JsonValue" + } + }, + "properties": { + "length": { + "type": "integer" + }, + "__@unscopables@698": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "boolean" + } + }, + "properties": { + "length": { + "type": "boolean" + }, + "toString": { + "type": "boolean" + }, + "toLocaleString": { + "type": "boolean" + }, + "pop": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "concat": { + "type": "boolean" + }, + "join": { + "type": "boolean" + }, + "reverse": { + "type": "boolean" + }, + "shift": { + "type": "boolean" + }, + "slice": { + "type": "boolean" + }, + "sort": { + "type": "boolean" + }, + "splice": { + "type": "boolean" + }, + "unshift": { + "type": "boolean" + }, + "indexOf": { + "type": "boolean" + }, + "lastIndexOf": { + "type": "boolean" + }, + "every": { + "type": "boolean" + }, + "some": { + "type": "boolean" + }, + "forEach": { + "type": "boolean" + }, + "map": { + "type": "boolean" + }, + "filter": { + "type": "boolean" + }, + "reduce": { + "type": "boolean" + }, + "reduceRight": { + "type": "boolean" + }, + "find": { + "type": "boolean" + }, + "findIndex": { + "type": "boolean" + }, + "fill": { + "type": "boolean" + }, + "copyWithin": { + "type": "boolean" + }, + "entries": { + "type": "boolean" + }, + "keys": { + "type": "boolean" + }, + "values": { + "type": "boolean" + }, + "includes": { + "type": "boolean" + }, + "flatMap": { + "type": "boolean" + }, + "flat": { + "type": "boolean" + }, + "at": { + "type": "boolean" + }, + "findLast": { + "type": "boolean" + }, + "findLastIndex": { + "type": "boolean" + }, + "toReversed": { + "type": "boolean" + }, + "toSorted": { + "type": "boolean" + }, + "toSpliced": { + "type": "boolean" + }, + "with": { + "type": "boolean" + }, + "__@iterator@696": { + "type": "boolean" + }, + "__@unscopables@698": { + "type": "boolean" + } + } + } + }, + "required": [ + "__@unscopables@698", + "length" + ] + }, + { + "type": [ + "null", + "string", + "integer", + "boolean" + ] } - }, - "required": [ - "features", - "id", - "locale" ] }, - "PublicMember": { + "BackupCode": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { - "type": "string" + "user": { + "$ref": "#/components/schemas/User" }, - "nick": { + "code": { "type": "string" }, - "joined_at": { - "type": "string", - "format": "date-time" - }, - "pending": { - "type": "boolean" - }, - "deaf": { + "consumed": { "type": "boolean" }, - "mute": { + "expired": { "type": "boolean" }, - "premium_since": { - "type": "integer" - }, - "avatar": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { + "id": { "type": "string" - }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "user": { - "$ref": "#/components/schemas/PublicUser" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } } }, "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", + "code", + "consumed", + "expired", "id", - "joined_at", - "mute", - "pending", - "roles", "user" ] }, - "InstanceUserDeleteSchemaContent": { - "type": "object", - "properties": { - "reason": { - "type": "string" - }, - "persistInstanceBan": { - "type": "boolean" - } - } - }, - "GameActivity": { - "type": "object", - "properties": { - "activity_level": { - "type": "integer" - }, - "activity_score": { - "type": "integer" - } - }, - "required": [ - "activity_level", - "activity_score" - ] - }, - "GuildBadgeType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ] - }, - "GuildTrait": { - "type": "object", - "properties": { - "emoji_id": { - "type": "string", - "nullable": true - }, - "emoji_name": { - "type": "string", - "nullable": true - }, - "emoji_animated": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "position": { - "type": "integer" - } - }, - "required": [ - "emoji_animated", - "emoji_id", - "emoji_name", - "label", - "position" - ] - }, - "GuildVisibilityLevel": { - "type": "number", - "enum": [ - 1, - 2, - 3 - ] - }, "DmChannelDTO": { "type": "object", "properties": { @@ -14149,16 +14073,20 @@ "type": "object", "properties": { "maxGuilds": { - "type": "integer" + "type": "integer", + "default": 1048576 }, "maxUsername": { - "type": "integer" + "type": "integer", + "default": 32 }, "maxFriends": { - "type": "integer" + "type": "integer", + "default": 5000 }, "maxBio": { - "type": "integer" + "type": "integer", + "default": 190 } }, "required": [ @@ -14172,25 +14100,32 @@ "type": "object", "properties": { "maxRoles": { - "type": "integer" + "type": "integer", + "default": 1000 }, "maxEmojis": { - "type": "integer" + "type": "integer", + "default": 2000 }, "maxStickers": { - "type": "integer" + "type": "integer", + "default": 500 }, "maxMembers": { - "type": "integer" + "type": "integer", + "default": 25000000 }, "maxChannels": { - "type": "integer" + "type": "integer", + "default": 65535 }, "maxBulkBanUsers": { - "type": "integer" + "type": "integer", + "default": 200 }, "maxChannelsInCategory": { - "type": "integer" + "type": "integer", + "default": 65535 } }, "required": [ @@ -14207,28 +14142,36 @@ "type": "object", "properties": { "maxCharacters": { - "type": "integer" + "type": "integer", + "default": 1048576 }, "maxTTSCharacters": { - "type": "integer" + "type": "integer", + "default": 160 }, "maxReactions": { - "type": "integer" + "type": "integer", + "default": 2048 }, "maxAttachmentSize": { - "type": "integer" + "type": "integer", + "default": 1073741824 }, "maxBulkDelete": { - "type": "integer" + "type": "integer", + "default": 1000 }, "maxEmbedDownloadSize": { - "type": "integer" + "type": "integer", + "default": 5242880 }, "maxPreloadCount": { - "type": "integer" + "type": "integer", + "default": 100 }, "maxEmbeds": { - "type": "integer" + "type": "integer", + "default": 20 } }, "required": [ @@ -14246,16 +14189,20 @@ "type": "object", "properties": { "maxPins": { - "type": "integer" + "type": "integer", + "default": 500 }, "maxTopic": { - "type": "integer" + "type": "integer", + "default": 1024 }, "maxWebhooks": { - "type": "integer" + "type": "integer", + "default": 100 }, "maxName": { - "type": "integer" + "type": "integer", + "default": 32 } }, "required": [ @@ -14269,7 +14216,8 @@ "type": "object", "properties": { "enabled": { - "type": "boolean" + "type": "boolean", + "default": false }, "ip": { "$ref": "#/components/schemas/RateLimitOptions" @@ -14370,13 +14318,16 @@ "type": "object", "properties": { "limit": { - "type": "integer" + "type": "integer", + "default": 100 }, "window": { - "type": "integer" + "type": "integer", + "default": 3600000 }, "enabled": { - "type": "boolean" + "type": "boolean", + "default": true } }, "required": [ @@ -25931,7 +25882,7 @@ }, "/channels/{channel_id}/messages/{message_id}/crosspost/": { "post": { - "x-permission-required": "MANAGE_MESSAGES", + "x-permission-required": "VIEW_CHANNEL", "security": [ { "bearer": [] @@ -28069,4 +28020,4 @@ } } } -} \ No newline at end of file +} diff --git a/assets/schemas.json b/assets/schemas.json index e28447eb84..39aa4bc205 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -203,414 +203,621 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "FieldErrorResponse": { + "InstanceUserDeleteSchema": { + "$ref": "#/definitions/InstanceUserDeleteSchemaContent", + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserSettingsUpdateSchema": { "type": "object", "properties": { - "code": { + "afk_timeout": { "type": "integer" }, - "message": { - "type": "string" + "allow_accessibility_detection": { + "type": "boolean" }, - "errors": { - "$ref": "#/definitions/ErrorList" - } - }, - "additionalProperties": false, - "required": [ - "code", - "errors", - "message" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ActivitySchema": { - "type": "object", - "properties": { - "afk": { + "animate_emoji": { "type": "boolean" }, - "status": { - "$ref": "#/definitions/Status" + "animate_stickers": { + "type": "integer" }, - "activities": { + "contact_sync_enabled": { + "type": "boolean" + }, + "convert_emoticons": { + "type": "boolean" + }, + "custom_status": { + "anyOf": [ + { + "$ref": "#/definitions/CustomStatus" + }, + { + "type": "null" + } + ] + }, + "default_guilds_restricted": { + "type": "boolean" + }, + "detect_platform_accounts": { + "type": "boolean" + }, + "developer_mode": { + "type": "boolean" + }, + "disable_games_tab": { + "type": "boolean" + }, + "enable_tts_command": { + "type": "boolean" + }, + "explicit_content_filter": { + "type": "integer" + }, + "friend_discovery_flags": { + "type": "integer" + }, + "friend_source_flags": { + "$ref": "#/definitions/FriendSourceFlags" + }, + "gateway_connected": { + "type": "boolean" + }, + "gif_auto_play": { + "type": "boolean" + }, + "guild_folders": { "type": "array", "items": { - "$ref": "#/definitions/Activity" + "$ref": "#/definitions/GuildFolder" } }, - "since": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "status" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationAuthorizeSchema": { - "type": "object", - "properties": { - "authorize": { + "guild_positions": { + "type": "array", + "items": { + "type": "string" + } + }, + "inline_attachment_media": { "type": "boolean" }, - "guild_id": { - "type": "string" + "inline_embed_media": { + "type": "boolean" }, - "permissions": { + "locale": { "type": "string" }, - "captcha_key": { - "type": "string" + "message_display_compact": { + "type": "boolean" }, - "code": { - "minLength": 6, - "maxLength": 6, - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "authorize", - "guild_id", - "permissions" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AutomodMentionSpamRuleSchema": { - "type": "object", - "properties": { - "mention_total_limit": { - "type": "integer" + "native_phone_integration_enabled": { + "type": "boolean" }, - "mention_raid_protection_enabled": { + "render_embeds": { "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "mention_raid_protection_enabled", - "mention_total_limit" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AutomodSuspectedSpamRuleSchema": { - "type": "object", - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AutomodCommonlyFlaggedWordsRuleSchema": { - "type": "object", - "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 }, - "presets": { - "type": "array", - "items": [ - { - "type": "integer" - } - ], - "minItems": 1, - "maxItems": 1 - } - }, - "additionalProperties": false, - "required": [ - "allow_list", - "presets" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AutomodCustomWordsRuleSchema": { - "type": "object", - "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "render_reactions": { + "type": "boolean" }, - "keyword_filter": { + "restricted_guilds": { "type": "array", - "items": [ - { - "type": "string" - } + "items": { + "type": "string" + } + }, + "show_current_game": { + "type": "boolean" + }, + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" ], - "minItems": 1, - "maxItems": 1 + "type": "string" }, - "regex_patterns": { - "type": "array", - "items": [ - { - "type": "string" - } + "stream_notifications_enabled": { + "type": "boolean" + }, + "theme": { + "enum": [ + "dark", + "light" ], - "minItems": 1, - "maxItems": 1 + "type": "string" + }, + "timezone_offset": { + "type": "integer" + }, + "view_nsfw_guilds": { + "type": "boolean" } }, "additionalProperties": false, - "required": [ - "allow_list", - "keyword_filter", - "regex_patterns" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AutomodRuleSchema": { + "UserSettingsSchema": { "type": "object", "properties": { - "creator_id": { - "type": "string" + "afk_timeout": { + "type": "integer" }, - "enabled": { + "allow_accessibility_detection": { "type": "boolean" }, - "event_type": { - "type": "integer" - }, - "exempt_channels": { - "type": "array", - "items": [ + "animate_emoji": { + "type": "boolean" + }, + "animate_stickers": { + "type": "integer" + }, + "contact_sync_enabled": { + "type": "boolean" + }, + "convert_emoticons": { + "type": "boolean" + }, + "custom_status": { + "anyOf": [ { - "type": "string" + "$ref": "#/definitions/CustomStatus" + }, + { + "type": "null" } - ], - "minItems": 1, - "maxItems": 1 + ] }, - "exempt_roles": { + "default_guilds_restricted": { + "type": "boolean" + }, + "detect_platform_accounts": { + "type": "boolean" + }, + "developer_mode": { + "type": "boolean" + }, + "disable_games_tab": { + "type": "boolean" + }, + "enable_tts_command": { + "type": "boolean" + }, + "explicit_content_filter": { + "type": "integer" + }, + "friend_discovery_flags": { + "type": "integer" + }, + "friend_source_flags": { + "$ref": "#/definitions/FriendSourceFlags" + }, + "gateway_connected": { + "type": "boolean" + }, + "gif_auto_play": { + "type": "boolean" + }, + "guild_folders": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "items": { + "$ref": "#/definitions/GuildFolder" + } }, - "guild_id": { + "guild_positions": { + "type": "array", + "items": { + "type": "string" + } + }, + "inline_attachment_media": { + "type": "boolean" + }, + "inline_embed_media": { + "type": "boolean" + }, + "locale": { "type": "string" }, - "name": { + "message_display_compact": { + "type": "boolean" + }, + "native_phone_integration_enabled": { + "type": "boolean" + }, + "render_embeds": { + "type": "boolean" + }, + "render_reactions": { + "type": "boolean" + }, + "restricted_guilds": { + "type": "array", + "items": { + "type": "string" + } + }, + "show_current_game": { + "type": "boolean" + }, + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "position": { - "type": "integer" + "stream_notifications_enabled": { + "type": "boolean" }, - "trigger_type": { + "theme": { + "enum": [ + "dark", + "light" + ], + "type": "string" + }, + "timezone_offset": { "type": "integer" }, - "trigger_metadata": { - "anyOf": [ - { - "$ref": "#/definitions/AutomodMentionSpamRuleSchema" - }, - { - "$ref": "#/definitions/AutomodSuspectedSpamRuleSchema" - }, - { - "$ref": "#/definitions/AutomodCommonlyFlaggedWordsRuleSchema" - }, - { - "$ref": "#/definitions/AutomodCustomWordsRuleSchema" - } - ] + "view_nsfw_guilds": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "creator_id", - "enabled", - "event_type", - "exempt_channels", - "exempt_roles", - "guild_id", - "name", - "position", - "trigger_metadata", - "trigger_type" + "afk_timeout", + "allow_accessibility_detection", + "animate_emoji", + "animate_stickers", + "contact_sync_enabled", + "convert_emoticons", + "custom_status", + "default_guilds_restricted", + "detect_platform_accounts", + "developer_mode", + "disable_games_tab", + "enable_tts_command", + "explicit_content_filter", + "friend_discovery_flags", + "friend_source_flags", + "gateway_connected", + "gif_auto_play", + "guild_folders", + "guild_positions", + "inline_attachment_media", + "inline_embed_media", + "locale", + "message_display_compact", + "native_phone_integration_enabled", + "render_embeds", + "render_reactions", + "restricted_guilds", + "show_current_game", + "status", + "stream_notifications_enabled", + "theme", + "timezone_offset", + "view_nsfw_guilds" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BackupCodesChallengeSchema": { + "FieldErrorResponse": { "type": "object", "properties": { - "password": { - "minLength": 1, - "maxLength": 72, + "code": { + "type": "integer" + }, + "message": { "type": "string" + }, + "errors": { + "$ref": "#/definitions/ErrorList" } }, "additionalProperties": false, "required": [ - "password" + "code", + "errors", + "message" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BanCreateSchema": { + "InteractionCallbackSchema": { "type": "object", "properties": { - "delete_message_seconds": { - "type": "integer" - }, - "delete_message_days": { - "type": "integer" + "type": { + "$ref": "#/definitions/InteractionCallbackType" }, - "reason": { - "type": "string" - } + "data": {} }, "additionalProperties": false, + "required": [ + "data", + "type" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BanModeratorSchema": { - "type": "object", - "properties": { - "id": { - "type": "string" + "InteractionCallbacksSchema": { + "anyOf": [ + { + "$ref": "#/definitions/PongCallback" }, - "user_id": { - "type": "string" + { + "$ref": "#/definitions/AckCallback" }, - "guild_id": { - "type": "string" + { + "$ref": "#/definitions/MessageCallback" }, - "executor_id": { - "type": "string" + { + "$ref": "#/definitions/MessageWSourceCallback" }, - "reason": { - "type": "string" + { + "$ref": "#/definitions/MessageDWSourceCallback" + }, + { + "$ref": "#/definitions/MessageUpdateCallback" + }, + { + "$ref": "#/definitions/MessageDUpdateCallback" } - }, - "additionalProperties": false, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BanRegistrySchema": { + "InteractionCreateSchema": { "type": "object", "properties": { + "version": { + "type": "integer" + }, "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "user_id": { + "application_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "type": { + "$ref": "#/definitions/InteractionType" + }, + "token": { "type": "string" }, + "data": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "guild": { + "$ref": "#/definitions/InteractionGuild" + }, "guild_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "executor_id": { + "guild_locale": { "type": "string" }, - "ip": { + "channel": { + "$ref": "#/definitions/Channel" + }, + "channel_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "reason": { + "member": { + "$ref": "#/definitions/PublicMember" + }, + "user": { + "$ref": "#/definitions/PublicUser" + }, + "locale": { "type": "string" + }, + "message": { + "$ref": "#/definitions/Message" + }, + "app_permissions": { + "type": "string" + }, + "entitlements": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "entitlement_sku_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "authorizing_integration_owners": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "string" + } + } + }, + "context": { + "type": "integer" + }, + "attachment_size_limit": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "executor_id", - "guild_id", + "app_permissions", + "application_id", + "attachment_size_limit", "id", - "user_id" + "token", + "type", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BotModifySchema": { + "ApplicationCreateSchema": { "type": "object", "properties": { - "avatar": { - "type": "string" - }, - "username": { + "name": { "type": "string" }, - "banner": { + "team_id": { "type": "string" } }, "additionalProperties": false, + "required": [ + "name" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BulkBanSchema": { + "ApplicationModifySchema": { "type": "object", "properties": { - "user_ids": { + "description": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "cover_image": { + "type": "string" + }, + "interactions_endpoint_url": { + "type": "string" + }, + "max_participants": { + "type": [ + "null", + "integer" + ] + }, + "name": { + "type": "string" + }, + "privacy_policy_url": { + "type": "string" + }, + "role_connections_verification_url": { + "type": "string" + }, + "tags": { "type": "array", "items": { "type": "string" } }, - "delete_message_seconds": { + "terms_of_service_url": { + "type": "string" + }, + "bot_public": { + "type": "boolean" + }, + "bot_require_code_grant": { + "type": "boolean" + }, + "flags": { "type": "integer" + }, + "custom_install_url": { + "type": "string" + }, + "guild_id": { + "type": "string" } }, "additionalProperties": false, - "required": [ - "user_ids" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BulkDeleteSchema": { + "SendableApplicationCommandDataSchema": { "type": "object", "properties": { - "messages": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "name": { + "type": "string" + }, + "version": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "application_command": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ApplicationCommandOption" + } + }, + "target_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "attachments": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true } } }, "additionalProperties": false, "required": [ - "messages" + "id", + "name", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ChannelModifySchema": { + "SendableMessageComponentDataSchema": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { + "component_type": { "enum": [ - 0, 1, 10, 11, 12, 13, 14, - 15, 16, 17, 18, + 19, 2, - 255, + 20, + 21, + 22, + 23, 3, 4, 5, @@ -621,807 +828,546 @@ ], "type": "number" }, - "topic": { - "type": "string" - }, - "icon": { - "type": [ - "null", - "string" - ] - }, - "bitrate": { - "type": "integer" - }, - "user_limit": { - "type": "integer" - }, - "rate_limit_per_user": { - "type": "integer" - }, - "position": { - "type": "integer" + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, - "invitable": { - "type": "boolean" + "custom_id": { + "type": "string" }, - "permission_overwrites": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/ChannelPermissionOverwriteType" - }, - "allow": { - "type": "string" - }, - "deny": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "allow", - "deny", - "id", - "type" - ] - } - }, - "applied_tags": { + "values": { "type": "array", "items": { "type": "string" } + } + }, + "additionalProperties": false, + "required": [ + "custom_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SendableModalSubmitDataSchema": { + "type": "object", + "properties": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "parent_id": { + "custom_id": { "type": "string" }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadAttachmentRequestSchema" + } + } + }, + "additionalProperties": false, + "required": [ + "custom_id", + "id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildProfileResponse": { + "type": "object", + "properties": { "id": { "type": "string" }, - "nsfw": { - "type": "boolean" - }, - "rtc_region": { + "name": { "type": "string" }, - "default_auto_archive_duration": { - "type": "integer" - }, - "default_reaction_emoji": { + "icon_hash": { "type": [ "null", "string" ] }, - "flags": { - "type": "integer" - }, - "default_thread_rate_limit_per_user": { + "member_count": { "type": "integer" }, - "video_quality_mode": { + "online_count": { "type": "integer" }, - "auto_archive_duration": { - "type": "integer" + "description": { + "type": "string" }, - "archived": { - "type": "boolean" + "brand_color_primary": { + "type": "string" }, - "locked": { - "type": "boolean" + "banner_hash": { + "type": [ + "null", + "string" + ] }, - "available_tags": { + "game_application_ids": { "type": "array", "items": { - "additionalProperties": false, - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "moderated": { - "type": [ - "null", - "boolean" - ] - }, - "emoji_id": { - "type": [ - "null", - "string" - ] - }, - "emoji_name": { - "type": [ - "null", - "string" - ] - }, - "id": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ] + "type": "string" } - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ChannelPermissionOverwriteSchema": { - "type": "object", - "properties": { - "allow": { + }, + "game_activity": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GameActivity" + } + }, + "tag": { + "type": [ + "null", + "string" + ] + }, + "badge": { + "$ref": "#/definitions/GuildBadgeType" + }, + "badge_color_primary": { "type": "string" }, - "deny": { + "badge_color_secondary": { "type": "string" }, - "id": { + "badge_hash": { "type": "string" }, - "type": { - "$ref": "#/definitions/ChannelPermissionOverwriteType" + "traits": { + "type": "array", + "items": { + "$ref": "#/definitions/GuildTrait" + } + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "visibility": { + "$ref": "#/definitions/GuildVisibilityLevel" + }, + "custom_banner_hash": { + "type": [ + "null", + "string" + ] + }, + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "allow", - "deny", + "badge", + "badge_color_primary", + "badge_color_secondary", + "badge_hash", + "banner_hash", + "brand_color_primary", + "custom_banner_hash", + "description", + "features", + "game_activity", + "game_application_ids", + "icon_hash", "id", - "type" + "member_count", + "name", + "online_count", + "premium_subscription_count", + "premium_tier", + "tag", + "traits", + "visibility" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ChannelReorderSchema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "position": { - "type": "integer" - }, - "lock_permissions": { - "type": "boolean" - }, - "parent_id": { - "type": [ - "null", - "string" - ] - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "CodesVerificationSchema": { + "GuildAvailableSchema": { "type": "object", "properties": { - "key": { - "type": "string" - }, - "nonce": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "regenerate": { + "available": { "type": "boolean" } }, "additionalProperties": false, "required": [ - "key", - "nonce" + "available", + "id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ConnectedAccountSchema": { + "StickersResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/StickerResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "StickerResponse": { "type": "object", "properties": { - "external_id": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "user_id": { + "pack_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "token_data": { - "$ref": "#/definitions/ConnectedAccountTokenData" + "name": { + "type": "string" }, - "friend_sync": { - "type": "boolean" + "description": { + "type": [ + "null", + "string" + ] }, - "name": { + "tags": { "type": "string" }, - "revoked": { - "type": "boolean" - }, - "show_activity": { - "type": "integer" - }, "type": { - "type": "string" - }, - "verified": { - "type": "boolean" - }, - "visibility": { - "type": "integer" - }, - "integrations": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/StickerType" }, - "metadata_": {}, - "metadata_visibility": { - "type": "integer" + "format_type": { + "$ref": "#/definitions/StickerFormatType" }, - "two_way_link": { + "available": { "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "external_id", - "name", - "type", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ConnectedAccountCommonOAuthTokenResponse": { - "type": "object", - "properties": { - "access_token": { - "type": "string" }, - "token_type": { - "type": "string" - }, - "scope": { + "guild_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "refresh_token": { - "type": "string" + "user": { + "$ref": "#/definitions/PartialUser" }, - "expires_in": { + "sort_value": { "type": "integer" } }, "additionalProperties": false, "required": [ - "access_token", - "scope", - "token_type" + "description", + "format_type", + "id", + "name", + "tags", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ConnectionCallbackSchema": { + "CreateReportSchema": { "type": "object", "properties": { - "code": { + "version": { "type": "string" }, - "state": { + "variant": { "type": "string" }, - "insecure": { - "type": "boolean" - }, - "friend_sync": { - "type": "boolean" - }, - "openid_params": {} - }, - "additionalProperties": false, - "required": [ - "friend_sync", - "insecure", - "state" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ConnectionUpdateSchema": { - "type": "object", - "properties": { - "visibility": { - "type": "boolean" - }, - "show_activity": { - "type": "boolean" - }, - "metadata_visibility": { - "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "DmChannelCreateSchema": { - "type": "object", - "properties": { "name": { "type": "string" }, - "recipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "recipient_id": { + "language": { "type": "string" }, - "access_tokens": { + "breadcrumbs": { "type": "array", "items": { - "type": "string" + "type": "integer" } - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmailDomainLookupSchema": { - "type": "object", - "properties": { - "allow_multiple_guilds": { - "type": "boolean" }, - "email": { - "type": "string" - }, - "use_verification_code": { - "type": "boolean" + "elements": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } }, - "guild_id": { + "channel_id": { "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "allow_multiple_guilds", - "email", - "use_verification_code" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmailDomainLookupVerifyCodeSchema": { - "type": "object", - "properties": { - "email": { + }, + "message_id": { "type": "string" }, "guild_id": { "type": "string" }, - "code": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "code", - "email", - "guild_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiCreateSchema": { - "type": "object", - "properties": { - "name": { + "stage_instance_id": { "type": "string" }, - "image": { + "guild_scheduled_event_id": { "type": "string" }, - "require_colons": { - "type": [ - "null", - "boolean" - ] + "reported_user_id": { + "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "image" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiModifySchema": { - "type": "object", - "properties": { - "name": { + "application_id": { "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ForgotPasswordSchema": { - "type": "object", - "properties": { - "login": { + "user_id": { "type": "string" }, - "captcha_key": { + "widget_id": { "type": "string" } }, "additionalProperties": false, "required": [ - "login" + "breadcrumbs", + "language", + "name", + "variant", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GreetRequestSchema": { + "IdentifySchema": { "type": "object", "properties": { - "sticker_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "allowed_mentions": { - "$ref": "#/definitions/AllowedMentions" + "token": { + "type": "string" }, - "message_reference": { + "properties": { "type": "object", "properties": { - "message_id": { + "os": { "type": "string" }, - "channel_id": { + "os_atch": { "type": "string" }, - "guild_id": { + "browser": { "type": "string" }, - "fail_if_not_exists": { - "type": "boolean" + "device": { + "type": "string" + }, + "$os": { + "type": "string" + }, + "$browser": { + "type": "string" + }, + "$device": { + "type": "string" + }, + "browser_user_agent": { + "type": "string" + }, + "browser_version": { + "type": "string" + }, + "os_version": { + "type": "string" + }, + "referrer": { + "type": "string" + }, + "referring_domain": { + "type": "string" + }, + "referrer_current": { + "type": "string" + }, + "referring_domain_current": { + "type": "string" + }, + "release_channel": { + "enum": [ + "canary", + "dev", + "ptb", + "stable" + ], + "type": "string" + }, + "client_build_number": { + "type": "integer" + }, + "client_event_source": { + "type": "string" + }, + "client_version": { + "type": "string" + }, + "system_locale": { + "type": "string" } }, - "additionalProperties": false, - "required": [ - "message_id" - ] - } - }, - "additionalProperties": false, - "required": [ - "sticker_ids" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildCreateSchema": { - "type": "object", - "properties": { - "name": { - "maxLength": 100, - "type": "string" + "additionalProperties": false }, - "region": { - "type": "string" + "intents": { + "type": "bigint" }, - "icon": { - "type": [ - "null", - "string" - ] + "presence": { + "$ref": "#/definitions/ActivitySchema" }, - "channels": { + "compress": { + "type": "boolean" + }, + "large_threshold": { + "type": "integer" + }, + "largeThreshold": { + "type": "integer" + }, + "shard": { + "minItems": 2, + "maxItems": 2, "type": "array", "items": { - "$ref": "#/definitions/ChannelCreateSchema" + "type": "bigint" } }, - "system_channel_id": { - "type": "string" + "guild_subscriptions": { + "type": "boolean" }, - "rules_channel_id": { - "type": "string" + "capabilities": { + "type": "integer" }, - "guild_template_code": { - "type": "string" + "client_state": { + "type": "object", + "properties": { + "guild_hashes": {}, + "highest_last_message_id": { + "type": "integer" + }, + "read_state_version": { + "type": "integer" + }, + "user_guild_settings_version": { + "type": "integer" + }, + "user_settings_version": { + "type": "integer" + }, + "useruser_guild_settings_version": { + "type": "integer" + }, + "private_channels_version": { + "type": "integer" + }, + "guild_versions": {}, + "api_code_version": { + "type": "integer" + }, + "initial_guild_id": { + "type": "string" + } + }, + "additionalProperties": false }, - "staff_only": { - "type": "boolean" + "clientState": { + "type": "object", + "properties": { + "guildHashes": {}, + "highestLastMessageId": { + "type": "integer" + }, + "readStateVersion": { + "type": "integer" + }, + "userGuildSettingsVersion": { + "type": "integer" + }, + "useruserGuildSettingsVersion": { + "type": "integer" + }, + "guildVersions": {}, + "apiCodeVersion": { + "type": "integer" + }, + "initialGuildId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "v": { + "type": "integer" } }, "additionalProperties": false, + "required": [ + "properties", + "token" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildSubscriptionsBulkSchema": { + "StreamCreateSchema": { "type": "object", "properties": { - "subscriptions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/GuildSubscriptionSchema" - } + "type": { + "enum": [ + "call", + "guild" + ], + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "preferred_region": { + "type": "string" } }, "additionalProperties": false, "required": [ - "subscriptions" + "channel_id", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildSubscriptionSchema": { + "StreamDeleteSchema": { "type": "object", "properties": { - "channels": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "activities": { - "type": "boolean" - }, - "threads": { - "type": "boolean" - }, - "typing": { - "const": true, - "type": "boolean" - }, - "members": { - "type": "array", - "items": { - "type": "string" - } - }, - "member_updates": { - "type": "boolean" - }, - "thread_member_lists": { - "type": "array", - "items": {} + "stream_key": { + "type": "string" } }, "additionalProperties": false, + "required": [ + "stream_key" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildTemplateCreateSchema": { + "StreamWatchSchema": { "type": "object", "properties": { - "name": { + "stream_key": { "type": "string" - }, - "icon": { - "type": [ - "null", - "string" - ] } }, "additionalProperties": false, "required": [ - "name" + "stream_key" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildUpdateSchema": { - "type": "object", - "properties": { - "banner": { - "type": [ - "null", - "string" - ] - }, - "splash": { - "type": [ - "null", - "string" - ] - }, - "description": { - "type": "string" - }, - "features": { - "type": "array", - "items": { - "type": "string" - } - }, - "verification_level": { - "type": "integer" - }, - "default_message_notifications": { - "type": "integer" - }, - "system_channel_flags": { - "type": "integer" - }, - "explicit_content_filter": { - "type": "integer" - }, - "public_updates_channel_id": { - "type": "string" - }, - "afk_timeout": { - "type": "integer" - }, - "afk_channel_id": { - "type": "string" - }, - "preferred_locale": { - "type": "string" - }, - "premium_progress_bar_enabled": { - "type": "boolean" - }, - "discovery_splash": { - "type": "string" - }, - "safety_alerts_channel_id": { - "type": [ - "null", - "string" - ] - }, - "name": { - "maxLength": 100, - "type": "string" - }, - "region": { - "type": "string" - }, - "icon": { - "type": [ - "null", - "string" - ] - }, - "system_channel_id": { - "type": "string" - }, - "rules_channel_id": { - "type": "string" - }, - "guild_template_code": { - "type": "string" - }, - "staff_only": { - "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildUpdateWelcomeScreenSchema": { - "type": "object", - "properties": { - "welcome_channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "channel_id": { - "type": "string" - }, - "description": { - "type": "string" - }, - "emoji_id": { - "type": "string" - }, - "emoji_name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "channel_id", - "description" - ] - } - }, - "enabled": { - "type": "boolean" - }, - "description": { - "type": "string" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "HubWaitlistSignupSchema": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "school": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "email", - "school" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InviteCreateSchema": { - "type": "object", - "properties": { - "target_user_id": { - "type": "string" - }, - "target_type": { - "type": "string" - }, - "validate": { - "type": "string" - }, - "max_age": { - "type": "integer" - }, - "max_uses": { - "type": "integer" - }, - "temporary": { - "type": "boolean" - }, - "unique": { - "type": "boolean" - }, - "target_user": { - "type": "string" - }, - "target_user_type": { - "type": "integer" - }, - "flags": { - "type": "integer" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIErrorResponse": { + "APIErrorResponse": { "type": "object", "properties": { "code": { @@ -1919,6 +1865,12 @@ "region": { "type": "string" }, + "banner": { + "type": [ + "null", + "string" + ] + }, "icon": { "type": [ "null", @@ -1937,12 +1889,6 @@ "staff_only": { "type": "boolean" }, - "banner": { - "type": [ - "null", - "string" - ] - }, "splash": { "type": [ "null", @@ -2115,100 +2061,6 @@ "messages", "total_results" ], - "definitions": { - "MessageSnapshot": { - "type": "object", - "properties": { - "message": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "edited_timestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/definitions/PartialUser" - } - }, - "mention_roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicAttachment_1" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } - }, - "type": { - "$ref": "#/definitions/MessageType" - }, - "flags": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/MessageComponent" - } - }, - "resolved": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/definitions/Sticker" - } - } - }, - "additionalProperties": false, - "required": [ - "content", - "embeds", - "flags", - "mention_roles", - "mentions", - "timestamp", - "type" - ] - } - }, - "additionalProperties": false, - "required": [ - "message" - ] - } - }, "$schema": "http://json-schema.org/draft-07/schema#" }, "GuildPruneResponse": { @@ -2918,806 +2770,921 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationCommandCreateSchema": { + "APIGuild": { "type": "object", "properties": { - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" - }, "name": { "type": "string" }, - "name_localizations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "description": { + "region": { "type": "string" }, - "description_localizations": { + "insert": { "type": "object", - "additionalProperties": { - "type": "string" - } + "additionalProperties": false }, - "options": { + "id": { + "type": "string" + }, + "roles": { "type": "array", "items": { - "$ref": "#/definitions/ApplicationCommandOption" + "$ref": "#/definitions/Role" } }, - "default_member_permissions": { + "banner": { "type": "string" }, - "dm_permission": { - "type": "boolean" + "icon": { + "type": "string" + }, + "parent": { + "type": "string" + }, + "owner_id": { + "type": "string" }, "nsfw": { "type": "boolean" }, - "integration_types": { + "invites": { "type": "array", "items": { - "$ref": "#/definitions/ApplicationIntegrationType" + "$ref": "#/definitions/Invite" } }, - "contexts": { + "voice_states": { "type": "array", "items": { - "$ref": "#/definitions/InteractionContextType" + "$ref": "#/definitions/VoiceState" } }, - "handler": { - "enum": [ - 1, - 2, - 3 - ], - "type": "number" - } - }, - "additionalProperties": false, - "required": [ - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BulkApplicationCommandCreateSchema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationCommandCreateSchema" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionCallbackSchema": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType" - }, - "data": {} - }, - "additionalProperties": false, - "required": [ - "data", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionCallbacksSchema": { - "anyOf": [ - { - "$ref": "#/definitions/PongCallback" + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } }, - { - "$ref": "#/definitions/AckCallback" + "member_count": { + "type": "integer" }, - { - "$ref": "#/definitions/MessageCallback" + "get_annotations": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/definitions/MessageWSourceCallback" + "clean_data": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/definitions/MessageDWSourceCallback" + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } }, - { - "$ref": "#/definitions/MessageUpdateCallback" + "system_channel_id": { + "type": [ + "null", + "string" + ] }, - { - "$ref": "#/definitions/MessageDUpdateCallback" - } - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionCreateSchema": { - "type": "object", - "properties": { - "version": { - "type": "integer" + "rules_channel_id": { + "type": [ + "null", + "string" + ] }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "splash": { "type": "string" }, - "application_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "description": { "type": "string" }, - "type": { - "$ref": "#/definitions/InteractionType" + "features": { + "type": "array", + "items": { + "type": "string" + } }, - "token": { - "type": "string" + "verification_level": { + "type": "integer" }, - "data": { - "type": "object", - "properties": {}, - "additionalProperties": true + "default_message_notifications": { + "type": "integer" }, - "guild": { - "$ref": "#/definitions/InteractionGuild" + "system_channel_flags": { + "type": "integer" }, - "guild_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "explicit_content_filter": { + "type": "integer" + }, + "public_updates_channel_id": { + "type": [ + "null", + "string" + ] + }, + "afk_timeout": { + "type": "integer" + }, + "afk_channel_id": { + "type": [ + "null", + "string" + ] + }, + "preferred_locale": { "type": "string" }, - "guild_locale": { + "premium_progress_bar_enabled": { + "type": "boolean" + }, + "discovery_splash": { "type": "string" }, - "channel": { - "$ref": "#/definitions/Channel" + "bans": { + "type": "array", + "items": { + "$ref": "#/definitions/Ban" + } }, - "channel_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "primary_category_id": { "type": "string" }, - "member": { - "$ref": "#/definitions/PublicMember" + "large": { + "type": "boolean" }, - "user": { - "$ref": "#/definitions/PublicUser" + "max_members": { + "type": "integer" }, - "locale": { - "type": "string" + "max_presences": { + "type": "integer" }, - "message": { - "$ref": "#/definitions/Message" + "max_video_channel_users": { + "type": "integer" }, - "app_permissions": { - "type": "string" + "presence_count": { + "type": "integer" }, - "entitlements": { + "members": { "type": "array", "items": { - "type": "object", - "properties": {}, - "additionalProperties": true + "$ref": "#/definitions/Member" } }, - "entitlement_sku_ids": { + "template_id": { + "type": "string" + }, + "emojis": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Emoji" } }, - "authorizing_integration_owners": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "type": "string" - } + "stickers": { + "type": "array", + "items": { + "$ref": "#/definitions/Sticker" } }, - "context": { + "mfa_level": { "type": "integer" }, - "attachment_size_limit": { + "premium_subscription_count": { "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "app_permissions", - "application_id", - "attachment_size_limit", - "id", - "token", - "type", - "version" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationCreateSchema": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "team_id": { + "premium_tier": { + "type": "integer" + }, + "unavailable": { + "type": "boolean" + }, + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." + }, + "widget_channel_id": { "type": "string" + }, + "widget_enabled": { + "type": "boolean" + }, + "nsfw_level": { + "type": "integer" + }, + "permissions": { + "type": "integer" + }, + "channel_ordering": { + "type": "array", + "items": { + "type": "string" + } + }, + "discovery_weight": { + "type": "integer" + }, + "discovery_excluded": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "name" + "bans", + "channel_ordering", + "channels", + "clean_data", + "discovery_excluded", + "discovery_weight", + "emojis", + "features", + "get_annotations", + "id", + "insert", + "invites", + "members", + "name", + "nsfw", + "premium_progress_bar_enabled", + "public_updates_channel_id", + "roles", + "stickers", + "unavailable", + "voice_states", + "webhooks", + "welcome_screen", + "widget_enabled" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationModifySchema": { + "APIPublicUser": { "type": "object", "properties": { - "description": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "icon": { + "premium_since": { + "type": "string", + "format": "date-time" + }, + "avatar": { "type": "string" }, - "cover_image": { + "banner": { "type": "string" }, - "interactions_endpoint_url": { + "bio": { "type": "string" }, - "max_participants": { - "type": [ - "null", - "integer" - ] + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "name": { + "pronouns": { "type": "string" }, - "privacy_policy_url": { + "username": { "type": "string" }, - "role_connections_verification_url": { + "discriminator": { "type": "string" }, - "tags": { + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { + "type": "boolean" + }, + "premium_type": { + "type": "integer" + }, + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "terms_of_service_url": { - "type": "string" - }, - "bot_public": { - "type": "boolean" - }, - "bot_require_code_grant": { - "type": "boolean" + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" }, - "flags": { - "type": "integer" + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" }, - "custom_install_url": { - "type": "string" + "collectibles": { + "$ref": "#/definitions/Collectibles" }, - "guild_id": { - "type": "string" + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" } }, "additionalProperties": false, + "required": [ + "bio", + "bot", + "discriminator", + "id", + "premium_since", + "premium_type", + "public_flags", + "username" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "SendableApplicationCommandDataSchema": { + "APIPrivateUser": { "type": "object", "properties": { + "email": { + "type": "string" + }, "id": { "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" + "flags": { + "type": "integer" }, - "name": { + "verified": { + "type": "boolean" + }, + "premium_since": { + "type": "string", + "format": "date-time" + }, + "avatar": { "type": "string" }, - "version": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "banner": { "type": "string" }, - "application_command": { - "type": "object", - "properties": {}, - "additionalProperties": true + "bio": { + "type": "string" }, - "options": { + "theme_colors": { "type": "array", "items": { - "$ref": "#/definitions/ApplicationCommandOption" + "type": "integer" } }, - "target_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "pronouns": { "type": "string" }, - "attachments": { + "username": { + "type": "string" + }, + "discriminator": { + "type": "string" + }, + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { + "type": "boolean" + }, + "premium_type": { + "type": "integer" + }, + "badge_ids": { "type": "array", "items": { - "type": "object", - "properties": {}, - "additionalProperties": true + "type": "string" } + }, + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" + }, + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" + }, + "collectibles": { + "$ref": "#/definitions/Collectibles" + }, + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" + }, + "mfa_enabled": { + "type": "boolean" + }, + "phone": { + "type": "string" + }, + "nsfw_allowed": { + "type": "boolean" + }, + "premium": { + "type": "boolean" + }, + "purchased_flags": { + "type": "integer" + }, + "premium_usage_flags": { + "type": "integer" + }, + "disabled": { + "type": "boolean" + }, + "settings": { + "$ref": "#/definitions/UserSettingsSchema" } }, "additionalProperties": false, "required": [ + "bio", + "bot", + "disabled", + "discriminator", + "flags", "id", - "name", - "version" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SendableMessageComponentDataSchema": { - "type": "object", - "properties": { - "component_type": { - "enum": [ - 1, - 10, - 11, - 12, - 13, - 14, - 16, - 17, - 18, - 19, - 2, - 20, - 21, - 22, - 23, - 3, - 4, - 5, - 6, - 7, - 8, - 9 - ], - "type": "number" - }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" - }, - "custom_id": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "custom_id" + "mfa_enabled", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "username", + "verified" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "SendableModalSubmitDataSchema": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "custom_id": { - "type": "string" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/UploadAttachmentRequestSchema" - } - } + "APIGuildArray": { + "type": "array", + "items": { + "$ref": "#/definitions/APIGuild" }, - "additionalProperties": false, - "required": [ - "custom_id", - "id" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InstanceUserDeleteSchema": { - "$ref": "#/definitions/InstanceUserDeleteSchemaContent", + "APIDMChannelArray": { + "type": "array", + "items": { + "$ref": "#/definitions/DmChannelDTO" + }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserSettingsUpdateSchema": { + "APIBackupCodeArray": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupCode" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserUpdateResponse": { "type": "object", "properties": { - "afk_timeout": { - "type": "integer" + "newToken": { + "type": "string" }, - "allow_accessibility_detection": { - "type": "boolean" + "email": { + "type": "string" }, - "animate_emoji": { - "type": "boolean" + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "animate_stickers": { + "flags": { "type": "integer" }, - "contact_sync_enabled": { - "type": "boolean" - }, - "convert_emoticons": { - "type": "boolean" - }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/definitions/CustomStatus" - }, - { - "type": "null" - } - ] - }, - "default_guilds_restricted": { - "type": "boolean" - }, - "detect_platform_accounts": { - "type": "boolean" - }, - "developer_mode": { - "type": "boolean" - }, - "disable_games_tab": { - "type": "boolean" - }, - "enable_tts_command": { + "verified": { "type": "boolean" }, - "explicit_content_filter": { - "type": "integer" - }, - "friend_discovery_flags": { - "type": "integer" - }, - "friend_source_flags": { - "$ref": "#/definitions/FriendSourceFlags" + "premium_since": { + "type": "string", + "format": "date-time" }, - "gateway_connected": { - "type": "boolean" + "avatar": { + "type": "string" }, - "gif_auto_play": { - "type": "boolean" + "banner": { + "type": "string" }, - "guild_folders": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildFolder" - } + "bio": { + "type": "string" }, - "guild_positions": { + "theme_colors": { "type": "array", "items": { - "type": "string" + "type": "integer" } }, - "inline_attachment_media": { - "type": "boolean" + "pronouns": { + "type": "string" }, - "inline_embed_media": { - "type": "boolean" + "username": { + "type": "string" }, - "locale": { + "discriminator": { "type": "string" }, - "message_display_compact": { - "type": "boolean" + "public_flags": { + "type": "integer" }, - "native_phone_integration_enabled": { - "type": "boolean" + "accent_color": { + "type": "integer" }, - "render_embeds": { + "bot": { "type": "boolean" }, - "render_reactions": { - "type": "boolean" + "premium_type": { + "type": "integer" }, - "restricted_guilds": { + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "show_current_game": { - "type": "boolean" + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], - "type": "string" + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" }, - "stream_notifications_enabled": { + "collectibles": { + "$ref": "#/definitions/Collectibles" + }, + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" + }, + "mfa_enabled": { "type": "boolean" }, - "theme": { - "enum": [ - "dark", - "light" - ], + "phone": { "type": "string" }, - "timezone_offset": { - "type": "integer" - }, - "view_nsfw_guilds": { + "nsfw_allowed": { "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserSettingsSchema": { - "type": "object", - "properties": { - "afk_timeout": { - "type": "integer" }, - "allow_accessibility_detection": { + "premium": { "type": "boolean" }, - "animate_emoji": { - "type": "boolean" + "purchased_flags": { + "type": "integer" }, - "animate_stickers": { + "premium_usage_flags": { "type": "integer" }, - "contact_sync_enabled": { + "disabled": { "type": "boolean" }, - "convert_emoticons": { - "type": "boolean" + "settings": { + "$ref": "#/definitions/UserSettingsSchema" + } + }, + "additionalProperties": false, + "required": [ + "bio", + "bot", + "disabled", + "discriminator", + "flags", + "id", + "mfa_enabled", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "username", + "verified" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationDetectableResponse": { + "type": "array", + "items": {}, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationEntitlementsResponse": { + "type": "array", + "items": {}, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationSkusResponse": { + "type": "array", + "items": {}, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIApplicationArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIInviteArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIMessageArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Message" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIWebhookArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIDiscoveryCategoryArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Categories" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIGeneralConfiguration": { + "type": "object", + "properties": { + "instanceName": { + "type": "string", + "default": "Spacebar Instance" }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/definitions/CustomStatus" - }, - { - "type": "null" - } - ] + "serverName": { + "type": [ + "null", + "string" + ], + "default": null }, - "default_guilds_restricted": { - "type": "boolean" + "instanceDescription": { + "type": [ + "null", + "string" + ], + "default": "This is a Spacebar instance made in the pre-release days" }, - "detect_platform_accounts": { - "type": "boolean" + "frontPage": { + "type": [ + "null", + "string" + ], + "default": null }, - "developer_mode": { - "type": "boolean" + "tosPage": { + "type": [ + "null", + "string" + ], + "default": null }, - "disable_games_tab": { - "type": "boolean" + "correspondenceEmail": { + "type": [ + "null", + "string" + ], + "default": null }, - "enable_tts_command": { - "type": "boolean" + "correspondenceUserID": { + "type": [ + "null", + "string" + ], + "default": null }, - "explicit_content_filter": { - "type": "integer" + "image": { + "type": [ + "null", + "string" + ], + "default": null }, - "friend_discovery_flags": { - "type": "integer" + "instanceId": { + "type": "string" }, - "friend_source_flags": { - "$ref": "#/definitions/FriendSourceFlags" + "autoCreateBotUsers": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": false, + "required": [ + "autoCreateBotUsers", + "correspondenceEmail", + "correspondenceUserID", + "frontPage", + "image", + "instanceDescription", + "instanceId", + "instanceName", + "serverName", + "tosPage" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIChannelArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIMemberArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Member" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIPublicMember": { + "additionalProperties": false, + "type": "object", + "properties": { + "id": { + "type": "string" }, - "gateway_connected": { - "type": "boolean" + "guild_id": { + "type": "string" }, - "gif_auto_play": { - "type": "boolean" + "flags": { + "type": "integer" }, - "guild_folders": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildFolder" - } + "nick": { + "type": "string" }, - "guild_positions": { - "type": "array", - "items": { - "type": "string" - } + "joined_at": { + "type": "string", + "format": "date-time" }, - "inline_attachment_media": { + "pending": { "type": "boolean" }, - "inline_embed_media": { + "deaf": { "type": "boolean" }, - "locale": { - "type": "string" - }, - "message_display_compact": { + "mute": { "type": "boolean" }, - "native_phone_integration_enabled": { - "type": "boolean" + "premium_since": { + "type": "integer" }, - "render_embeds": { - "type": "boolean" + "avatar": { + "type": "string" }, - "render_reactions": { - "type": "boolean" + "banner": { + "type": "string" }, - "restricted_guilds": { + "bio": { + "type": "string" + }, + "theme_colors": { "type": "array", "items": { - "type": "string" + "type": "integer" } }, - "show_current_game": { - "type": "boolean" - }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], + "pronouns": { "type": "string" }, - "stream_notifications_enabled": { - "type": "boolean" - }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "timezone_offset": { - "type": "integer" + "user": { + "$ref": "#/definitions/PublicUser" }, - "view_nsfw_guilds": { - "type": "boolean" + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, - "additionalProperties": false, "required": [ - "afk_timeout", - "allow_accessibility_detection", - "animate_emoji", - "animate_stickers", - "contact_sync_enabled", - "convert_emoticons", - "custom_status", - "default_guilds_restricted", - "detect_platform_accounts", - "developer_mode", - "disable_games_tab", - "enable_tts_command", - "explicit_content_filter", - "friend_discovery_flags", - "friend_source_flags", - "gateway_connected", - "gif_auto_play", - "guild_folders", - "guild_positions", - "inline_attachment_media", - "inline_embed_media", - "locale", - "message_display_compact", - "native_phone_integration_enabled", - "render_embeds", - "render_reactions", - "restricted_guilds", - "show_current_game", - "status", - "stream_notifications_enabled", - "theme", - "timezone_offset", - "view_nsfw_guilds" + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", + "id", + "joined_at", + "mute", + "pending", + "roles", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildProfileResponse": { + "APIGuildWithJoinedAt": { "type": "object", "properties": { + "joined_at": { + "type": "string" + }, "id": { "type": "string" }, "name": { "type": "string" }, - "icon_hash": { - "type": [ - "null", - "string" - ] + "large": { + "type": "boolean" + }, + "max_members": { + "type": "integer" + }, + "max_presences": { + "type": "integer" + }, + "max_video_channel_users": { + "type": "integer" }, "member_count": { "type": "integer" }, - "online_count": { + "presence_count": { "type": "integer" }, - "description": { + "mfa_level": { + "type": "integer" + }, + "owner_id": { "type": "string" }, - "brand_color_primary": { + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" + }, + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen" + }, + "widget_channel_id": { "type": "string" }, - "banner_hash": { + "widget_enabled": { + "type": "boolean" + }, + "nsfw_level": { + "type": "integer" + }, + "nsfw": { + "type": "boolean" + }, + "parent": { + "type": "string" + }, + "region": { + "type": "string" + }, + "banner": { "type": [ "null", "string" ] }, - "game_application_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "game_activity": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/GameActivity" - } - }, - "tag": { + "icon": { "type": [ "null", "string" ] }, - "badge": { - "$ref": "#/definitions/GuildBadgeType" - }, - "badge_color_primary": { + "system_channel_id": { "type": "string" }, - "badge_color_secondary": { + "rules_channel_id": { "type": "string" }, - "badge_hash": { + "guild_template_code": { "type": "string" }, - "traits": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildTrait" - } + "staff_only": { + "type": "boolean" + }, + "splash": { + "type": [ + "null", + "string" + ] + }, + "description": { + "type": "string" }, "features": { "type": "array", @@ -3725,1463 +3692,1383 @@ "type": "string" } }, - "visibility": { - "$ref": "#/definitions/GuildVisibilityLevel" + "verification_level": { + "type": "integer" }, - "custom_banner_hash": { - "type": [ - "null", - "string" - ] + "default_message_notifications": { + "type": "integer" }, - "premium_subscription_count": { + "system_channel_flags": { "type": "integer" }, - "premium_tier": { + "explicit_content_filter": { + "type": "integer" + }, + "public_updates_channel_id": { + "type": "string" + }, + "afk_timeout": { "type": "integer" + }, + "afk_channel_id": { + "type": "string" + }, + "preferred_locale": { + "type": "string" + }, + "premium_progress_bar_enabled": { + "type": "boolean" + }, + "discovery_splash": { + "type": "string" + }, + "safety_alerts_channel_id": { + "type": [ + "null", + "string" + ] } }, "additionalProperties": false, "required": [ - "badge", - "badge_color_primary", - "badge_color_secondary", - "badge_hash", - "banner_hash", - "brand_color_primary", - "custom_banner_hash", - "description", - "features", - "game_activity", - "game_application_ids", - "icon_hash", "id", - "member_count", + "joined_at", "name", - "online_count", - "premium_subscription_count", - "premium_tier", - "tag", - "traits", - "visibility" + "nsfw", + "welcome_screen", + "widget_enabled" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildAvailableSchema": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "available": { - "type": "boolean" - } + "APIRoleArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" }, - "additionalProperties": false, - "required": [ - "available", - "id" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StickersResponse": { + "APITemplateArray": { "type": "array", "items": { - "$ref": "#/definitions/StickerResponse" + "$ref": "#/definitions/Template" }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "StickerResponse": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "APIGuildVoiceRegion": { + "type": "array", + "items": { + "$ref": "#/definitions/GuildVoiceRegion" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APILimitsConfiguration": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/UserLimits" + }, + "guild": { + "$ref": "#/definitions/GuildLimits" + }, + "message": { + "$ref": "#/definitions/MessageLimits" + }, + "channel": { + "$ref": "#/definitions/ChannelLimits" + }, + "rate": { + "$ref": "#/definitions/RateLimits" + }, + "absoluteRate": { + "$ref": "#/definitions/GlobalRateLimits" + } + }, + "additionalProperties": false, + "required": [ + "absoluteRate", + "channel", + "guild", + "message", + "rate", + "user" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIConnectionsConfiguration": { + "type": "object", + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UpdatesResponse": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "pack_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "pub_date": { "type": "string" }, - "name": { + "url": { "type": "string" }, - "description": { + "notes": { "type": [ "null", "string" ] - }, - "tags": { + } + }, + "additionalProperties": false, + "required": [ + "name", + "notes", + "pub_date", + "url" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UploadAttachmentResponseSchema": { + "type": "object", + "properties": { + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadAttachmentResponse" + } + } + }, + "additionalProperties": false, + "required": [ + "attachments" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UploadAttachmentResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "type": { - "$ref": "#/definitions/StickerType" - }, - "format_type": { - "$ref": "#/definitions/StickerFormatType" - }, - "available": { - "type": "boolean" - }, - "guild_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "upload_url": { "type": "string" }, - "user": { - "$ref": "#/definitions/PartialUser" + "upload_filename": { + "type": "string" }, - "sort_value": { - "type": "integer" + "original_content_type": { + "type": "string" } }, "additionalProperties": false, "required": [ - "description", - "format_type", - "id", - "name", - "tags", - "type" + "upload_filename", + "upload_url" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CreateReportSchema": { + "UserNoteResponse": { "type": "object", "properties": { - "version": { + "note": { "type": "string" }, - "variant": { + "note_user_id": { "type": "string" }, - "name": { + "user_id": { "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "note", + "note_user_id", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserProfileResponse": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/PublicUser" }, - "language": { - "type": "string" + "connected_accounts": { + "$ref": "#/definitions/PublicConnectedAccount" }, - "breadcrumbs": { + "premium_guild_since": { + "type": "string", + "format": "date-time" + }, + "premium_since": { + "type": "string", + "format": "date-time" + }, + "mutual_guilds": { "type": "array", "items": { - "type": "integer" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "nick": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] } }, - "elements": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "premium_type": { + "type": "integer" }, - "channel_id": { - "type": "string" + "profile_themes_experiment_bucket": { + "type": "integer" }, - "message_id": { - "type": "string" + "user_profile": { + "$ref": "#/definitions/UserProfile" }, - "guild_id": { - "type": "string" + "guild_member": { + "$ref": "#/definitions/PublicMember" }, - "stage_instance_id": { - "type": "string" + "guild_member_profile": { + "$ref": "#/definitions/PublicMemberProfile" }, - "guild_scheduled_event_id": { + "badges": { + "type": "array", + "items": { + "$ref": "#/definitions/Badge" + } + } + }, + "additionalProperties": false, + "required": [ + "badges", + "connected_accounts", + "mutual_guilds", + "premium_type", + "profile_themes_experiment_bucket", + "user", + "user_profile" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserRelationResponse": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "reported_user_id": { + "username": { "type": "string" }, - "application_id": { + "discriminator": { "type": "string" }, - "user_id": { + "avatar": { "type": "string" }, - "widget_id": { - "type": "string" + "public_flags": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "breadcrumbs", - "language", - "name", - "variant", - "version" + "discriminator", + "id", + "public_flags", + "username" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "IdentifySchema": { + "UserRelationsResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/UserRelationResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserRelationshipsResponse": { "type": "object", "properties": { - "token": { + "id": { "type": "string" }, - "properties": { - "type": "object", - "properties": { - "os": { - "type": "string" - }, - "os_atch": { - "type": "string" - }, - "browser": { - "type": "string" - }, - "device": { - "type": "string" - }, - "$os": { - "type": "string" - }, - "$browser": { - "type": "string" - }, - "$device": { - "type": "string" - }, - "browser_user_agent": { - "type": "string" - }, - "browser_version": { - "type": "string" - }, - "os_version": { - "type": "string" - }, - "referrer": { - "type": "string" - }, - "referring_domain": { - "type": "string" - }, - "referrer_current": { - "type": "string" - }, - "referring_domain_current": { - "type": "string" - }, - "release_channel": { - "enum": [ - "canary", - "dev", - "ptb", - "stable" - ], - "type": "string" - }, - "client_build_number": { - "type": "integer" - }, - "client_event_source": { - "type": "string" - }, - "client_version": { - "type": "string" - }, - "system_locale": { - "type": "string" - } - }, - "additionalProperties": false - }, - "intents": { - "type": "bigint" - }, - "presence": { - "$ref": "#/definitions/ActivitySchema" - }, - "compress": { - "type": "boolean" - }, - "large_threshold": { - "type": "integer" - }, - "largeThreshold": { - "type": "integer" - }, - "shard": { - "minItems": 2, - "maxItems": 2, - "type": "array", - "items": { - "type": "bigint" - } - }, - "guild_subscriptions": { - "type": "boolean" - }, - "capabilities": { - "type": "integer" - }, - "client_state": { - "type": "object", - "properties": { - "guild_hashes": {}, - "highest_last_message_id": { - "type": "integer" - }, - "read_state_version": { - "type": "integer" - }, - "user_guild_settings_version": { - "type": "integer" - }, - "user_settings_version": { - "type": "integer" - }, - "useruser_guild_settings_version": { - "type": "integer" - }, - "private_channels_version": { - "type": "integer" - }, - "guild_versions": {}, - "api_code_version": { - "type": "integer" - }, - "initial_guild_id": { - "type": "string" - } - }, - "additionalProperties": false + "type": { + "$ref": "#/definitions/RelationshipType" }, - "clientState": { - "type": "object", - "properties": { - "guildHashes": {}, - "highestLastMessageId": { - "type": "integer" - }, - "readStateVersion": { - "type": "integer" - }, - "userGuildSettingsVersion": { - "type": "integer" - }, - "useruserGuildSettingsVersion": { - "type": "integer" - }, - "guildVersions": {}, - "apiCodeVersion": { - "type": "integer" - }, - "initialGuildId": { - "type": "string" - } - }, - "additionalProperties": false + "nickname": { + "type": "null" }, - "v": { - "type": "integer" + "user": { + "$ref": "#/definitions/PublicUser" } }, "additionalProperties": false, "required": [ - "properties", - "token" + "id", + "nickname", + "type", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamCreateSchema": { + "WebAuthnCreateResponse": { "type": "object", "properties": { - "type": { - "enum": [ - "call", - "guild" - ], - "type": "string" - }, - "channel_id": { - "type": "string" - }, - "guild_id": { + "name": { "type": "string" }, - "preferred_region": { + "id": { "type": "string" } }, "additionalProperties": false, "required": [ - "channel_id", - "type" + "id", + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamDeleteSchema": { + "WebhookCreateResponse": { "type": "object", "properties": { - "stream_key": { - "type": "string" + "user": { + "$ref": "#/definitions/User" + }, + "hook": { + "$ref": "#/definitions/Webhook" } }, "additionalProperties": false, "required": [ - "stream_key" + "hook", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamWatchSchema": { + "ActivitySchema": { "type": "object", "properties": { - "stream_key": { - "type": "string" + "afk": { + "type": "boolean" + }, + "status": { + "$ref": "#/definitions/Status" + }, + "activities": { + "type": "array", + "items": { + "$ref": "#/definitions/Activity" + } + }, + "since": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "stream_key" + "status" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "VoiceIdentifySchema": { + "ApplicationAuthorizeSchema": { "type": "object", "properties": { - "server_id": { - "type": "string" + "authorize": { + "type": "boolean" }, - "user_id": { + "guild_id": { "type": "string" }, - "session_id": { + "permissions": { "type": "string" }, - "channel_id": { + "captcha_key": { "type": "string" }, - "token": { + "code": { + "minLength": 6, + "maxLength": 6, "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "authorize", + "guild_id", + "permissions" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AutomodMentionSpamRuleSchema": { + "type": "object", + "properties": { + "mention_total_limit": { + "type": "integer" }, - "video": { + "mention_raid_protection_enabled": { "type": "boolean" - }, - "streams": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], - "type": "string" - }, - "rid": { - "type": "string" - }, - "quality": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "quality", - "rid", - "type" - ] - } - }, - "max_secure_frames_version": { - "type": "integer" - }, - "max_dave_protocol_version": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "server_id", - "session_id", - "token", - "user_id" + "mention_raid_protection_enabled", + "mention_total_limit" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "VoiceVideoSchema": { + "AutomodSuspectedSpamRuleSchema": { + "type": "object", + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AutomodCommonlyFlaggedWordsRuleSchema": { "type": "object", "properties": { - "audio_ssrc": { - "type": "integer" - }, - "video_ssrc": { - "type": "integer" + "allow_list": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "rtx_ssrc": { - "type": "integer" + "presets": { + "type": "array", + "items": [ + { + "type": "integer" + } + ], + "minItems": 1, + "maxItems": 1 + } + }, + "additionalProperties": false, + "required": [ + "allow_list", + "presets" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AutomodCustomWordsRuleSchema": { + "type": "object", + "properties": { + "allow_list": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "user_id": { - "type": "string" + "keyword_filter": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "streams": { + "regex_patterns": { "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], - "type": "string" - }, - "rid": { - "type": "string" - }, - "ssrc": { - "type": "integer" - }, - "active": { - "type": "boolean" - }, - "quality": { - "type": "integer" - }, - "rtx_ssrc": { - "type": "integer" - }, - "max_bitrate": { - "type": "integer" - }, - "max_framerate": { - "type": "integer" - }, - "max_resolution": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "width": { - "type": "integer" - }, - "height": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "height", - "type", - "width" - ] - } - }, - "additionalProperties": false, - "required": [ - "rid", - "type" - ] - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 } }, "additionalProperties": false, "required": [ - "audio_ssrc", - "video_ssrc" + "allow_list", + "keyword_filter", + "regex_patterns" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuild": { + "AutomodRuleSchema": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "region": { + "creator_id": { "type": "string" }, - "insert": { - "type": "object", - "additionalProperties": false + "enabled": { + "type": "boolean" }, - "id": { - "type": "string" + "event_type": { + "type": "integer" }, - "channels": { + "exempt_channels": { "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "members": { + "exempt_roles": { "type": "array", - "items": { - "$ref": "#/definitions/Member" - } - }, - "icon": { - "type": "string" - }, - "system_channel_id": { - "type": [ - "null", - "string" - ] - }, - "rules_channel_id": { - "type": [ - "null", - "string" - ] - }, - "banner": { - "type": "string" + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "splash": { + "guild_id": { "type": "string" }, - "description": { + "name": { "type": "string" }, - "features": { - "type": "array", - "items": { - "type": "string" - } - }, - "verification_level": { - "type": "integer" - }, - "default_message_notifications": { - "type": "integer" - }, - "system_channel_flags": { - "type": "integer" - }, - "explicit_content_filter": { + "position": { "type": "integer" }, - "public_updates_channel_id": { - "type": [ - "null", - "string" - ] - }, - "afk_timeout": { + "trigger_type": { "type": "integer" }, - "afk_channel_id": { - "type": [ - "null", - "string" + "trigger_metadata": { + "anyOf": [ + { + "$ref": "#/definitions/AutomodMentionSpamRuleSchema" + }, + { + "$ref": "#/definitions/AutomodSuspectedSpamRuleSchema" + }, + { + "$ref": "#/definitions/AutomodCommonlyFlaggedWordsRuleSchema" + }, + { + "$ref": "#/definitions/AutomodCustomWordsRuleSchema" + } ] - }, - "preferred_locale": { + } + }, + "additionalProperties": false, + "required": [ + "creator_id", + "enabled", + "event_type", + "exempt_channels", + "exempt_roles", + "guild_id", + "name", + "position", + "trigger_metadata", + "trigger_type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BackupCodesChallengeSchema": { + "type": "object", + "properties": { + "password": { + "minLength": 1, + "maxLength": 72, "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "password" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BanCreateSchema": { + "type": "object", + "properties": { + "delete_message_seconds": { + "type": "integer" }, - "premium_progress_bar_enabled": { - "type": "boolean" + "delete_message_days": { + "type": "integer" }, - "discovery_splash": { + "reason": { "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, - "parent": { + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BanModeratorSchema": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "owner_id": { + "user_id": { "type": "string" }, - "nsfw": { - "type": "boolean" - }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/definitions/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, - "member_count": { - "type": "integer" - }, - "get_annotations": { - "type": "object", - "additionalProperties": false - }, - "clean_data": { - "type": "object", - "additionalProperties": false - }, - "bans": { - "type": "array", - "items": { - "$ref": "#/definitions/Ban" - } - }, - "primary_category_id": { + "guild_id": { "type": "string" }, - "large": { - "type": "boolean" - }, - "max_members": { - "type": "integer" - }, - "max_presences": { - "type": "integer" - }, - "max_video_channel_users": { - "type": "integer" - }, - "presence_count": { - "type": "integer" - }, - "template_id": { + "executor_id": { "type": "string" }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/definitions/Emoji" - } - }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/definitions/Sticker" - } - }, - "mfa_level": { - "type": "integer" - }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" - }, - "unavailable": { - "type": "boolean" - }, - "welcome_screen": { - "$ref": "#/definitions/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." - }, - "widget_channel_id": { + "reason": { "type": "string" - }, - "widget_enabled": { - "type": "boolean" - }, - "nsfw_level": { - "type": "integer" - }, - "permissions": { - "type": "integer" - }, - "channel_ordering": { - "type": "array", - "items": { - "type": "string" - } - }, - "discovery_weight": { - "type": "integer" - }, - "discovery_excluded": { - "type": "boolean" } }, "additionalProperties": false, "required": [ - "bans", - "channel_ordering", - "channels", - "clean_data", - "discovery_excluded", - "discovery_weight", - "emojis", - "features", - "get_annotations", + "executor_id", + "guild_id", "id", - "insert", - "invites", - "members", - "name", - "nsfw", - "premium_progress_bar_enabled", - "public_updates_channel_id", - "roles", - "stickers", - "unavailable", - "voice_states", - "webhooks", - "welcome_screen", - "widget_enabled" + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIPublicUser": { + "BanRegistrySchema": { "type": "object", "properties": { "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "banner": { + "user_id": { "type": "string" }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { + "guild_id": { "type": "string" }, - "bio": { + "executor_id": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } + "ip": { + "type": "string" }, - "pronouns": { + "reason": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "executor_id", + "guild_id", + "id", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BotModifySchema": { + "type": "object", + "properties": { + "avatar": { "type": "string" }, "username": { "type": "string" }, - "discriminator": { + "banner": { "type": "string" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BulkBanSchema": { + "type": "object", + "properties": { + "user_ids": { + "type": "array", + "items": { + "type": "string" + } }, - "public_flags": { - "type": "integer" - }, - "accent_color": { - "type": "integer" - }, - "bot": { - "type": "boolean" - }, - "premium_type": { + "delete_message_seconds": { "type": "integer" - }, - "badge_ids": { + } + }, + "additionalProperties": false, + "required": [ + "user_ids" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BulkDeleteSchema": { + "type": "object", + "properties": { + "messages": { "type": "array", "items": { "type": "string" } - }, - "avatar_decoration_data": { - "$ref": "#/definitions/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/definitions/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/definitions/Collectibles" - }, - "primary_guild": { - "$ref": "#/definitions/PrimaryGuild" } }, "additionalProperties": false, "required": [ - "bio", - "bot", - "discriminator", - "id", - "premium_since", - "premium_type", - "public_flags", - "username" + "messages" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIPrivateUser": { + "ChannelModifySchema": { "type": "object", "properties": { - "email": { - "type": "string" - }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { + "name": { "type": "string" }, - "verified": { - "type": "boolean" - }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { - "type": "string" + "type": { + "enum": [ + 0, + 1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 2, + 255, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "number" }, - "bio": { + "topic": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { - "type": "string" + "icon": { + "type": [ + "null", + "string" + ] }, - "username": { - "type": "string" + "bitrate": { + "type": "integer" }, - "discriminator": { - "type": "string" + "user_limit": { + "type": "integer" }, - "public_flags": { + "rate_limit_per_user": { "type": "integer" }, - "accent_color": { + "position": { "type": "integer" }, - "bot": { + "invitable": { "type": "boolean" }, - "premium_type": { - "type": "integer" + "permission_overwrites": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/ChannelPermissionOverwriteType" + }, + "allow": { + "type": "string" + }, + "deny": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "allow", + "deny", + "id", + "type" + ] + } }, - "badge_ids": { + "applied_tags": { "type": "array", "items": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/definitions/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/definitions/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/definitions/Collectibles" + "parent_id": { + "type": "string" }, - "primary_guild": { - "$ref": "#/definitions/PrimaryGuild" + "id": { + "type": "string" }, - "mfa_enabled": { + "nsfw": { "type": "boolean" }, - "phone": { + "rtc_region": { "type": "string" }, - "nsfw_allowed": { - "type": "boolean" + "default_auto_archive_duration": { + "type": "integer" }, - "premium": { - "type": "boolean" + "default_reaction_emoji": { + "type": [ + "null", + "string" + ] }, - "purchased_flags": { + "flags": { "type": "integer" }, - "premium_usage_flags": { + "default_thread_rate_limit_per_user": { "type": "integer" }, - "disabled": { + "video_quality_mode": { + "type": "integer" + }, + "auto_archive_duration": { + "type": "integer" + }, + "archived": { "type": "boolean" }, - "settings": { - "$ref": "#/definitions/UserSettingsSchema" + "locked": { + "type": "boolean" + }, + "available_tags": { + "type": "array", + "items": { + "additionalProperties": false, + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "moderated": { + "type": [ + "null", + "boolean" + ] + }, + "emoji_id": { + "type": [ + "null", + "string" + ] + }, + "emoji_name": { + "type": [ + "null", + "string" + ] + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + } } }, "additionalProperties": false, - "required": [ - "bio", - "bot", - "disabled", - "discriminator", - "flags", - "id", - "mfa_enabled", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "username", - "verified" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuildArray": { - "type": "array", - "items": { - "$ref": "#/definitions/APIGuild" + "ChannelPermissionOverwriteSchema": { + "type": "object", + "properties": { + "allow": { + "type": "string" + }, + "deny": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/ChannelPermissionOverwriteType" + } }, + "additionalProperties": false, + "required": [ + "allow", + "deny", + "id", + "type" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIDMChannelArray": { + "ChannelReorderSchema": { "type": "array", "items": { - "$ref": "#/definitions/DmChannelDTO" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "position": { + "type": "integer" + }, + "lock_permissions": { + "type": "boolean" + }, + "parent_id": { + "type": [ + "null", + "string" + ] + } + }, + "additionalProperties": false, + "required": [ + "id" + ] }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIBackupCodeArray": { - "type": "array", - "items": { - "$ref": "#/definitions/BackupCode" + "CodesVerificationSchema": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "regenerate": { + "type": "boolean" + } }, + "additionalProperties": false, + "required": [ + "key", + "nonce" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserUpdateResponse": { + "ConnectedAccountSchema": { "type": "object", "properties": { - "newToken": { + "external_id": { "type": "string" }, - "email": { + "user_id": { "type": "string" }, - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" + "token_data": { + "$ref": "#/definitions/ConnectedAccountTokenData" }, - "flags": { - "type": "integer" + "friend_sync": { + "type": "boolean" }, - "banner": { + "name": { "type": "string" }, - "verified": { + "revoked": { "type": "boolean" }, - "premium_since": { - "type": "string", - "format": "date-time" + "show_activity": { + "type": "integer" }, - "avatar": { + "type": { "type": "string" }, - "bio": { - "type": "string" + "verified": { + "type": "boolean" }, - "theme_colors": { + "visibility": { + "type": "integer" + }, + "integrations": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "pronouns": { + "metadata_": {}, + "metadata_visibility": { + "type": "integer" + }, + "two_way_link": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "external_id", + "name", + "type", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ConnectedAccountCommonOAuthTokenResponse": { + "type": "object", + "properties": { + "access_token": { "type": "string" }, - "username": { + "token_type": { "type": "string" }, - "discriminator": { + "scope": { "type": "string" }, - "public_flags": { - "type": "integer" + "refresh_token": { + "type": "string" }, - "accent_color": { + "expires_in": { "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "access_token", + "scope", + "token_type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ConnectionCallbackSchema": { + "type": "object", + "properties": { + "code": { + "type": "string" }, - "bot": { + "state": { + "type": "string" + }, + "insecure": { "type": "boolean" }, - "premium_type": { - "type": "integer" + "friend_sync": { + "type": "boolean" }, - "badge_ids": { + "openid_params": {} + }, + "additionalProperties": false, + "required": [ + "friend_sync", + "insecure", + "state" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ConnectionUpdateSchema": { + "type": "object", + "properties": { + "visibility": { + "type": "boolean" + }, + "show_activity": { + "type": "boolean" + }, + "metadata_visibility": { + "type": "boolean" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "DmChannelCreateSchema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "recipients": { "type": "array", "items": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/definitions/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/definitions/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/definitions/Collectibles" - }, - "primary_guild": { - "$ref": "#/definitions/PrimaryGuild" - }, - "mfa_enabled": { - "type": "boolean" - }, - "phone": { + "recipient_id": { "type": "string" }, - "nsfw_allowed": { - "type": "boolean" - }, - "premium": { + "access_tokens": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "EmailDomainLookupSchema": { + "type": "object", + "properties": { + "allow_multiple_guilds": { "type": "boolean" }, - "purchased_flags": { - "type": "integer" - }, - "premium_usage_flags": { - "type": "integer" + "email": { + "type": "string" }, - "disabled": { + "use_verification_code": { "type": "boolean" }, - "settings": { - "$ref": "#/definitions/UserSettingsSchema" + "guild_id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "bio", - "bot", - "disabled", - "discriminator", - "flags", - "id", - "mfa_enabled", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "username", - "verified" + "allow_multiple_guilds", + "email", + "use_verification_code" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationDetectableResponse": { - "type": "array", - "items": {}, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationEntitlementsResponse": { - "type": "array", - "items": {}, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationSkusResponse": { - "type": "array", - "items": {}, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIApplicationArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Application" + "EmailDomainLookupVerifyCodeSchema": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "code": { + "type": "string" + } }, + "additionalProperties": false, + "required": [ + "code", + "email", + "guild_id" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIInviteArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" + "EmojiCreateSchema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "image": { + "type": "string" + }, + "require_colons": { + "type": [ + "null", + "boolean" + ] + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } + } }, + "additionalProperties": false, + "required": [ + "image" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIMessageArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Message" + "EmojiModifySchema": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } + } }, + "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIWebhookArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" + "ForgotPasswordSchema": { + "type": "object", + "properties": { + "login": { + "type": "string" + }, + "captcha_key": { + "type": "string" + } }, + "additionalProperties": false, + "required": [ + "login" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIDiscoveryCategoryArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Categories" + "GreetRequestSchema": { + "type": "object", + "properties": { + "sticker_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "allowed_mentions": { + "$ref": "#/definitions/AllowedMentions" + }, + "message_reference": { + "type": "object", + "properties": { + "message_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "fail_if_not_exists": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "message_id" + ] + } }, + "additionalProperties": false, + "required": [ + "sticker_ids" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGeneralConfiguration": { + "GuildCreateSchema": { "type": "object", "properties": { - "instanceName": { + "name": { + "maxLength": 100, "type": "string" }, - "serverName": { - "type": [ - "null", - "string" - ] - }, - "instanceDescription": { - "type": [ - "null", - "string" - ] - }, - "frontPage": { - "type": [ - "null", - "string" - ] + "region": { + "type": "string" }, - "tosPage": { + "icon": { "type": [ "null", "string" ] }, - "correspondenceEmail": { - "type": [ - "null", - "string" - ] + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/ChannelCreateSchema" + } }, - "correspondenceUserID": { - "type": [ - "null", - "string" - ] + "system_channel_id": { + "type": "string" }, - "image": { - "type": [ - "null", - "string" - ] + "rules_channel_id": { + "type": "string" }, - "instanceId": { + "guild_template_code": { "type": "string" }, - "autoCreateBotUsers": { + "staff_only": { "type": "boolean" } }, "additionalProperties": false, - "required": [ - "autoCreateBotUsers", - "correspondenceEmail", - "correspondenceUserID", - "frontPage", - "image", - "instanceDescription", - "instanceId", - "instanceName", - "serverName", - "tosPage" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIChannelArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIMemberArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Member" + "GuildSubscriptionsBulkSchema": { + "type": "object", + "properties": { + "subscriptions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GuildSubscriptionSchema" + } + } }, + "additionalProperties": false, + "required": [ + "subscriptions" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIPublicMember": { - "additionalProperties": false, + "GuildSubscriptionSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { - "type": "string" - }, - "nick": { - "type": "string" + "channels": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer" + } + } + } }, - "joined_at": { - "type": "string", - "format": "date-time" + "members": { + "type": "array", + "items": { + "type": "string" + } }, - "pending": { + "activities": { "type": "boolean" }, - "deaf": { + "threads": { "type": "boolean" }, - "mute": { + "typing": { + "const": true, "type": "boolean" }, - "premium_since": { - "type": "integer" - }, - "avatar": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { - "type": "string" - }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "user": { - "$ref": "#/definitions/PublicUser" + "member_updates": { + "type": "boolean" }, - "roles": { + "thread_member_lists": { "type": "array", - "items": { - "type": "string" - } + "items": {} } }, - "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", - "id", - "joined_at", - "mute", - "pending", - "roles", - "user" - ], + "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuildWithJoinedAt": { + "GuildTemplateCreateSchema": { "type": "object", "properties": { - "joined_at": { - "type": "string" - }, - "id": { - "type": "string" - }, "name": { "type": "string" }, - "large": { - "type": "boolean" - }, - "max_members": { - "type": "integer" - }, - "max_presences": { - "type": "integer" - }, - "max_video_channel_users": { - "type": "integer" - }, - "member_count": { - "type": "integer" - }, - "presence_count": { - "type": "integer" - }, - "mfa_level": { - "type": "integer" - }, - "owner_id": { - "type": "string" - }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" - }, - "welcome_screen": { - "$ref": "#/definitions/GuildWelcomeScreen" - }, - "widget_channel_id": { - "type": "string" - }, - "widget_enabled": { - "type": "boolean" - }, - "nsfw_level": { - "type": "integer" - }, - "nsfw": { - "type": "boolean" - }, - "parent": { - "type": "string" - }, - "region": { - "type": "string" - }, "icon": { "type": [ "null", "string" ] - }, - "system_channel_id": { - "type": "string" - }, - "rules_channel_id": { - "type": "string" - }, - "guild_template_code": { - "type": "string" - }, - "staff_only": { - "type": "boolean" - }, + } + }, + "additionalProperties": false, + "required": [ + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildUpdateSchema": { + "type": "object", + "properties": { "banner": { "type": [ "null", @@ -5238,327 +5125,126 @@ "null", "string" ] - } - }, - "additionalProperties": false, - "required": [ - "id", - "joined_at", - "name", - "nsfw", - "welcome_screen", - "widget_enabled" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIRoleArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APITemplateArray": { - "type": "array", - "items": { - "$ref": "#/definitions/Template" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIGuildVoiceRegion": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildVoiceRegion" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APILimitsConfiguration": { - "type": "object", - "properties": { - "user": { - "$ref": "#/definitions/UserLimits" }, - "guild": { - "$ref": "#/definitions/GuildLimits" + "name": { + "maxLength": 100, + "type": "string" }, - "message": { - "$ref": "#/definitions/MessageLimits" + "region": { + "type": "string" }, - "channel": { - "$ref": "#/definitions/ChannelLimits" + "icon": { + "type": [ + "null", + "string" + ] }, - "rate": { - "$ref": "#/definitions/RateLimits" + "system_channel_id": { + "type": "string" }, - "absoluteRate": { - "$ref": "#/definitions/GlobalRateLimits" + "rules_channel_id": { + "type": "string" + }, + "guild_template_code": { + "type": "string" + }, + "staff_only": { + "type": "boolean" } }, "additionalProperties": false, - "required": [ - "absoluteRate", - "channel", - "guild", - "message", - "rate", - "user" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIConnectionsConfiguration": { - "type": "object", - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UpdatesResponse": { + "GuildUpdateWelcomeScreenSchema": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "pub_date": { - "type": "string" - }, - "url": { - "type": "string" - }, - "notes": { - "type": [ - "null", - "string" - ] - } - }, - "additionalProperties": false, - "required": [ - "name", - "notes", - "pub_date", - "url" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UploadAttachmentResponseSchema": { - "type": "object", - "properties": { - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/UploadAttachmentResponse" - } - } - }, - "additionalProperties": false, - "required": [ - "attachments" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UploadAttachmentResponse": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "upload_url": { - "type": "string" - }, - "upload_filename": { - "type": "string" - }, - "original_content_type": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "upload_filename", - "upload_url" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserNoteResponse": { - "type": "object", - "properties": { - "note": { - "type": "string" - }, - "note_user_id": { - "type": "string" - }, - "user_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "note", - "note_user_id", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserProfileResponse": { - "type": "object", - "properties": { - "user": { - "$ref": "#/definitions/PublicUser" - }, - "connected_accounts": { - "$ref": "#/definitions/PublicConnectedAccount" - }, - "premium_guild_since": { - "type": "string", - "format": "date-time" - }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "mutual_guilds": { + "welcome_channels": { "type": "array", "items": { "type": "object", "properties": { - "id": { + "channel_id": { "type": "string" }, - "nick": { + "description": { + "type": "string" + }, + "emoji_id": { + "type": "string" + }, + "emoji_name": { "type": "string" } }, "additionalProperties": false, "required": [ - "id" + "channel_id", + "description" ] } }, - "premium_type": { - "type": "integer" - }, - "profile_themes_experiment_bucket": { - "type": "integer" - }, - "user_profile": { - "$ref": "#/definitions/UserProfile" - }, - "guild_member": { - "$ref": "#/definitions/PublicMember" - }, - "guild_member_profile": { - "$ref": "#/definitions/PublicMemberProfile" + "enabled": { + "type": "boolean" }, - "badges": { - "type": "array", - "items": { - "$ref": "#/definitions/Badge" - } + "description": { + "type": "string" } }, "additionalProperties": false, - "required": [ - "badges", - "connected_accounts", - "mutual_guilds", - "premium_type", - "profile_themes_experiment_bucket", - "user", - "user_profile" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserRelationResponse": { + "HubWaitlistSignupSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "username": { - "type": "string" - }, - "discriminator": { + "email": { "type": "string" }, - "avatar": { + "school": { "type": "string" - }, - "public_flags": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "discriminator", - "id", - "public_flags", - "username" + "email", + "school" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserRelationsResponse": { - "type": "array", - "items": { - "$ref": "#/definitions/UserRelationResponse" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserRelationshipsResponse": { + "InviteCreateSchema": { "type": "object", "properties": { - "id": { + "target_user_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/RelationshipType" - }, - "nickname": { - "type": "null" + "target_type": { + "type": "string" }, - "user": { - "$ref": "#/definitions/PublicUser" - } - }, - "additionalProperties": false, - "required": [ - "id", - "nickname", - "type", - "user" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "WebAuthnCreateResponse": { - "type": "object", - "properties": { - "name": { + "validate": { "type": "string" }, - "id": { + "max_age": { + "type": "integer" + }, + "max_uses": { + "type": "integer" + }, + "temporary": { + "type": "boolean" + }, + "unique": { + "type": "boolean" + }, + "target_user": { "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "WebhookCreateResponse": { - "type": "object", - "properties": { - "user": { - "$ref": "#/definitions/User" }, - "hook": { - "$ref": "#/definitions/Webhook" + "target_user_type": { + "type": "integer" + }, + "flags": { + "type": "integer" } }, "additionalProperties": false, - "required": [ - "hook", - "user" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, "MFAResponse": { @@ -7446,13 +7132,7 @@ "name": { "type": "string" }, - "type": { - "enum": [ - 11, - 12 - ], - "type": "number" - }, + "type": {}, "invitable": { "type": "boolean" }, @@ -7473,9 +7153,7 @@ }, "embeds": { "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } + "items": {} }, "allowed_mentions": { "type": "object", @@ -7508,9 +7186,7 @@ "anyOf": [ { "type": "array", - "items": { - "$ref": "#/definitions/BaseMessageComponents" - } + "items": {} }, { "type": "null" @@ -7765,7 +7441,236 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "EmojisResponse": { + "VoiceIdentifySchema": { + "type": "object", + "properties": { + "server_id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "session_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "token": { + "type": "string" + }, + "video": { + "type": "boolean" + }, + "streams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], + "type": "string" + }, + "rid": { + "type": "string" + }, + "quality": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "quality", + "rid", + "type" + ] + } + }, + "max_secure_frames_version": { + "type": "integer" + }, + "max_dave_protocol_version": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "server_id", + "session_id", + "token", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "VoiceVideoSchema": { + "type": "object", + "properties": { + "audio_ssrc": { + "type": "integer" + }, + "video_ssrc": { + "type": "integer" + }, + "rtx_ssrc": { + "type": "integer" + }, + "user_id": { + "type": "string" + }, + "streams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], + "type": "string" + }, + "rid": { + "type": "string" + }, + "ssrc": { + "type": "integer" + }, + "active": { + "type": "boolean" + }, + "quality": { + "type": "integer" + }, + "rtx_ssrc": { + "type": "integer" + }, + "max_bitrate": { + "type": "integer" + }, + "max_framerate": { + "type": "integer" + }, + "max_resolution": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "width": { + "type": "integer" + }, + "height": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "height", + "type", + "width" + ] + } + }, + "additionalProperties": false, + "required": [ + "rid", + "type" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "audio_ssrc", + "video_ssrc" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationCommandCreateSchema": { + "type": "object", + "properties": { + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "name": { + "type": "string" + }, + "name_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": { + "type": "string" + }, + "description_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandOption" + } + }, + "default_member_permissions": { + "type": "string" + }, + "dm_permission": { + "type": "boolean" + }, + "nsfw": { + "type": "boolean" + }, + "integration_types": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationIntegrationType" + } + }, + "contexts": { + "type": "array", + "items": { + "$ref": "#/definitions/InteractionContextType" + } + }, + "handler": { + "enum": [ + 1, + 2, + 3 + ], + "type": "number" + } + }, + "additionalProperties": false, + "required": [ + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BulkApplicationCommandCreateSchema": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandCreateSchema" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "EmojisResponse": { "type": "array", "items": { "$ref": "#/definitions/EmojiResponse" @@ -8106,1467 +8011,1198 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ErrorList": { + "InstanceUserDeleteSchemaContent": { "type": "object", + "properties": { + "reason": { + "type": "string" + }, + "persistInstanceBan": { + "type": "boolean" + } + }, "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "Status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online", - "unknown" - ], - "type": "string", - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Activity": { + "CustomStatus": { "type": "object", "properties": { - "name": { + "emoji_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/ActivityType" - }, - "url": { + "emoji_name": { "type": "string" }, - "created_at": { + "expires_at": { "type": "integer" }, - "timestamps": { - "type": "object", - "properties": { - "start": { - "type": "integer" - }, - "end": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "end", - "start" - ] - }, - "application_id": { - "type": "string" - }, - "details": { - "type": "string" - }, - "state": { + "text": { "type": "string" - }, - "emoji": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "animated", - "name" - ] - }, - "party": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "size": { - "type": "array", - "items": { - "type": "integer" - } - } - }, - "additionalProperties": false - }, - "assets": { - "type": "object", - "properties": { - "large_image": { - "type": "string" - }, - "large_text": { - "type": "string" - }, - "small_image": { - "type": "string" - }, - "small_text": { - "type": "string" - } - }, - "additionalProperties": false - }, - "secrets": { - "type": "object", - "properties": { - "join": { - "type": "string" - }, - "spectate": { - "type": "string" - }, - "match": { - "type": "string" - } - }, - "additionalProperties": false - }, - "instance": { + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "FriendSourceFlags": { + "type": "object", + "properties": { + "all": { "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "all" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildFolder": { + "type": "object", + "properties": { + "color": { + "type": [ + "null", + "integer" + ] }, - "flags": { - "type": "string" + "guild_ids": { + "type": "array", + "items": { + "type": "string" + } }, "id": { - "type": "string" - }, - "sync_id": { - "type": "string" - }, - "metadata": { - "type": "object", - "properties": { - "button_urls": { - "type": "array", - "items": { - "type": "string" - } - }, - "context_uri": { - "type": "string" - }, - "album_id": { - "type": "string" - }, - "artist_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "enum": [ - "episode", - "track" - ], - "type": "string" - } - }, - "additionalProperties": false + "type": [ + "null", + "integer" + ] }, - "session_id": { - "type": "string" + "name": { + "type": [ + "null", + "string" + ] } }, "additionalProperties": false, "required": [ - "flags", - "name", - "session_id", - "type" + "guild_ids" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ActivityType": { + "ErrorList": { + "type": "object", + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType": { "type": "number", "enum": [ - 0, 1, 2, + 3, 4, - 5 + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ChannelPermissionOverwriteType": { - "type": "number", - "enum": [ - 0, - 1, - 2 + "PongCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.PONG" + }, + "data": {} + }, + "additionalProperties": false, + "required": [ + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ConnectedAccountTokenData": { + "InteractionCallbackType.PONG": { + "type": "number", + "const": 1, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AckCallback": { "type": "object", "properties": { - "access_token": { - "type": "string" - }, - "token_type": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "refresh_token": { - "type": "string" - }, - "expires_in": { - "type": "integer" - }, - "expires_at": { - "type": "integer" + "type": { + "$ref": "#/definitions/InteractionCallbackType.ACKNOWLEDGE" }, - "fetched_at": { - "type": "integer" - } + "data": {} }, "additionalProperties": false, "required": [ - "access_token", - "fetched_at" + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AllowedMentions": { - "type": "object", - "properties": { - "parse": { - "type": "array", - "items": { - "enum": [ - "everyone", - "roles", - "users" - ], - "type": "string" - } - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "users": { - "type": "array", - "items": { - "type": "string" - } - }, - "replied_user": { - "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Classification": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "classification_type": { - "$ref": "#/definitions/ClassificationType" - }, - "description": { - "type": "string" - }, - "explainer_link": { - "type": "string" - }, - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/ClassificationAction" - } - }, - "max_expiration_time": { - "type": "string" - }, - "flagged_content": { - "type": "array", - "items": {} - }, - "appeal_status": { - "$ref": "#/definitions/AppealStatus" - }, - "is_coppa": { - "type": "boolean" - }, - "is_spam": { - "type": "boolean" - }, - "appeal_ingestion_type": { - "$ref": "#/definitions/AppealIngestionType" - } - }, - "additionalProperties": false, - "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ClassificationType": { + "InteractionCallbackType.ACKNOWLEDGE": { "type": "number", - "enum": [ - 1, - 100, - 200, - 210, - 220, - 230, - 240, - 250, - 280, - 290, - 310, - 320, - 390, - 600, - 650, - 711, - 720, - 3010, - 3030, - 4000, - 4010, - 4130, - 4140, - 5010, - 5090, - 5305, - 5411, - 5440, - 5485 - ], + "const": 2, "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClassificationAction": { + "MessageCallback": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "action_type": { - "$ref": "#/definitions/ClassificationActionType" + "type": { + "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE" }, - "descriptions": { - "type": "array", - "items": { - "type": "string" - } - } + "data": {} }, "additionalProperties": false, "required": [ - "action_type", - "descriptions", - "id" + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClassificationActionType": { + "InteractionCallbackType.CHANNEL_MESSAGE": { "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 20, - 22 - ], + "const": 3, "$schema": "http://json-schema.org/draft-07/schema#" }, - "AppealStatus": { + "MessageWSourceCallback": { "type": "object", "properties": { - "status": { - "$ref": "#/definitions/AppealStatusValue" + "type": { + "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" + }, + "data": { + "$ref": "#/definitions/InteractionMessage" } }, "additionalProperties": false, "required": [ - "status" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AppealStatusValue": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AppealIngestionType": { + "InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE": { "type": "number", - "enum": [ - 0, - 1, - 2 - ], + "const": 4, "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildClassification": { + "InteractionMessage": { "type": "object", "properties": { - "guild_metadata": { - "$ref": "#/definitions/GuildMetadata" - }, - "id": { + "content": { "type": "string" }, - "classification_type": { - "$ref": "#/definitions/ClassificationType" + "tts": { + "type": "boolean" }, - "description": { - "type": "string" + "embeds": { + "type": "array", + "items": { + "$ref": "#/definitions/Embed" + } }, - "explainer_link": { - "type": "string" + "allowed_mentions": { + "$ref": "#/definitions/AllowedMentions" }, - "actions": { + "components": { "type": "array", "items": { - "$ref": "#/definitions/ClassificationAction" + "$ref": "#/definitions/BaseMessageComponents" } }, - "max_expiration_time": { - "type": "string" + "flags": { + "type": "integer" }, - "flagged_content": { + "attachments": { "type": "array", "items": {} }, - "appeal_status": { - "$ref": "#/definitions/AppealStatus" - }, - "is_coppa": { - "type": "boolean" - }, - "is_spam": { - "type": "boolean" - }, - "appeal_ingestion_type": { - "$ref": "#/definitions/AppealIngestionType" - } + "poll": {} }, "additionalProperties": false, - "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "guild_metadata", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildMetadata": { + "Embed": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "member_type": { - "$ref": "#/definitions/GuildMemberType" - } - }, - "additionalProperties": false, - "required": [ - "member_type", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildMemberType": { - "type": "number", - "enum": [ - 1, - 2 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AccountStandingState": { - "type": "number", - "enum": [ - 100, - 200, - 300, - 400, - 500 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AppealEligibility": { - "type": "number", - "enum": [ - 1, - 2, - 3 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "CollectiblesCategoryItem": { - "type": "object", - "properties": { - "sku_id": { - "type": "string" - }, - "name": { + "title": { "type": "string" }, - "summary": { + "type": { + "enum": [ + "article", + "gifv", + "image", + "link", + "rich", + "video" + ], "type": "string" }, - "store_listing_id": { + "description": { "type": "string" }, - "banner": { + "url": { "type": "string" }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "styles": { - "$ref": "#/definitions/CollectiblesCategoryStyle" + "timestamp": { + "type": "string", + "format": "date-time" }, - "logo": { - "type": "string" + "color": { + "type": "integer" }, - "hero_ranking": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } + "footer": { + "type": "object", + "properties": { + "text": { + "type": "string" }, - { - "type": "null" + "icon_url": { + "type": "string" + }, + "proxy_icon_url": { + "type": "string" } + }, + "additionalProperties": false, + "required": [ + "text" ] }, - "mobile_bg": { - "type": [ - "null", - "string" - ] - }, - "pdp_bg": { - "type": [ - "null", - "string" - ] - }, - "success_modal_bg": { - "type": [ - "null", - "string" - ] - }, - "mobile_banner": { - "type": [ - "null", - "string" - ] + "image": { + "$ref": "#/definitions/EmbedImage" }, - "featured_block": { - "type": [ - "null", - "string" - ] + "thumbnail": { + "$ref": "#/definitions/EmbedImage" }, - "hero_banner": { - "type": [ - "null", - "string" - ] + "video": { + "$ref": "#/definitions/EmbedImage" }, - "wide_banner": { - "type": [ - "null", - "string" - ] + "provider": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "additionalProperties": false }, - "hero_logo": { - "type": [ - "null", - "string" - ] + "author": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "icon_url": { + "type": "string" + }, + "proxy_icon_url": { + "type": "string" + } + }, + "additionalProperties": false }, - "products": { + "fields": { "type": "array", "items": { - "$ref": "#/definitions/CollectiblesCategoryProductItem" + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "inline": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name", + "value" + ] } + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "EmbedImage": { + "type": "object", + "properties": { + "url": { + "type": "string" }, - "banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" + "proxy_url": { + "type": "string" }, - "hero_banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" + "height": { + "type": "integer" + }, + "width": { + "type": "integer" } }, "additionalProperties": false, - "required": [ - "banner", - "featured_block", - "hero_banner", - "hero_logo", - "hero_ranking", - "logo", - "mobile_banner", - "mobile_bg", - "name", - "pdp_bg", - "products", - "sku_id", - "store_listing_id", - "styles", - "success_modal_bg", - "summary", - "unpublished_at", - "wide_banner" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesCategoryStyle": { + "AllowedMentions": { "type": "object", "properties": { - "background_colors": { + "parse": { "type": "array", "items": { - "type": "integer" + "enum": [ + "everyone", + "roles", + "users" + ], + "type": "string" } }, - "button_colors": { + "roles": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "confetti_colors": { + "users": { "type": "array", "items": { - "type": "integer" + "type": "string" } + }, + "replied_user": { + "type": "boolean" } }, "additionalProperties": false, - "required": [ - "background_colors", - "button_colors", - "confetti_colors" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesCategoryProductItem": { - "type": "object", - "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "store_listing_id": { - "type": "string" - }, - "banner": { - "type": "string" - }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "styles": { - "$ref": "#/definitions/CollectiblesCategoryStyle" - }, - "prices": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "country_prices": { - "$ref": "#/definitions/CountryPrice" - } - }, - "additionalProperties": false, - "required": [ - "country_prices" - ] - } + "BaseMessageComponents": { + "anyOf": [ + { + "$ref": "#/definitions/SectionComponent" }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/ProductItem" - } + { + "$ref": "#/definitions/TextDisplayComponent" }, - "type": { - "type": "integer" + { + "$ref": "#/definitions/MediaGalleryComponent" }, - "premium_type": { - "type": "integer" + { + "$ref": "#/definitions/FileComponent" }, - "category_sku_id": { - "type": "string" + { + "$ref": "#/definitions/SeperatorComponent" }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } + { + "$ref": "#/definitions/ActionRowComponent" }, - "variants": { - "type": "array", - "items": { - "$ref": "#/definitions/ProductItemVariant" - } + { + "$ref": "#/definitions/ContainerComponent" } - }, - "additionalProperties": false, - "required": [ - "banner", - "category_sku_id", - "google_sku_ids", - "items", - "name", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "styles", - "summary", - "type", - "unpublished_at" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CountryPrice": { + "SectionComponent": { "type": "object", "properties": { - "country_code": { - "type": "string" + "type": { + "$ref": "#/definitions/MessageComponentType.Section" }, - "prices": { + "components": { "type": "array", "items": { - "$ref": "#/definitions/PriceEntry" + "$ref": "#/definitions/TextDisplayComponent" } + }, + "accessory": { + "anyOf": [ + { + "$ref": "#/definitions/ThumbnailComponent" + }, + { + "$ref": "#/definitions/ButtonComponent" + } + ] + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "country_code", - "prices" + "accessory", + "components", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PriceEntry": { + "MessageComponentType.Section": { + "type": "number", + "const": 9, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "TextDisplayComponent": { "type": "object", "properties": { - "amount": { - "type": "integer" + "type": { + "$ref": "#/definitions/MessageComponentType.TextDisplay" }, - "currency": { + "content": { "type": "string" }, - "exponent": { + "id": { "type": "integer" } }, "additionalProperties": false, "required": [ - "amount", - "currency", - "exponent" + "content", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ProductItem": { + "MessageComponentType.TextDisplay": { + "type": "number", + "const": 10, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ThumbnailComponent": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "id": { - "type": "string" + "$ref": "#/definitions/MessageComponentType.Thumbnail" }, - "sku_id": { + "description": { "type": "string" }, - "asset": { - "type": "string" + "media": { + "$ref": "#/definitions/UnfurledMediaItem" }, - "label": { - "type": "string" + "spoiler": { + "type": "boolean" }, - "palette": { - "type": "string" + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "id", - "sku_id", + "media", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ProductItemVariant": { + "MessageComponentType.Thumbnail": { + "type": "number", + "const": 11, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UnfurledMediaItem": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "name_localizations": { - "type": "null" - }, - "summary": { + "id": { "type": "string" }, - "summary_localizations": { - "type": "null" - }, - "store_listing_id": { + "url": { "type": "string" }, - "banner": { + "proxy_url": { "type": "string" }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "styles": { - "$ref": "#/definitions/CollectiblesCategoryStyle" - }, - "prices": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "country_prices": { - "$ref": "#/definitions/CountryPrice" - } - }, - "additionalProperties": false, - "required": [ - "country_prices" - ] - } - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/ProductItem" - } + "height": { + "type": "integer" }, - "type": { + "width": { "type": "integer" }, - "premium_type": { + "flags": { "type": "integer" }, - "category_sku_id": { + "content_type": { "type": "string" }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "content_scan_metadata": {}, + "placeholder_version": { + "type": "integer" }, - "base_variant_sku_id": { + "placeholder": { "type": "string" }, - "base_variant_name": { - "type": "string" - }, - "variant_label": { - "type": "string" + "loading_state": { + "type": "integer" }, - "variant_value": { + "attachment_id": { "type": "string" } }, "additionalProperties": false, "required": [ - "base_variant_name", - "base_variant_sku_id", - "category_sku_id", - "items", - "name", - "name_localizations", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "summary", - "summary_localizations", - "type", - "variant_label", - "variant_value" + "url" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StaticAnimatedAsset": { + "ButtonComponent": { "type": "object", "properties": { - "animated": { - "type": [ - "null", - "string" + "type": { + "$ref": "#/definitions/MessageComponentType.Button" + }, + "style": { + "$ref": "#/definitions/ButtonStyle" + }, + "label": { + "type": "string" + }, + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } ] }, - "static": { + "custom_id": { "type": "string" + }, + "sku_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "animated", - "static" + "style", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesMarketingItem": { + "MessageComponentType.Button": { + "type": "number", + "const": 2, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ButtonStyle": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MediaGalleryComponent": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "version": { - "type": "integer" + "$ref": "#/definitions/MessageComponentType.MediaGallery" }, - "title": { - "type": "string" + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "media": { + "$ref": "#/definitions/UnfurledMediaItem" + }, + "description": { + "type": "string" + }, + "spoiler": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "media" + ] + } }, - "body": { - "type": "string" + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "body", - "title", - "type", - "version" + "items", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AnyShopBlock": { - "anyOf": [ - { - "$ref": "#/definitions/ItemRowShopBlock" - }, - { - "$ref": "#/definitions/BundleTileRowShopBlock" - }, - { - "$ref": "#/definitions/ItemCollectionShopBlock" - } - ], + "MessageComponentType.MediaGallery": { + "type": "number", + "const": 12, "$schema": "http://json-schema.org/draft-07/schema#" }, - "ItemRowShopBlock": { + "FileComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 0 - }, - "category_sku_id": { - "type": "string" - }, - "name": { - "type": "string" + "$ref": "#/definitions/MessageComponentType.File" }, - "category_store_listing_id": { - "type": "string" + "file": { + "$ref": "#/definitions/UnfurledMediaItem" }, - "banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" + "spoiler": { + "type": "boolean" }, - "logo_url": { + "name": { "type": "string" }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "summary": { - "type": "string" + "size": { + "type": "integer" }, - "ranked_sku_ids": { - "type": "array", - "items": { - "type": "string" - } + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "banner_asset", - "category_sku_id", - "category_store_listing_id", - "logo_url", + "file", "name", - "ranked_sku_ids", - "summary", - "type", - "unpublished_at" + "size", + "spoiler", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BundleTileRowShopBlock": { + "MessageComponentType.File": { + "type": "number", + "const": 13, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SeperatorComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 1 + "$ref": "#/definitions/MessageComponentType.Separator" }, - "subblocks": { - "type": "array", - "items": { - "$ref": "#/definitions/ShopBlockSubBlock" - } + "divider": { + "type": "boolean" + }, + "spacing": { + "enum": [ + 1, + 2 + ], + "type": "number" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "subblocks", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ShopBlockSubBlock": { + "MessageComponentType.Separator": { + "type": "number", + "const": 14, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ActionRowComponent": { "type": "object", "properties": { "type": { - "type": "integer" + "$ref": "#/definitions/MessageComponentType.ActionRow" }, - "category_store_listing_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "banner_url": { - "type": "string" - }, - "body_text": { - "type": [ - "null", - "string" - ] - }, - "banner_text_color": { - "type": [ - "null", - "integer" - ] - } - }, - "additionalProperties": false, - "required": [ - "banner_text_color", - "banner_url", - "body_text", - "category_store_listing_id", - "name", - "type", - "unpublished_at" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ItemCollectionShopBlock": { - "type": "object", - "properties": { - "type": { - "type": "integer", - "const": 2 - }, - "ranked_sku_ids": { + "components": { "type": "array", "items": { - "type": "string" + "anyOf": [ + { + "$ref": "#/definitions/ButtonComponent" + }, + { + "$ref": "#/definitions/SelectMenuComponent" + }, + { + "$ref": "#/definitions/StringSelectMenuComponent" + }, + { + "$ref": "#/definitions/TextInputComponent" + } + ] } }, - "sorted_sku_ids": { - "type": "object", - "properties": { - "recommended": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "popular": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "required": [ - "popular", - "recommended" - ] + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "ranked_sku_ids", - "sorted_sku_ids", + "components", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Guild": { + "MessageComponentType.ActionRow": { + "type": "number", + "const": 1, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SelectMenuComponent": { "type": "object", "properties": { - "afk_channel_id": { - "type": [ - "null", - "string" - ] - }, - "afk_channel": { - "$ref": "#/definitions/Channel" + "type": { + "enum": [ + 3, + 5, + 6, + 7, + 8 + ], + "type": "number" }, - "afk_timeout": { - "type": "integer" + "custom_id": { + "type": "string" }, - "bans": { + "channel_types": { "type": "array", "items": { - "$ref": "#/definitions/Ban" + "type": "integer" } }, - "banner": { - "type": "string" - }, - "default_message_notifications": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "discovery_splash": { + "placeholder": { "type": "string" }, - "explicit_content_filter": { - "type": "integer" - }, - "features": { + "default_values": { "type": "array", "items": { - "type": "string" - }, - "default": [] - }, - "primary_category_id": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "large": { - "type": "boolean", - "default": false - }, - "max_members": { - "type": "integer" + "$ref": "#/definitions/SelectMenuDefaultOption" + } }, - "max_presences": { + "min_values": { "type": "integer" }, - "max_video_channel_users": { + "max_values": { "type": "integer" }, - "member_count": { - "type": "integer" + "disabled": { + "type": "boolean" }, - "presence_count": { + "id": { "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "custom_id", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SelectMenuDefaultOption": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/Member" - } - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } + "type": { + "enum": [ + "channel", + "role", + "user" + ], + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "StringSelectMenuComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/MessageComponentType.StringSelect" }, - "channels": { + "options": { "type": "array", "items": { - "$ref": "#/definitions/Channel" + "$ref": "#/definitions/SelectMenuOption" } }, - "template_id": { + "custom_id": { "type": "string" }, - "template": { - "$ref": "#/definitions/Template" - }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/definitions/Emoji" - } - }, - "stickers": { + "channel_types": { "type": "array", "items": { - "$ref": "#/definitions/Sticker" + "type": "integer" } }, - "invites": { - "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } + "placeholder": { + "type": "string" }, - "voice_states": { + "default_values": { "type": "array", "items": { - "$ref": "#/definitions/VoiceState" + "$ref": "#/definitions/SelectMenuDefaultOption" } }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } + "min_values": { + "type": "integer" }, - "mfa_level": { + "max_values": { "type": "integer" }, - "name": { - "type": "string" + "disabled": { + "type": "boolean" }, - "owner_id": { + "id": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "custom_id", + "options", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageComponentType.StringSelect": { + "type": "number", + "const": 3, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SelectMenuOption": { + "type": "object", + "properties": { + "label": { "type": "string" }, - "owner": { - "$ref": "#/definitions/User" - }, - "preferred_locale": { + "value": { "type": "string" }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" + "description": { + "type": "string" }, - "public_updates_channel_id": { - "type": [ - "null", - "string" + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } ] }, - "public_updates_channel": { - "$ref": "#/definitions/Channel" - }, - "rules_channel_id": { - "type": [ - "null", - "string" - ] + "default": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "label", + "value" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "TextInputComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/MessageComponentType.TextInput" }, - "rules_channel": { + "custom_id": { "type": "string" }, - "region": { - "type": "string" + "style": { + "$ref": "#/definitions/TextInputStyle" }, - "splash": { + "label": { "type": "string" }, - "system_channel_id": { - "type": [ - "null", - "string" - ] - }, - "system_channel": { - "$ref": "#/definitions/Channel" - }, - "system_channel_flags": { + "min_length": { "type": "integer" }, - "unavailable": { - "type": "boolean", - "default": false - }, - "verification_level": { + "max_length": { "type": "integer" }, - "welcome_screen": { - "$ref": "#/definitions/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." + "required": { + "type": "boolean" }, - "widget_channel_id": { + "value": { "type": "string" }, - "widget_channel": { - "$ref": "#/definitions/Channel" - }, - "widget_enabled": { - "type": "boolean", - "default": true - }, - "nsfw_level": { - "type": "integer" - }, - "nsfw": { - "type": "boolean", - "default": false - }, - "parent": { + "placeholder": { "type": "string" }, - "permissions": { + "id": { "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "custom_id", + "label", + "style", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageComponentType.TextInput": { + "type": "number", + "const": 4, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "TextInputStyle": { + "type": "number", + "enum": [ + 1, + 2 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ContainerComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/MessageComponentType.Container" }, - "premium_progress_bar_enabled": { - "type": "boolean", - "default": false - }, - "channel_ordering": { + "components": { "type": "array", "items": { - "type": "string" + "anyOf": [ + { + "$ref": "#/definitions/SectionComponent" + }, + { + "$ref": "#/definitions/TextDisplayComponent" + }, + { + "$ref": "#/definitions/MediaGalleryComponent" + }, + { + "$ref": "#/definitions/FileComponent" + }, + { + "$ref": "#/definitions/SeperatorComponent" + }, + { + "$ref": "#/definitions/ActionRowComponent" + } + ] } }, - "discovery_weight": { - "type": "integer", - "default": 0 + "accent_color": { + "type": "integer" }, - "discovery_excluded": { - "type": "boolean", - "default": false + "spoiler": { + "type": "boolean" }, "id": { - "type": "string" + "type": "integer" } }, "additionalProperties": false, "required": [ - "bans", - "channel_ordering", - "channels", - "discovery_excluded", - "discovery_weight", - "emojis", - "features", - "id", - "invites", - "members", - "name", - "nsfw", - "premium_progress_bar_enabled", - "public_updates_channel_id", - "roles", - "stickers", - "template", - "unavailable", - "voice_states", - "webhooks", - "welcome_screen", - "widget_enabled" + "components", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Channel": { + "MessageComponentType.Container": { + "type": "number", + "const": 17, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageDWSourceCallback": { "type": "object", "properties": { - "created_at": { - "type": "string", - "format": "date-time" + "type": { + "$ref": "#/definitions/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" + }, + "data": { + "$ref": "#/definitions/InteractionMessage" + } + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { + "type": "number", + "const": 5, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageUpdateCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.UPDATE_MESSAGE" + }, + "data": { + "$ref": "#/definitions/InteractionMessage" + } + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.UPDATE_MESSAGE": { + "type": "number", + "const": 7, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageDUpdateCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" + }, + "data": { + "$ref": "#/definitions/InteractionMessage" + } + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { + "type": "number", + "const": 6, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionGuild": { + "type": "object", + "properties": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "features", + "id", + "locale" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Channel": { + "type": "object", + "properties": { + "created_at": { + "type": "string", + "format": "date-time" }, "name": { "type": "string" @@ -10113,101 +9749,287 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClientStatus": { + "Activity": { "type": "object", "properties": { - "desktop": { - "type": "string" - }, - "mobile": { - "type": "string" - }, - "web": { + "name": { "type": "string" }, - "embedded": { - "type": "string" + "type": { + "$ref": "#/definitions/ActivityType" }, - "vr": { + "url": { "type": "string" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ExtendedLocationInfo": { - "type": "object", - "properties": { - "is_eu": { - "type": "boolean" }, - "city": { - "type": "string" + "created_at": { + "type": "integer" }, - "region": { - "type": "string" + "timestamps": { + "type": "object", + "properties": { + "start": { + "type": "integer" + }, + "end": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "end", + "start" + ] }, - "region_code": { + "application_id": { "type": "string" }, - "country_name": { + "details": { "type": "string" }, - "country_code": { + "state": { "type": "string" }, - "continent_name": { - "type": "string" + "emoji": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "animated", + "name" + ] }, - "continent_code": { - "type": "string" + "party": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "size": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "additionalProperties": false }, - "latitude": { - "type": "integer" + "assets": { + "type": "object", + "properties": { + "large_image": { + "type": "string" + }, + "large_text": { + "type": "string" + }, + "small_image": { + "type": "string" + }, + "small_text": { + "type": "string" + } + }, + "additionalProperties": false }, - "longitude": { - "type": "integer" + "secrets": { + "type": "object", + "properties": { + "join": { + "type": "string" + }, + "spectate": { + "type": "string" + }, + "match": { + "type": "string" + } + }, + "additionalProperties": false }, - "postal": { - "type": "string" + "instance": { + "type": "boolean" }, - "calling_code": { + "flags": { "type": "string" }, - "flag": { + "id": { "type": "string" }, - "emoji_flag": { + "sync_id": { "type": "string" }, - "emoji_unicode": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "calling_code", - "city", - "continent_code", - "continent_name", - "country_code", - "country_name", - "emoji_flag", - "emoji_unicode", - "flag", - "is_eu", - "latitude", - "longitude", - "postal", - "region", - "region_code" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Relationship": { - "type": "object", - "properties": { - "from_id": { + "metadata": { + "type": "object", + "properties": { + "button_urls": { + "type": "array", + "items": { + "type": "string" + } + }, + "context_uri": { + "type": "string" + }, + "album_id": { + "type": "string" + }, + "artist_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "enum": [ + "episode", + "track" + ], + "type": "string" + } + }, + "additionalProperties": false + }, + "session_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "flags", + "name", + "session_id", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ActivityType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 4, + 5 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ClientStatus": { + "type": "object", + "properties": { + "desktop": { + "type": "string" + }, + "mobile": { + "type": "string" + }, + "web": { + "type": "string" + }, + "embedded": { + "type": "string" + }, + "vr": { + "type": "string" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online", + "unknown" + ], + "type": "string", + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ExtendedLocationInfo": { + "type": "object", + "properties": { + "is_eu": { + "type": "boolean" + }, + "city": { + "type": "string" + }, + "region": { + "type": "string" + }, + "region_code": { + "type": "string" + }, + "country_name": { + "type": "string" + }, + "country_code": { + "type": "string" + }, + "continent_name": { + "type": "string" + }, + "continent_code": { + "type": "string" + }, + "latitude": { + "type": "integer" + }, + "longitude": { + "type": "integer" + }, + "postal": { + "type": "string" + }, + "calling_code": { + "type": "string" + }, + "flag": { + "type": "string" + }, + "emoji_flag": { + "type": "string" + }, + "emoji_unicode": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "calling_code", + "city", + "continent_code", + "continent_name", + "country_code", + "country_name", + "emoji_flag", + "emoji_unicode", + "flag", + "is_eu", + "latitude", + "longitude", + "postal", + "region", + "region_code" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Relationship": { + "type": "object", + "properties": { + "from_id": { "type": "string" }, "from": { @@ -10329,6 +10151,38 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, + "ConnectedAccountTokenData": { + "type": "object", + "properties": { + "access_token": { + "type": "string" + }, + "token_type": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "refresh_token": { + "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "expires_at": { + "type": "integer" + }, + "fetched_at": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "access_token", + "fetched_at" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, "UserSettings": { "type": "object", "properties": { @@ -10533,120 +10387,54 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CustomStatus": { + "SecurityKey": { "type": "object", "properties": { - "emoji_id": { + "user_id": { "type": "string" }, - "emoji_name": { + "user": { + "$ref": "#/definitions/User" + }, + "key_id": { "type": "string" }, - "expires_at": { + "public_key": { + "type": "string" + }, + "counter": { "type": "integer" }, - "text": { + "name": { + "type": "string" + }, + "id": { "type": "string" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "FriendSourceFlags": { - "type": "object", - "properties": { - "all": { - "type": "boolean" } }, "additionalProperties": false, "required": [ - "all" + "counter", + "id", + "key_id", + "name", + "public_key", + "user", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildFolder": { + "AvatarDecorationData": { "type": "object", "properties": { - "color": { - "type": [ - "null", - "integer" - ] - }, - "guild_ids": { - "type": "array", - "items": { - "type": "string" - } + "asset": { + "type": "string" }, - "id": { - "type": [ - "null", - "integer" - ] + "sku_id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" }, - "name": { - "type": [ - "null", - "string" - ] - } - }, - "additionalProperties": false, - "required": [ - "guild_ids" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SecurityKey": { - "type": "object", - "properties": { - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/User" - }, - "key_id": { - "type": "string" - }, - "public_key": { - "type": "string" - }, - "counter": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "counter", - "id", - "key_id", - "name", - "public_key", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AvatarDecorationData": { - "type": "object", - "properties": { - "asset": { - "type": "string" - }, - "sku_id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "expires_at": { + "expires_at": { "type": [ "null", "string" @@ -10936,372 +10724,276 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Role": { + "Guild": { "type": "object", "properties": { - "guild_id": { - "type": "string" + "afk_channel_id": { + "type": [ + "null", + "string" + ] }, - "guild": { - "$ref": "#/definitions/Guild" + "afk_channel": { + "$ref": "#/definitions/Channel" }, - "color": { + "afk_timeout": { "type": "integer" }, - "hoist": { - "type": "boolean" + "bans": { + "type": "array", + "items": { + "$ref": "#/definitions/Ban" + } }, - "managed": { - "type": "boolean" + "banner": { + "type": "string" }, - "mentionable": { - "type": "boolean" + "default_message_notifications": { + "type": "integer" }, - "name": { + "description": { "type": "string" }, - "permissions": { + "discovery_splash": { "type": "string" }, - "position": { + "explicit_content_filter": { "type": "integer" }, - "icon": { + "features": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "primary_category_id": { "type": "string" }, - "unicode_emoji": { + "icon": { "type": "string" }, - "tags": { - "type": "object", - "properties": { - "bot_id": { - "type": "string" - }, - "integration_id": { - "type": "string" - }, - "premium_subscriber": { - "type": "boolean" - } - }, - "additionalProperties": false + "large": { + "type": "boolean", + "default": false }, - "flags": { + "max_members": { "type": "integer" }, - "colors": { - "$ref": "#/definitions/RoleColors" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "color", - "colors", - "flags", - "guild", - "guild_id", - "hoist", - "id", - "managed", - "mentionable", - "name", - "permissions", - "position" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "RoleColors": { - "type": "object", - "properties": { - "primary_color": { + "max_presences": { "type": "integer" }, - "secondary_color": { + "max_video_channel_users": { "type": "integer" }, - "tertiary_color": { + "member_count": { "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "primary_color" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserGuildSettings": { - "type": "object", - "properties": { - "channel_overrides": { - "anyOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ChannelOverride" - } - }, - { - "type": "null" - } - ] }, - "message_notifications": { + "presence_count": { "type": "integer" }, - "mobile_push": { - "type": "boolean" - }, - "mute_config": { - "anyOf": [ - { - "$ref": "#/definitions/MuteConfig" - }, - { - "type": "null" - } - ] + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/Member" + } }, - "muted": { - "type": "boolean" + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } }, - "suppress_everyone": { - "type": "boolean" + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } }, - "suppress_roles": { - "type": "boolean" + "template_id": { + "type": "string" }, - "version": { - "type": "integer" + "template": { + "$ref": "#/definitions/Template" }, - "guild_id": { - "type": [ - "null", - "string" - ] + "emojis": { + "type": "array", + "items": { + "$ref": "#/definitions/Emoji" + } }, - "flags": { - "type": "integer" + "stickers": { + "type": "array", + "items": { + "$ref": "#/definitions/Sticker" + } }, - "mute_scheduled_events": { - "type": "boolean" + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } }, - "hide_muted_channels": { - "type": "boolean" + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } }, - "notify_highlights": { - "type": "integer", - "const": 0 - } - }, - "additionalProperties": false, - "required": [ - "channel_overrides", - "flags", - "guild_id", - "hide_muted_channels", - "message_notifications", - "mobile_push", - "mute_config", - "mute_scheduled_events", - "muted", - "notify_highlights", - "suppress_everyone", - "suppress_roles", - "version" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ChannelOverride": { - "type": "object", - "properties": { - "message_notifications": { + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "mfa_level": { "type": "integer" }, - "mute_config": { - "$ref": "#/definitions/MuteConfig" + "name": { + "type": "string" }, - "muted": { - "type": "boolean" + "owner_id": { + "type": "string" }, - "channel_id": { + "owner": { + "$ref": "#/definitions/User" + }, + "preferred_locale": { + "type": "string" + }, + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" + }, + "public_updates_channel_id": { "type": [ "null", "string" ] - } - }, - "additionalProperties": false, - "required": [ - "channel_id", - "message_notifications", - "mute_config", - "muted" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MuteConfig": { - "type": "object", - "properties": { - "end_time": { - "type": "integer" }, - "selected_time_window": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "end_time", - "selected_time_window" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ThreadMemberMuteConfig": { - "type": "object", - "properties": { - "end_time": { - "type": "string", - "format": "date-time" + "public_updates_channel": { + "$ref": "#/definitions/Channel" }, - "selected_time_window": { - "type": "integer" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ThreadMemberFlags": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 4, - 8 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ChannelPermissionOverwrite": { - "type": "object", - "properties": { - "allow": { - "type": "string" + "rules_channel_id": { + "type": [ + "null", + "string" + ] }, - "deny": { + "rules_channel": { "type": "string" }, - "id": { + "region": { "type": "string" }, - "type": { - "$ref": "#/definitions/ChannelPermissionOverwriteType" - } - }, - "additionalProperties": false, - "required": [ - "allow", - "deny", - "id", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Invite": { - "type": "object", - "properties": { - "code": { + "splash": { "type": "string" }, - "temporary": { - "type": "boolean" - }, - "uses": { - "type": "integer" + "system_channel_id": { + "type": [ + "null", + "string" + ] }, - "max_uses": { - "type": "integer" + "system_channel": { + "$ref": "#/definitions/Channel" }, - "max_age": { + "system_channel_flags": { "type": "integer" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires_at": { - "type": "string", - "format": "date-time" + "unavailable": { + "type": "boolean", + "default": false }, - "guild_id": { - "type": "string" + "verification_level": { + "type": "integer" }, - "guild": { - "$ref": "#/definitions/Guild" + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." }, - "channel_id": { + "widget_channel_id": { "type": "string" }, - "channel": { + "widget_channel": { "$ref": "#/definitions/Channel" }, - "inviter_id": { - "type": "string" + "widget_enabled": { + "type": "boolean", + "default": true }, - "inviter": { - "$ref": "#/definitions/User" + "nsfw_level": { + "type": "integer" }, - "target_user_id": { - "type": "string" + "nsfw": { + "type": "boolean", + "default": false }, - "target_user": { + "parent": { "type": "string" }, - "target_user_type": { + "permissions": { "type": "integer" }, - "vanity_url": { - "type": "boolean" + "premium_progress_bar_enabled": { + "type": "boolean", + "default": false }, - "flags": { - "type": "integer" + "channel_ordering": { + "type": "array", + "items": { + "type": "string" + } + }, + "discovery_weight": { + "type": "integer", + "default": 0 + }, + "discovery_excluded": { + "type": "boolean", + "default": false + }, + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "channel", - "channel_id", - "code", - "created_at", - "flags", - "guild", - "guild_id", - "inviter", - "max_age", - "max_uses", - "target_user_id", - "temporary", - "uses" + "bans", + "channel_ordering", + "channels", + "discovery_excluded", + "discovery_weight", + "emojis", + "features", + "id", + "invites", + "members", + "name", + "nsfw", + "premium_progress_bar_enabled", + "public_updates_channel_id", + "roles", + "stickers", + "template", + "unavailable", + "voice_states", + "webhooks", + "welcome_screen", + "widget_enabled" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Message": { + "Ban": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "thread_id": { + "user_id": { "type": "string" }, - "thread": { - "$ref": "#/definitions/Channel" + "user": { + "$ref": "#/definitions/User" }, "guild_id": { "type": "string" @@ -11309,230 +11001,90 @@ "guild": { "$ref": "#/definitions/Guild" }, - "author_id": { + "executor_id": { "type": "string" }, - "author": { + "executor": { "$ref": "#/definitions/User" }, - "member_id": { + "ip": { "type": "string" }, - "member": { - "$ref": "#/definitions/Member" - }, - "webhook_id": { + "reason": { "type": "string" }, - "webhook": { - "$ref": "#/definitions/Webhook" - }, - "application_id": { + "id": { "type": "string" - }, - "application": { - "$ref": "#/definitions/Application" - }, - "content": { + } + }, + "additionalProperties": false, + "required": [ + "executor", + "executor_id", + "guild", + "guild_id", + "id", + "user", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Role": { + "type": "object", + "properties": { + "guild_id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "guild": { + "$ref": "#/definitions/Guild" }, - "edited_timestamp": { - "type": "string", - "format": "date-time" + "color": { + "type": "integer" }, - "tts": { + "hoist": { "type": "boolean" }, - "mention_everyone": { + "managed": { "type": "boolean" }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/definitions/User" - } - }, - "mention_roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, - "mention_channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } - }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/definitions/Sticker" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/Attachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } - }, - "reactions": { - "type": "array", - "items": { - "$ref": "#/definitions/Reaction" - } - }, - "nonce": { - "type": "string" - }, - "pinned_at": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "pinned": { + "mentionable": { "type": "boolean" }, - "type": { - "$ref": "#/definitions/MessageType" + "name": { + "type": "string" }, - "activity": { - "type": "object", - "properties": { - "type": { - "type": "integer" - }, - "party_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "party_id", - "type" - ] + "permissions": { + "type": "string" }, - "flags": { + "position": { "type": "integer" }, - "message_reference": { - "type": "object", - "properties": { - "message_id": { - "type": "string" - }, - "channel_id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "type": { - "type": "integer" - } - }, - "additionalProperties": false - }, - "referenced_message": { - "anyOf": [ - { - "$ref": "#/definitions/Message" - }, - { - "type": "null" - } - ] + "icon": { + "type": "string" }, - "interaction": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/InteractionType" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name", - "type" - ] + "unicode_emoji": { + "type": "string" }, - "interaction_metadata": { + "tags": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/InteractionType" - }, - "user_id": { + "bot_id": { "type": "string" }, - "authorizing_integration_owners": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "name": { + "integration_id": { "type": "string" }, - "command_type": { - "$ref": "#/definitions/ApplicationCommandType" + "premium_subscriber": { + "type": "boolean" } }, - "additionalProperties": false, - "required": [ - "authorizing_integration_owners", - "command_type", - "id", - "name", - "type", - "user_id" - ] - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/BaseMessageComponents" - } - }, - "poll": { - "$ref": "#/definitions/Poll" - }, - "username": { - "type": "string" + "additionalProperties": false }, - "avatar": { - "type": "string" + "flags": { + "type": "integer" }, - "message_snapshots": { - "type": "array", - "items": { - "$ref": "#/definitions/MessageSnapshot" - } + "colors": { + "$ref": "#/definitions/RoleColors" }, "id": { "type": "string" @@ -11540,59 +11092,68 @@ }, "additionalProperties": false, "required": [ - "channel", - "embeds", + "color", + "colors", "flags", - "id", - "mention_channels", - "mention_roles", - "mentions", - "message_snapshots", - "pinned", - "reactions", - "timestamp", - "type" + "guild", + "guild_id", + "hoist", + "id", + "managed", + "mentionable", + "name", + "permissions", + "position" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Webhook": { + "RoleColors": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/WebhookType" - }, - "name": { - "type": "string" + "primary_color": { + "type": "integer" }, - "avatar": { - "type": "string" + "secondary_color": { + "type": "integer" }, - "token": { + "tertiary_color": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "primary_color" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Template": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "guild_id": { + "name": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" - }, - "channel_id": { + "description": { "type": "string" }, - "channel": { - "$ref": "#/definitions/Channel" + "usage_count": { + "type": "integer" }, - "application_id": { + "creator_id": { "type": "string" }, - "application": { - "$ref": "#/definitions/Application" + "creator": { + "$ref": "#/definitions/User" }, - "user_id": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "user": { - "$ref": "#/definitions/User" + "updated_at": { + "type": "string", + "format": "date-time" }, "source_guild_id": { "type": "string" @@ -11600,14 +11161,8 @@ "source_guild": { "$ref": "#/definitions/Guild" }, - "source_channel_id": { - "type": "string" - }, - "source_channel": { - "$ref": "#/definitions/Channel" - }, - "url": { - "type": "string" + "serialized_source_guild": { + "$ref": "#/definitions/Guild" }, "id": { "type": "string" @@ -11615,310 +11170,110 @@ }, "additionalProperties": false, "required": [ - "application", - "application_id", - "avatar", - "channel", - "channel_id", + "code", + "created_at", + "creator", + "creator_id", "id", "name", - "source_channel", - "source_channel_id", - "type", - "url", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "WebhookType": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "serialized_source_guild", + "source_guild", + "source_guild_id", + "updated_at" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Application": { + "Emoji": { "type": "object", "properties": { - "name": { - "type": "string" + "animated": { + "type": "boolean" }, - "icon": { - "type": "string" + "available": { + "type": "boolean" }, - "description": { + "guild_id": { "type": "string" }, - "summary": { - "type": "string", - "default": "" - }, - "type": { - "type": "object", - "properties": {}, - "additionalProperties": true + "guild": { + "$ref": "#/definitions/Guild" }, - "hook": { - "type": "boolean", - "default": true + "user_id": { + "type": "string" }, - "bot_public": { - "type": "boolean", - "default": true + "user": { + "$ref": "#/definitions/User" }, - "bot_require_code_grant": { - "type": "boolean", - "default": false + "managed": { + "type": "boolean" }, - "verify_key": { + "name": { "type": "string" }, - "owner": { - "$ref": "#/definitions/User" - }, - "flags": { - "type": "integer", - "default": 0 + "require_colons": { + "type": "boolean" }, - "redirect_uris": { + "roles": { "type": "array", "items": { "type": "string" - }, - "default": [] - }, - "rpc_application_state": { - "type": "integer", - "default": 0 - }, - "store_application_state": { - "type": "integer", - "default": 1 - }, - "verification_state": { - "type": "integer", - "default": 1 - }, - "interactions_endpoint_url": { - "type": "string" - }, - "integration_public": { - "type": "boolean", - "default": true - }, - "integration_require_code_grant": { - "type": "boolean", - "default": false - }, - "discoverability_state": { - "type": "integer", - "default": 1 - }, - "discovery_eligibility_flags": { - "type": "integer", - "default": 2240 - }, - "bot": { - "$ref": "#/definitions/User" + } }, - "tags": { + "groups": { "type": "array", "items": { "type": "string" } }, - "cover_image": { + "id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "animated", + "available", + "groups", + "guild", + "guild_id", + "id", + "managed", + "name", + "require_colons", + "roles", + "user", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Sticker": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "install_params": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "permissions", - "scopes" - ] + "description": { + "type": "string" }, - "terms_of_service_url": { + "available": { + "type": "boolean" + }, + "tags": { "type": "string" }, - "privacy_policy_url": { + "pack_id": { "type": "string" }, + "pack": { + "$ref": "#/definitions/StickerPack" + }, "guild_id": { "type": "string" }, "guild": { "$ref": "#/definitions/Guild" }, - "custom_install_url": { - "type": "string" - }, - "team": { - "$ref": "#/definitions/Team" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "description", - "discoverability_state", - "discovery_eligibility_flags", - "flags", - "hook", - "id", - "integration_public", - "integration_require_code_grant", - "name", - "owner", - "redirect_uris", - "rpc_application_state", - "store_application_state", - "summary", - "verification_state", - "verify_key" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Team": { - "type": "object", - "properties": { - "icon": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/TeamMember" - } - }, - "name": { - "type": "string" - }, - "owner_user_id": { - "type": "string" - }, - "owner_user": { - "$ref": "#/definitions/User" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "members", - "name", - "owner_user", - "owner_user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TeamMember": { - "type": "object", - "properties": { - "membership_state": { - "$ref": "#/definitions/TeamMemberState" - }, - "permissions": { - "type": "array", - "items": { - "type": "string" - } - }, - "role": { - "$ref": "#/definitions/TeamMemberRole" - }, - "team_id": { - "type": "string" - }, - "team": { - "$ref": "#/definitions/Team" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/User" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "membership_state", - "permissions", - "role", - "team", - "team_id", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TeamMemberState": { - "type": "number", - "enum": [ - 1, - 2 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TeamMemberRole": { - "type": "string", - "enum": [ - "admin", - "developer", - "read_only" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Sticker": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "available": { - "type": "boolean" - }, - "tags": { - "type": "string" - }, - "pack_id": { - "type": "string" - }, - "pack": { - "$ref": "#/definitions/StickerPack" - }, - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/definitions/Guild" - }, - "user_id": { + "user_id": { "type": "string" }, "user": { @@ -11998,1421 +11353,1110 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Attachment": { + "Invite": { "type": "object", "properties": { - "filename": { + "code": { "type": "string" }, - "size": { + "temporary": { + "type": "boolean" + }, + "uses": { "type": "integer" }, - "height": { + "max_uses": { "type": "integer" }, - "width": { + "max_age": { "type": "integer" }, - "content_type": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "message_id": { + "expires_at": { + "type": "string", + "format": "date-time" + }, + "guild_id": { "type": "string" }, + "guild": { + "$ref": "#/definitions/Guild" + }, "channel_id": { "type": "string" }, - "message": { - "$ref": "#/definitions/Message" - }, "channel": { "$ref": "#/definitions/Channel" }, - "id": { + "inviter_id": { + "type": "string" + }, + "inviter": { + "$ref": "#/definitions/User" + }, + "target_user_id": { + "type": "string" + }, + "target_user": { "type": "string" + }, + "target_user_type": { + "type": "integer" + }, + "vanity_url": { + "type": "boolean" + }, + "flags": { + "type": "integer" } }, "additionalProperties": false, "required": [ "channel", "channel_id", - "filename", - "id", - "message", - "message_id", - "size" + "code", + "created_at", + "flags", + "guild", + "guild_id", + "inviter", + "max_age", + "max_uses", + "target_user_id", + "temporary", + "uses" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Embed": { + "VoiceState": { "type": "object", "properties": { - "title": { + "guild_id": { "type": "string" }, - "type": { - "enum": [ - "article", - "gifv", - "image", - "link", - "rich", - "video" - ], - "type": "string" + "guild": { + "$ref": "#/definitions/Guild" }, - "description": { + "channel_id": { "type": "string" }, - "url": { + "channel": { + "$ref": "#/definitions/Channel" + }, + "user_id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "user": { + "$ref": "#/definitions/User" }, - "color": { - "type": "integer" + "member": { + "$ref": "#/definitions/Member" }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "text" - ] + "session_id": { + "type": "string" }, - "image": { - "$ref": "#/definitions/EmbedImage" + "token": { + "type": "string" }, - "thumbnail": { - "$ref": "#/definitions/EmbedImage" + "deaf": { + "type": "boolean" }, - "video": { - "$ref": "#/definitions/EmbedImage" + "mute": { + "type": "boolean" }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "additionalProperties": false + "self_deaf": { + "type": "boolean" }, - "author": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false + "self_mute": { + "type": "boolean" }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name", - "value" - ] - } + "self_stream": { + "type": "boolean" + }, + "self_video": { + "type": "boolean" + }, + "suppress": { + "type": "boolean" + }, + "request_to_speak_timestamp": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" } }, "additionalProperties": false, + "required": [ + "channel", + "channel_id", + "deaf", + "guild_id", + "id", + "member", + "mute", + "self_deaf", + "self_mute", + "self_video", + "session_id", + "suppress", + "token", + "user", + "user_id" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "EmbedImage": { + "Webhook": { "type": "object", "properties": { - "url": { + "type": { + "$ref": "#/definitions/WebhookType" + }, + "name": { "type": "string" }, - "proxy_url": { + "avatar": { "type": "string" }, - "height": { - "type": "integer" + "token": { + "type": "string" }, - "width": { - "type": "integer" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Reaction": { - "type": "object", - "properties": { - "count": { - "type": "integer" + "guild_id": { + "type": "string" }, - "emoji": { - "$ref": "#/definitions/PartialEmoji" + "guild": { + "$ref": "#/definitions/Guild" }, - "user_ids": { - "type": "array", - "items": { - "type": "string" - } + "channel_id": { + "type": "string" + }, + "channel": { + "$ref": "#/definitions/Channel" + }, + "application_id": { + "type": "string" + }, + "application": { + "$ref": "#/definitions/Application" + }, + "user_id": { + "type": "string" + }, + "user": { + "$ref": "#/definitions/User" + }, + "source_guild_id": { + "type": "string" + }, + "source_guild": { + "$ref": "#/definitions/Guild" + }, + "source_channel_id": { + "type": "string" + }, + "source_channel": { + "$ref": "#/definitions/Channel" + }, + "url": { + "type": "string" + }, + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "count", - "emoji", - "user_ids" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PartialEmoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } + "application", + "application_id", + "avatar", + "channel", + "channel_id", + "id", + "name", + "source_channel", + "source_channel_id", + "type", + "url", + "user", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageType": { + "WebhookType": { "type": "number", "enum": [ - 0, 1, 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 255 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationCommandType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4 + 3 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BaseMessageComponents": { - "anyOf": [ - { - "$ref": "#/definitions/SectionComponent" + "Application": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/definitions/TextDisplayComponent" + "icon": { + "type": "string" }, - { - "$ref": "#/definitions/MediaGalleryComponent" + "description": { + "type": "string" }, - { - "$ref": "#/definitions/FileComponent" + "summary": { + "type": "string", + "default": "" }, - { - "$ref": "#/definitions/SeperatorComponent" + "type": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - { - "$ref": "#/definitions/ActionRowComponent" + "hook": { + "type": "boolean", + "default": true }, - { - "$ref": "#/definitions/ContainerComponent" - } - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SectionComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Section" + "bot_public": { + "type": "boolean", + "default": true }, - "components": { + "bot_require_code_grant": { + "type": "boolean", + "default": false + }, + "verify_key": { + "type": "string" + }, + "owner": { + "$ref": "#/definitions/User" + }, + "flags": { + "type": "integer", + "default": 0 + }, + "redirect_uris": { "type": "array", "items": { - "$ref": "#/definitions/TextDisplayComponent" + "type": "string" + }, + "default": [] + }, + "rpc_application_state": { + "type": "integer", + "default": 0 + }, + "store_application_state": { + "type": "integer", + "default": 1 + }, + "verification_state": { + "type": "integer", + "default": 1 + }, + "interactions_endpoint_url": { + "type": "string" + }, + "integration_public": { + "type": "boolean", + "default": true + }, + "integration_require_code_grant": { + "type": "boolean", + "default": false + }, + "discoverability_state": { + "type": "integer", + "default": 1 + }, + "discovery_eligibility_flags": { + "type": "integer", + "default": 2240 + }, + "bot": { + "$ref": "#/definitions/User" + }, + "tags": { + "type": "array", + "items": { + "type": "string" } }, - "accessory": { - "anyOf": [ - { - "$ref": "#/definitions/ThumbnailComponent" + "cover_image": { + "type": "string" + }, + "install_params": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - { - "$ref": "#/definitions/ButtonComponent" + "permissions": { + "type": "string" } + }, + "additionalProperties": false, + "required": [ + "permissions", + "scopes" ] }, + "terms_of_service_url": { + "type": "string" + }, + "privacy_policy_url": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "guild": { + "$ref": "#/definitions/Guild" + }, + "custom_install_url": { + "type": "string" + }, + "team": { + "$ref": "#/definitions/Team" + }, "id": { - "type": "integer" + "type": "string" } }, "additionalProperties": false, "required": [ - "accessory", - "components", - "type" + "description", + "discoverability_state", + "discovery_eligibility_flags", + "flags", + "hook", + "id", + "integration_public", + "integration_require_code_grant", + "name", + "owner", + "redirect_uris", + "rpc_application_state", + "store_application_state", + "summary", + "verification_state", + "verify_key" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Section": { - "type": "number", - "const": 9, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TextDisplayComponent": { + "Team": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.TextDisplay" + "icon": { + "type": "string" }, - "content": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/TeamMember" + } + }, + "name": { + "type": "string" + }, + "owner_user_id": { "type": "string" }, + "owner_user": { + "$ref": "#/definitions/User" + }, "id": { - "type": "integer" + "type": "string" } }, "additionalProperties": false, "required": [ - "content", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.TextDisplay": { - "type": "number", - "const": 10, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ThumbnailComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Thumbnail" - }, - "description": { - "type": "string" - }, - "media": { - "$ref": "#/definitions/UnfurledMediaItem" - }, - "spoiler": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "media", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.Thumbnail": { - "type": "number", - "const": 11, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UnfurledMediaItem": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "url": { - "type": "string" - }, - "proxy_url": { - "type": "string" - }, - "height": { - "type": "integer" - }, - "width": { - "type": "integer" - }, - "flags": { - "type": "integer" - }, - "content_type": { - "type": "string" - }, - "content_scan_metadata": {}, - "placeholder_version": { - "type": "integer" - }, - "placeholder": { - "type": "string" - }, - "loading_state": { - "type": "integer" - }, - "attachment_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "url" + "id", + "members", + "name", + "owner_user", + "owner_user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ButtonComponent": { + "TeamMember": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Button" - }, - "style": { - "$ref": "#/definitions/ButtonStyle" + "membership_state": { + "$ref": "#/definitions/TeamMemberState" }, - "label": { - "type": "string" + "permissions": { + "type": "array", + "items": { + "type": "string" + } }, - "emoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ] + "role": { + "$ref": "#/definitions/TeamMemberRole" }, - "custom_id": { + "team_id": { "type": "string" }, - "sku_id": { - "type": "string" + "team": { + "$ref": "#/definitions/Team" }, - "url": { + "user_id": { "type": "string" }, - "disabled": { - "type": "boolean" + "user": { + "$ref": "#/definitions/User" }, "id": { - "type": "integer" + "type": "string" } }, "additionalProperties": false, "required": [ - "style", - "type" + "id", + "membership_state", + "permissions", + "role", + "team", + "team_id", + "user", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Button": { + "TeamMemberState": { "type": "number", - "const": 2, + "enum": [ + 1, + 2 + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ButtonStyle": { - "type": "number", + "TeamMemberRole": { + "type": "string", "enum": [ - 1, - 2, - 3, - 4, - 5, - 6 + "admin", + "developer", + "read_only" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MediaGalleryComponent": { + "GuildWelcomeScreen": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.MediaGallery" + "enabled": { + "type": "boolean" }, - "items": { + "description": { + "type": "string" + }, + "welcome_channels": { "type": "array", "items": { "type": "object", "properties": { - "media": { - "$ref": "#/definitions/UnfurledMediaItem" - }, "description": { "type": "string" }, - "spoiler": { - "type": "boolean" + "emoji_id": { + "type": "string" + }, + "emoji_name": { + "type": "string" + }, + "channel_id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "media" + "channel_id", + "description" ] } - }, - "id": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "items", - "type" + "description", + "enabled", + "welcome_channels" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.MediaGallery": { - "type": "number", - "const": 12, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "FileComponent": { + "UserGuildSettings": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.File" + "channel_overrides": { + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ChannelOverride" + } + }, + { + "type": "null" + } + ] }, - "file": { - "$ref": "#/definitions/UnfurledMediaItem" + "message_notifications": { + "type": "integer" }, - "spoiler": { + "mobile_push": { "type": "boolean" }, - "name": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "id": { + "mute_config": { + "anyOf": [ + { + "$ref": "#/definitions/MuteConfig" + }, + { + "type": "null" + } + ] + }, + "muted": { + "type": "boolean" + }, + "suppress_everyone": { + "type": "boolean" + }, + "suppress_roles": { + "type": "boolean" + }, + "version": { + "type": "integer" + }, + "guild_id": { + "type": [ + "null", + "string" + ] + }, + "flags": { "type": "integer" + }, + "mute_scheduled_events": { + "type": "boolean" + }, + "hide_muted_channels": { + "type": "boolean" + }, + "notify_highlights": { + "type": "integer", + "const": 0 } }, "additionalProperties": false, "required": [ - "file", - "name", - "size", - "spoiler", - "type" + "channel_overrides", + "flags", + "guild_id", + "hide_muted_channels", + "message_notifications", + "mobile_push", + "mute_config", + "mute_scheduled_events", + "muted", + "notify_highlights", + "suppress_everyone", + "suppress_roles", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.File": { - "type": "number", - "const": 13, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SeperatorComponent": { + "ChannelOverride": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Separator" + "message_notifications": { + "type": "integer" }, - "divider": { - "type": "boolean" + "mute_config": { + "$ref": "#/definitions/MuteConfig" }, - "spacing": { - "enum": [ - 1, - 2 - ], - "type": "number" + "muted": { + "type": "boolean" }, - "id": { - "type": "integer" + "channel_id": { + "type": [ + "null", + "string" + ] } }, "additionalProperties": false, "required": [ - "type" + "channel_id", + "message_notifications", + "mute_config", + "muted" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Separator": { - "type": "number", - "const": 14, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ActionRowComponent": { + "MuteConfig": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.ActionRow" - }, - "components": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/ButtonComponent" - }, - { - "$ref": "#/definitions/SelectMenuComponent" - }, - { - "$ref": "#/definitions/StringSelectMenuComponent" - }, - { - "$ref": "#/definitions/TextInputComponent" - } - ] - } + "end_time": { + "type": "integer" }, - "id": { + "selected_time_window": { "type": "integer" } }, "additionalProperties": false, "required": [ - "components", - "type" + "end_time", + "selected_time_window" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.ActionRow": { - "type": "number", - "const": 1, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SelectMenuComponent": { + "ThreadMemberMuteConfig": { "type": "object", "properties": { - "type": { - "enum": [ - 3, - 5, - 6, - 7, - 8 - ], - "type": "number" - }, - "custom_id": { - "type": "string" - }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } - }, - "placeholder": { - "type": "string" - }, - "default_values": { - "type": "array", - "items": { - "$ref": "#/definitions/SelectMenuDefaultOption" - } - }, - "min_values": { - "type": "integer" - }, - "max_values": { - "type": "integer" - }, - "disabled": { - "type": "boolean" + "end_time": { + "type": "string", + "format": "date-time" }, - "id": { + "selected_time_window": { "type": "integer" } }, "additionalProperties": false, - "required": [ - "custom_id", - "type" + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ThreadMemberFlags": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 4, + 8 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "SelectMenuDefaultOption": { + "ChannelPermissionOverwrite": { "type": "object", "properties": { + "allow": { + "type": "string" + }, + "deny": { + "type": "string" + }, "id": { "type": "string" }, "type": { - "enum": [ - "channel", - "role", - "user" - ], - "type": "string" + "$ref": "#/definitions/ChannelPermissionOverwriteType" } }, "additionalProperties": false, "required": [ + "allow", + "deny", "id", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StringSelectMenuComponent": { + "ChannelPermissionOverwriteType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Message": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.StringSelect" + "channel_id": { + "type": "string" }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/SelectMenuOption" - } + "channel": { + "$ref": "#/definitions/Channel" }, - "custom_id": { + "thread_id": { "type": "string" }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } + "thread": { + "$ref": "#/definitions/Channel" }, - "placeholder": { + "guild_id": { "type": "string" }, - "default_values": { - "type": "array", - "items": { - "$ref": "#/definitions/SelectMenuDefaultOption" - } + "guild": { + "$ref": "#/definitions/Guild" }, - "min_values": { - "type": "integer" + "author_id": { + "type": "string" }, - "max_values": { - "type": "integer" + "author": { + "$ref": "#/definitions/User" }, - "disabled": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "custom_id", - "options", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.StringSelect": { - "type": "number", - "const": 3, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SelectMenuOption": { - "type": "object", - "properties": { - "label": { + "member_id": { "type": "string" }, - "value": { - "type": "string" + "member": { + "$ref": "#/definitions/Member" }, - "description": { + "webhook_id": { "type": "string" }, - "emoji": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ] - }, - "default": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "label", - "value" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TextInputComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.TextInput" + "webhook": { + "$ref": "#/definitions/Webhook" }, - "custom_id": { + "application_id": { "type": "string" }, - "style": { - "$ref": "#/definitions/TextInputStyle" + "application": { + "$ref": "#/definitions/Application" }, - "label": { + "content": { "type": "string" }, - "min_length": { - "type": "integer" + "timestamp": { + "type": "string", + "format": "date-time" }, - "max_length": { - "type": "integer" + "edited_timestamp": { + "type": "string", + "format": "date-time" }, - "required": { + "tts": { "type": "boolean" }, - "value": { - "type": "string" - }, - "placeholder": { - "type": "string" - }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "custom_id", - "label", - "style", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.TextInput": { - "type": "number", - "const": 4, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TextInputStyle": { - "type": "number", - "enum": [ - 1, - 2 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ContainerComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Container" + "mention_everyone": { + "type": "boolean" }, - "components": { + "mentions": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/definitions/SectionComponent" - }, - { - "$ref": "#/definitions/TextDisplayComponent" - }, - { - "$ref": "#/definitions/MediaGalleryComponent" - }, - { - "$ref": "#/definitions/FileComponent" - }, - { - "$ref": "#/definitions/SeperatorComponent" - }, - { - "$ref": "#/definitions/ActionRowComponent" - } - ] + "$ref": "#/definitions/User" } }, - "accent_color": { - "type": "integer" + "mention_roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } }, - "spoiler": { - "type": "boolean" + "mention_channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "components", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.Container": { - "type": "number", - "const": 17, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Poll": { - "type": "object", - "properties": { - "question": { - "$ref": "#/definitions/PollMedia" + "sticker_items": { + "type": "array", + "items": { + "$ref": "#/definitions/Sticker" + } }, - "answers": { + "attachments": { "type": "array", "items": { - "$ref": "#/definitions/PollAnswer" + "$ref": "#/definitions/Attachment" } }, - "expiry": { - "type": "string", - "format": "date-time" + "embeds": { + "type": "array", + "items": { + "$ref": "#/definitions/Embed" + } }, - "allow_multiselect": { - "type": "boolean" + "reactions": { + "type": "array", + "items": { + "$ref": "#/definitions/Reaction" + } }, - "results": { - "$ref": "#/definitions/PollResult" - } - }, - "additionalProperties": false, - "required": [ - "allow_multiselect", - "answers", - "expiry", - "question" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PollMedia": { - "type": "object", - "properties": { - "text": { + "nonce": { "type": "string" }, - "emoji": { + "pinned_at": { "anyOf": [ { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "pinned": { + "type": "boolean" + }, + "type": { + "$ref": "#/definitions/MessageType" + }, + "activity": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "party_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "party_id", + "type" + ] + }, + "flags": { + "type": "integer" + }, + "message_reference": { + "type": "object", + "properties": { + "message_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "type": { + "type": "integer" + } + }, + "additionalProperties": false + }, + "referenced_message": { + "anyOf": [ + { + "$ref": "#/definitions/Message" }, { + "type": "null" + } + ] + }, + "interaction": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/InteractionType" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id", + "name", + "type" + ] + }, + "interaction_metadata": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/InteractionType" + }, + "user_id": { + "type": "string" + }, + "authorizing_integration_owners": { "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] + "properties": {}, + "additionalProperties": true + }, + "name": { + "type": "string" + }, + "command_type": { + "$ref": "#/definitions/ApplicationCommandType" } + }, + "additionalProperties": false, + "required": [ + "authorizing_integration_owners", + "command_type", + "id", + "name", + "type", + "user_id" ] - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PollAnswer": { - "type": "object", - "properties": { - "answer_id": { + }, + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseMessageComponents" + } + }, + "poll": { + "$ref": "#/definitions/Poll" + }, + "username": { "type": "string" }, - "poll_media": { - "$ref": "#/definitions/PollMedia" + "avatar": { + "type": "string" + }, + "message_snapshots": { + "type": "array", + "items": { + "$ref": "#/definitions/MessageSnapshot" + } + }, + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "poll_media" + "channel", + "embeds", + "flags", + "id", + "mention_channels", + "mention_roles", + "mentions", + "message_snapshots", + "pinned", + "reactions", + "timestamp", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PollResult": { + "Attachment": { "type": "object", "properties": { - "is_finalized": { - "type": "boolean" + "filename": { + "type": "string" }, - "answer_counts": { - "type": "array", - "items": { - "$ref": "#/definitions/PollAnswerCount" - } + "size": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "width": { + "type": "integer" + }, + "content_type": { + "type": "string" + }, + "message_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "message": { + "$ref": "#/definitions/Message" + }, + "channel": { + "$ref": "#/definitions/Channel" + }, + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "answer_counts", - "is_finalized" + "channel", + "channel_id", + "filename", + "id", + "message", + "message_id", + "size" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PollAnswerCount": { + "Reaction": { "type": "object", "properties": { - "id": { - "type": "string" - }, "count": { "type": "integer" }, - "me_voted": { - "type": "boolean" + "emoji": { + "$ref": "#/definitions/PartialEmoji" + }, + "user_ids": { + "type": "array", + "items": { + "type": "string" + } } }, "additionalProperties": false, "required": [ "count", - "id", - "me_voted" + "emoji", + "user_ids" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageSnapshot": { - "type": "object", - "properties": { - "message": { + "PartialEmoji": { + "anyOf": [ + { "type": "object", "properties": { - "content": { + "id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "edited_timestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/definitions/PartialUser" - } - }, - "mention_roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicAttachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } - }, - "type": { - "$ref": "#/definitions/MessageType" - }, - "flags": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/MessageComponent" - } - }, - "resolved": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } + "name": { + "type": "string" }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/definitions/Sticker" - } + "animated": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "content", - "embeds", - "flags", - "mention_roles", - "mentions", - "timestamp", - "type" - ] - } - }, - "additionalProperties": false, - "required": [ - "message" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PartialUser": { - "type": "object", - "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "global_name": { - "type": [ - "null", - "string" - ] - }, - "avatar": { - "type": [ - "null", - "string" - ] - }, - "avatar_decoration_data": { - "anyOf": [ - { - "$ref": "#/definitions/AvatarDecorationData" - }, - { - "type": "null" - } - ] - }, - "collectibles": { - "anyOf": [ - { - "$ref": "#/definitions/Collectibles" - }, - { - "type": "null" - } + "name" ] }, - "display_name_styles": { - "anyOf": [ - { - "$ref": "#/definitions/DisplayNameStyle" + { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "type": "null" - } - ] - }, - "primary_guild": { - "anyOf": [ - { - "$ref": "#/definitions/PrimaryGuild" + "name": { + "type": "string" }, - { - "type": "null" + "animated": { + "type": "boolean" } + }, + "additionalProperties": false, + "required": [ + "id" ] - }, - "bot": { - "type": "boolean" - }, - "system": { - "type": "boolean" - }, - "banner": { - "type": [ - "null", - "string" - ] - }, - "accent_color": { - "type": [ - "null", - "integer" - ] - }, - "public_flags": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "avatar", - "discriminator", - "id", - "username" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PublicAttachment": { - "type": "object", - "properties": { - "filename": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "height": { - "type": "integer" - }, - "width": { - "type": "integer" - }, - "content_type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "proxy_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "proxy_url", - "size", - "url" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType" - }, - "id": { - "type": "integer" } - }, - "additionalProperties": false, - "required": [ - "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType": { + "MessageType": { "type": "number", "enum": [ + 0, 1, 2, 3, @@ -13427,6 +12471,7 @@ 12, 13, 14, + 15, 16, 17, 18, @@ -13434,351 +12479,475 @@ 20, 21, 22, - 23 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "VoiceState": { - "type": "object", - "properties": { - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/definitions/Guild" - }, - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/User" - }, - "member": { - "$ref": "#/definitions/Member" - }, - "session_id": { - "type": "string" - }, - "token": { - "type": "string" - }, - "deaf": { - "type": "boolean" - }, - "mute": { - "type": "boolean" - }, - "self_deaf": { - "type": "boolean" - }, - "self_mute": { - "type": "boolean" - }, - "self_stream": { - "type": "boolean" - }, - "self_video": { - "type": "boolean" + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 255 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationCommandType": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Poll": { + "type": "object", + "properties": { + "question": { + "$ref": "#/definitions/PollMedia" }, - "suppress": { - "type": "boolean" + "answers": { + "type": "array", + "items": { + "$ref": "#/definitions/PollAnswer" + } }, - "request_to_speak_timestamp": { + "expiry": { "type": "string", "format": "date-time" }, - "id": { - "type": "string" + "allow_multiselect": { + "type": "boolean" + }, + "results": { + "$ref": "#/definitions/PollResult" } }, "additionalProperties": false, "required": [ - "channel", - "channel_id", - "deaf", - "guild_id", - "id", - "member", - "mute", - "self_deaf", - "self_mute", - "self_video", - "session_id", - "suppress", - "token", - "user", - "user_id" + "allow_multiselect", + "answers", + "expiry", + "question" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ReadState": { + "PollMedia": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "user_id": { + "text": { "type": "string" }, - "user": { - "$ref": "#/definitions/User" - }, - "last_message_id": { + "emoji": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "animated": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id" + ] + } + ] + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "PollAnswer": { + "type": "object", + "properties": { + "answer_id": { "type": "string" }, - "last_acked_id": { - "type": "string" + "poll_media": { + "$ref": "#/definitions/PollMedia" + } + }, + "additionalProperties": false, + "required": [ + "poll_media" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "PollResult": { + "type": "object", + "properties": { + "is_finalized": { + "type": "boolean" }, - "notifications_cursor": { + "answer_counts": { + "type": "array", + "items": { + "$ref": "#/definitions/PollAnswerCount" + } + } + }, + "additionalProperties": false, + "required": [ + "answer_counts", + "is_finalized" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "PollAnswerCount": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "mention_count": { - "type": "integer" - }, - "badge_count": { + "count": { "type": "integer" }, - "last_pin_timestamp": { - "type": "string", - "format": "date-time" - }, - "read_state_type": { - "$ref": "#/definitions/ReadStateType" - }, - "flags": { - "$ref": "#/definitions/ReadStateFlags" - }, - "id": { - "type": "string" + "me_voted": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "badge_count", - "channel", - "channel_id", - "flags", + "count", "id", - "mention_count", - "notifications_cursor", - "read_state_type", - "user", - "user_id" + "me_voted" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ReadStateType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ReadStateFlags": { - "type": "number", - "enum": [ - 1, - 2, - 4 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ThreadMetadata": { + "MessageSnapshot": { "type": "object", "properties": { - "archived": { - "type": "boolean" - }, - "auto_archive_duration": { - "type": "integer" - }, - "archive_timestamp": { - "type": "string" - }, - "locked": { - "type": "boolean" - }, - "invitable": { - "type": "boolean" - }, - "create_timestamp": { - "type": "string" + "message": { + "type": "object", + "properties": { + "content": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "edited_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "mentions": { + "type": "array", + "items": { + "$ref": "#/definitions/PartialUser" + } + }, + "mention_roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicAttachment" + } + }, + "embeds": { + "type": "array", + "items": { + "$ref": "#/definitions/Embed" + } + }, + "type": { + "$ref": "#/definitions/MessageType" + }, + "flags": { + "type": "integer" + }, + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/MessageComponent" + } + }, + "resolved": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + }, + "sticker_items": { + "type": "array", + "items": { + "$ref": "#/definitions/Sticker" + } + } + }, + "additionalProperties": false, + "required": [ + "content", + "embeds", + "flags", + "mention_roles", + "mentions", + "timestamp", + "type" + ] } }, "additionalProperties": false, "required": [ - "archive_timestamp", - "archived", - "auto_archive_duration", - "create_timestamp", - "locked" + "message" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Tag": { + "PartialUser": { "type": "object", "properties": { - "channel_id": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "channel": { - "$ref": "#/definitions/Channel" + "username": { + "type": "string" }, - "name": { + "discriminator": { "type": "string" }, - "moderated": { - "type": "boolean", - "default": false + "global_name": { + "type": [ + "null", + "string" + ] }, - "emoji_id": { - "type": "string" + "avatar": { + "type": [ + "null", + "string" + ] }, - "emoji_name": { - "type": "string" + "avatar_decoration_data": { + "anyOf": [ + { + "$ref": "#/definitions/AvatarDecorationData" + }, + { + "type": "null" + } + ] }, - "id": { - "type": "string" + "collectibles": { + "anyOf": [ + { + "$ref": "#/definitions/Collectibles" + }, + { + "type": "null" + } + ] + }, + "display_name_styles": { + "anyOf": [ + { + "$ref": "#/definitions/DisplayNameStyle" + }, + { + "type": "null" + } + ] + }, + "primary_guild": { + "anyOf": [ + { + "$ref": "#/definitions/PrimaryGuild" + }, + { + "type": "null" + } + ] + }, + "bot": { + "type": "boolean" + }, + "system": { + "type": "boolean" + }, + "banner": { + "type": [ + "null", + "string" + ] + }, + "accent_color": { + "type": [ + "null", + "integer" + ] + }, + "public_flags": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "channel", - "channel_id", + "avatar", + "discriminator", "id", - "moderated", - "name" + "username" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Ban": { + "PublicAttachment": { "type": "object", "properties": { - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/User" - }, - "guild_id": { + "filename": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" + "size": { + "type": "integer" }, - "executor_id": { - "type": "string" + "height": { + "type": "integer" }, - "executor": { - "$ref": "#/definitions/User" + "width": { + "type": "integer" }, - "ip": { + "content_type": { "type": "string" }, - "reason": { + "url": { "type": "string" }, - "id": { + "proxy_url": { "type": "string" } }, "additionalProperties": false, "required": [ - "executor", - "executor_id", - "guild", - "guild_id", - "id", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" + "filename", + "proxy_url", + "size", + "url" + ], + "$schema": "http://json-schema.org/draft-07/schema#" }, - "Template": { + "MessageComponent": { "type": "object", "properties": { - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "usage_count": { - "type": "integer" - }, - "creator_id": { - "type": "string" - }, - "creator": { - "$ref": "#/definitions/User" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "source_guild_id": { - "type": "string" - }, - "source_guild": { - "$ref": "#/definitions/Guild" - }, - "serialized_source_guild": { - "$ref": "#/definitions/Guild" + "type": { + "$ref": "#/definitions/MessageComponentType" }, "id": { - "type": "string" + "type": "integer" } }, "additionalProperties": false, "required": [ - "code", - "created_at", - "creator", - "creator_id", - "id", - "name", - "serialized_source_guild", - "source_guild", - "source_guild_id", - "updated_at" + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Emoji": { + "MessageComponentType": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ReadState": { "type": "object", "properties": { - "animated": { - "type": "boolean" - }, - "available": { - "type": "boolean" - }, - "guild_id": { + "channel_id": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" + "channel": { + "$ref": "#/definitions/Channel" }, "user_id": { "type": "string" @@ -13786,26 +12955,30 @@ "user": { "$ref": "#/definitions/User" }, - "managed": { - "type": "boolean" + "last_message_id": { + "type": "string" }, - "name": { + "last_acked_id": { "type": "string" }, - "require_colons": { - "type": "boolean" + "notifications_cursor": { + "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + "mention_count": { + "type": "integer" }, - "groups": { - "type": "array", - "items": { - "type": "string" - } + "badge_count": { + "type": "integer" + }, + "last_pin_timestamp": { + "type": "string", + "format": "date-time" + }, + "read_state_type": { + "$ref": "#/definitions/ReadStateType" + }, + "flags": { + "$ref": "#/definitions/ReadStateFlags" }, "id": { "type": "string" @@ -13813,290 +12986,192 @@ }, "additionalProperties": false, "required": [ - "animated", - "available", - "groups", - "guild", - "guild_id", + "badge_count", + "channel", + "channel_id", + "flags", "id", - "managed", - "name", - "require_colons", - "roles", + "mention_count", + "notifications_cursor", + "read_state_type", "user", "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildWelcomeScreen": { + "ReadStateType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ReadStateFlags": { + "type": "number", + "enum": [ + 1, + 2, + 4 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ThreadMetadata": { "type": "object", "properties": { - "enabled": { + "archived": { "type": "boolean" }, - "description": { + "auto_archive_duration": { + "type": "integer" + }, + "archive_timestamp": { "type": "string" }, - "welcome_channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "emoji_id": { - "type": "string" - }, - "emoji_name": { - "type": "string" - }, - "channel_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "channel_id", - "description" - ] - } + "locked": { + "type": "boolean" + }, + "invitable": { + "type": "boolean" + }, + "create_timestamp": { + "type": "string" } }, "additionalProperties": false, "required": [ - "description", - "enabled", - "welcome_channels" + "archive_timestamp", + "archived", + "auto_archive_duration", + "create_timestamp", + "locked" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PartialMessage": { - "description": "https://docs.discord.food/resources/message#partial-message-structure", + "Tag": { "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", - "type": "string" - }, "channel_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/MessageType" + "channel": { + "$ref": "#/definitions/Channel" }, - "content": { + "name": { "type": "string" }, - "author": { - "$ref": "#/definitions/PartialUser" + "moderated": { + "type": "boolean", + "default": false }, - "flags": { - "type": "integer" + "emoji_id": { + "type": "string" }, - "application_id": { + "emoji_name": { + "type": "string" + }, + "id": { "type": "string" } }, "additionalProperties": false, "required": [ - "author", + "channel", "channel_id", - "content", "id", - "type" + "moderated", + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "HubGuild": { - "type": "object", - "properties": { - "icon": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "icon", - "id", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiGuild": { + "PublicMember": { + "additionalProperties": false, "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "guild_id": { "type": "string" }, - "icon": { - "type": [ - "null", - "string" - ] - }, - "description": { - "type": [ - "null", - "string" - ] + "flags": { + "type": "integer" }, - "features": { - "type": "array", - "items": { - "type": "string" - } + "nick": { + "type": "string" }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/definitions/Emoji" - } + "joined_at": { + "type": "string", + "format": "date-time" }, - "premium_tier": { - "type": "integer" + "pending": { + "type": "boolean" }, - "premium_subscription_count": { - "type": "integer" + "deaf": { + "type": "boolean" }, - "approximate_member_count": { - "type": "integer" + "mute": { + "type": "boolean" }, - "approximate_presence_count": { + "premium_since": { "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "emojis", - "features", - "id", - "name", - "premium_tier" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiApplication": { - "type": "object", - "properties": { - "id": { - "type": "string" }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildMessagesSearchMessage": { - "type": "object", - "properties": { - "id": { + "avatar": { "type": "string" }, - "type": { - "$ref": "#/definitions/MessageType" - }, - "content": { + "banner": { "type": "string" }, - "channel_id": { + "bio": { "type": "string" }, - "author": { - "$ref": "#/definitions/PublicUser" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicAttachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } - }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicUser" - } - }, - "mention_roles": { + "theme_colors": { "type": "array", "items": { - "$ref": "#/definitions/Role" + "type": "integer" } }, - "pinned": { - "type": "boolean" - }, - "mention_everyone": { - "type": "boolean" - }, - "tts": { - "type": "boolean" - }, - "timestamp": { + "pronouns": { "type": "string" }, - "edited_timestamp": { - "type": [ - "null", - "string" + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } ] }, - "flags": { - "type": "integer" + "user": { + "$ref": "#/definitions/PublicUser" }, - "components": { + "roles": { "type": "array", "items": { - "$ref": "#/definitions/BaseMessageComponents" + "type": "string" } - }, - "poll": { - "$ref": "#/definitions/Poll" - }, - "hit": { - "type": "boolean", - "const": true } }, - "additionalProperties": false, "required": [ - "attachments", - "author", - "channel_id", - "components", - "edited_timestamp", - "embeds", + "banner", + "bio", + "communication_disabled_until", + "deaf", "flags", - "hit", + "guild_id", "id", - "mention_roles", - "mentions", - "pinned", - "poll", - "timestamp", - "tts", - "type" + "joined_at", + "mute", + "pending", + "roles", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, @@ -14107,9 +13182,6 @@ "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", "type": "string" }, - "banner": { - "type": "string" - }, "premium_since": { "type": "string", "format": "date-time" @@ -14117,6 +13189,9 @@ "avatar": { "type": "string" }, + "banner": { + "type": "string" + }, "bio": { "type": "string" }, @@ -14179,434 +13254,1186 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PublicAttachment_1": { + "GameActivity": { "type": "object", "properties": { - "filename": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "height": { - "type": "integer" - }, - "width": { + "activity_level": { "type": "integer" }, - "content_type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "proxy_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "proxy_url", - "size", - "url" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildVanityUrl": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "uses": { + "activity_score": { "type": "integer" } }, "additionalProperties": false, "required": [ - "code", - "uses" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildVanityUrlNoInvite": { - "type": "object", - "properties": { - "code": { - "type": "null" - } - }, - "additionalProperties": false, - "required": [ - "code" + "activity_level", + "activity_score" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "HubDirectoryEntry": { + "GuildBadgeType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildTrait": { "type": "object", "properties": { - "author_id": { + "emoji_id": { + "type": [ + "null", + "string" + ] + }, + "emoji_name": { + "type": [ + "null", + "string" + ] + }, + "emoji_animated": { + "type": "boolean" + }, + "label": { "type": "string" }, - "created_at": { + "position": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "emoji_animated", + "emoji_id", + "emoji_name", + "label", + "position" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildVisibilityLevel": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Classification": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "classification_type": { + "$ref": "#/definitions/ClassificationType" + }, "description": { "type": "string" }, - "directory_channel_id": { + "explainer_link": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationAction" + } }, - "primary_category_id": { - "type": "integer" + "max_expiration_time": { + "type": "string" }, - "type": { - "type": "integer" + "flagged_content": { + "type": "array", + "items": {} + }, + "appeal_status": { + "$ref": "#/definitions/AppealStatus" + }, + "is_coppa": { + "type": "boolean" + }, + "is_spam": { + "type": "boolean" + }, + "appeal_ingestion_type": { + "$ref": "#/definitions/AppealIngestionType" } }, "additionalProperties": false, "required": [ - "author_id", - "created_at", + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", "description", - "directory_channel_id", - "guild", - "primary_category_id", - "type" + "explainer_link", + "flagged_content", + "id", + "is_coppa", + "is_spam", + "max_expiration_time" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "RefreshedUrl": { + "ClassificationType": { + "type": "number", + "enum": [ + 1, + 100, + 200, + 210, + 220, + 230, + 240, + 250, + 280, + 290, + 310, + 320, + 390, + 600, + 650, + 711, + 720, + 3010, + 3030, + 4000, + 4010, + 4130, + 4140, + 5010, + 5090, + 5305, + 5411, + 5440, + 5485 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ClassificationAction": { "type": "object", "properties": { - "original": { + "id": { "type": "string" }, - "refreshed": { - "type": "string" + "action_type": { + "$ref": "#/definitions/ClassificationActionType" + }, + "descriptions": { + "type": "array", + "items": { + "type": "string" + } } }, "additionalProperties": false, "required": [ - "original", - "refreshed" + "action_type", + "descriptions", + "id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "JsonValue": { - "description": "Represents any possible JSON value:\n- number\n- string\n- boolean\n- null\n- object (with any JSON value as property)\n- array (with any JSON value as element)", - "anyOf": [ - { - "description": "Represents a JSON object.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/JsonValue" - } + "ClassificationActionType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 20, + 22 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AppealStatus": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/AppealStatusValue" + } + }, + "additionalProperties": false, + "required": [ + "status" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AppealStatusValue": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AppealIngestionType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildClassification": { + "type": "object", + "properties": { + "guild_metadata": { + "$ref": "#/definitions/GuildMetadata" }, - { + "id": { + "type": "string" + }, + "classification_type": { + "$ref": "#/definitions/ClassificationType" + }, + "description": { + "type": "string" + }, + "explainer_link": { + "type": "string" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/ClassificationAction" + } + }, + "max_expiration_time": { + "type": "string" + }, + "flagged_content": { + "type": "array", + "items": {} + }, + "appeal_status": { + "$ref": "#/definitions/AppealStatus" + }, + "is_coppa": { + "type": "boolean" + }, + "is_spam": { + "type": "boolean" + }, + "appeal_ingestion_type": { + "$ref": "#/definitions/AppealIngestionType" + } + }, + "additionalProperties": false, + "required": [ + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", + "guild_metadata", + "id", + "is_coppa", + "is_spam", + "max_expiration_time" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "member_type": { + "$ref": "#/definitions/GuildMemberType" + } + }, + "additionalProperties": false, + "required": [ + "member_type", + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildMemberType": { + "type": "number", + "enum": [ + 1, + 2 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AccountStandingState": { + "type": "number", + "enum": [ + 100, + 200, + 300, + 400, + 500 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AppealEligibility": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "CollectiblesCategoryItem": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": [ + "null", + "string" + ] + }, + "styles": { + "$ref": "#/definitions/CollectiblesCategoryStyle" + }, + "logo": { + "type": "string" + }, + "hero_ranking": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "mobile_bg": { + "type": [ + "null", + "string" + ] + }, + "pdp_bg": { + "type": [ + "null", + "string" + ] + }, + "success_modal_bg": { + "type": [ + "null", + "string" + ] + }, + "mobile_banner": { + "type": [ + "null", + "string" + ] + }, + "featured_block": { + "type": [ + "null", + "string" + ] + }, + "hero_banner": { + "type": [ + "null", + "string" + ] + }, + "wide_banner": { + "type": [ + "null", + "string" + ] + }, + "hero_logo": { + "type": [ + "null", + "string" + ] + }, + "products": { + "type": "array", + "items": { + "$ref": "#/definitions/CollectiblesCategoryProductItem" + } + }, + "banner_asset": { + "$ref": "#/definitions/StaticAnimatedAsset" + }, + "hero_banner_asset": { + "$ref": "#/definitions/StaticAnimatedAsset" + } + }, + "additionalProperties": false, + "required": [ + "banner", + "featured_block", + "hero_banner", + "hero_logo", + "hero_ranking", + "logo", + "mobile_banner", + "mobile_bg", + "name", + "pdp_bg", + "products", + "sku_id", + "store_listing_id", + "styles", + "success_modal_bg", + "summary", + "unpublished_at", + "wide_banner" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "CollectiblesCategoryStyle": { + "type": "object", + "properties": { + "background_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "button_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "confetti_colors": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "additionalProperties": false, + "required": [ + "background_colors", + "button_colors", + "confetti_colors" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "CollectiblesCategoryProductItem": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": [ + "null", + "string" + ] + }, + "styles": { + "$ref": "#/definitions/CollectiblesCategoryStyle" + }, + "prices": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/definitions/CountryPrice" + } + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] + } + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductItem" + } + }, + "type": { + "type": "integer" + }, + "premium_type": { + "type": "integer" + }, + "category_sku_id": { + "type": "string" + }, + "google_sku_ids": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "variants": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductItemVariant" + } + } + }, + "additionalProperties": false, + "required": [ + "banner", + "category_sku_id", + "google_sku_ids", + "items", + "name", + "premium_type", + "prices", + "sku_id", + "store_listing_id", + "styles", + "summary", + "type", + "unpublished_at" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "CountryPrice": { + "type": "object", + "properties": { + "country_code": { + "type": "string" + }, + "prices": { + "type": "array", + "items": { + "$ref": "#/definitions/PriceEntry" + } + } + }, + "additionalProperties": false, + "required": [ + "country_code", + "prices" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "PriceEntry": { + "type": "object", + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "exponent": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "amount", + "currency", + "exponent" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ProductItem": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "sku_id": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "label": { + "type": "string" + }, + "palette": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id", + "sku_id", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ProductItemVariant": { + "type": "object", + "properties": { + "sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "name_localizations": { + "type": "null" + }, + "summary": { + "type": "string" + }, + "summary_localizations": { + "type": "null" + }, + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { + "type": [ + "null", + "string" + ] + }, + "styles": { + "$ref": "#/definitions/CollectiblesCategoryStyle" + }, + "prices": { "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "$ref": "#/definitions/JsonValue" - } - }, - "properties": { - "length": { - "type": "integer" - }, - "__@unscopables@698": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[0-9]+$": { - "type": "boolean" - } - }, - "properties": { - "length": { - "type": "boolean" - }, - "toString": { - "type": "boolean" - }, - "toLocaleString": { - "type": "boolean" - }, - "pop": { - "type": "boolean" - }, - "push": { - "type": "boolean" - }, - "concat": { - "type": "boolean" - }, - "join": { - "type": "boolean" - }, - "reverse": { - "type": "boolean" - }, - "shift": { - "type": "boolean" - }, - "slice": { - "type": "boolean" - }, - "sort": { - "type": "boolean" - }, - "splice": { - "type": "boolean" - }, - "unshift": { - "type": "boolean" - }, - "indexOf": { - "type": "boolean" - }, - "lastIndexOf": { - "type": "boolean" - }, - "every": { - "type": "boolean" - }, - "some": { - "type": "boolean" - }, - "forEach": { - "type": "boolean" - }, - "map": { - "type": "boolean" - }, - "filter": { - "type": "boolean" - }, - "reduce": { - "type": "boolean" - }, - "reduceRight": { - "type": "boolean" - }, - "find": { - "type": "boolean" - }, - "findIndex": { - "type": "boolean" - }, - "fill": { - "type": "boolean" - }, - "copyWithin": { - "type": "boolean" - }, - "entries": { - "type": "boolean" - }, - "keys": { - "type": "boolean" - }, - "values": { - "type": "boolean" - }, - "includes": { - "type": "boolean" - }, - "flatMap": { - "type": "boolean" - }, - "flat": { - "type": "boolean" - }, - "at": { - "type": "boolean" - }, - "findLast": { - "type": "boolean" - }, - "findLastIndex": { - "type": "boolean" - }, - "toReversed": { - "type": "boolean" - }, - "toSorted": { - "type": "boolean" - }, - "toSpliced": { - "type": "boolean" - }, - "with": { - "type": "boolean" - }, - "__@iterator@696": { - "type": "boolean" - }, - "__@unscopables@698": { - "type": "boolean" - } + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/definitions/CountryPrice" } - } - }, - "required": [ - "__@unscopables@698", - "length" + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] + } + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductItem" + } + }, + "type": { + "type": "integer" + }, + "premium_type": { + "type": "integer" + }, + "category_sku_id": { + "type": "string" + }, + "google_sku_ids": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "base_variant_sku_id": { + "type": "string" + }, + "base_variant_name": { + "type": "string" + }, + "variant_label": { + "type": "string" + }, + "variant_value": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "base_variant_name", + "base_variant_sku_id", + "category_sku_id", + "items", + "name", + "name_localizations", + "premium_type", + "prices", + "sku_id", + "store_listing_id", + "summary", + "summary_localizations", + "type", + "variant_label", + "variant_value" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "StaticAnimatedAsset": { + "type": "object", + "properties": { + "animated": { + "type": [ + "null", + "string" ] }, + "static": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "animated", + "static" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "CollectiblesMarketingItem": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "version": { + "type": "integer" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "body", + "title", + "type", + "version" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AnyShopBlock": { + "anyOf": [ + { + "$ref": "#/definitions/ItemRowShopBlock" + }, + { + "$ref": "#/definitions/BundleTileRowShopBlock" + }, { + "$ref": "#/definitions/ItemCollectionShopBlock" + } + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ItemRowShopBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "const": 0 + }, + "category_sku_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "category_store_listing_id": { + "type": "string" + }, + "banner_asset": { + "$ref": "#/definitions/StaticAnimatedAsset" + }, + "logo_url": { + "type": "string" + }, + "unpublished_at": { "type": [ "null", - "string", - "integer", - "boolean" + "string" ] + }, + "summary": { + "type": "string" + }, + "ranked_sku_ids": { + "type": "array", + "items": { + "type": "string" + } } + }, + "additionalProperties": false, + "required": [ + "banner_asset", + "category_sku_id", + "category_store_listing_id", + "logo_url", + "name", + "ranked_sku_ids", + "summary", + "type", + "unpublished_at" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BackupCode": { + "BundleTileRowShopBlock": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/User" + "type": { + "type": "integer", + "const": 1 }, - "code": { + "subblocks": { + "type": "array", + "items": { + "$ref": "#/definitions/ShopBlockSubBlock" + } + } + }, + "additionalProperties": false, + "required": [ + "subblocks", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ShopBlockSubBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "category_store_listing_id": { "type": "string" }, - "consumed": { - "type": "boolean" + "name": { + "type": "string" }, - "expired": { - "type": "boolean" + "unpublished_at": { + "type": [ + "null", + "string" + ] }, - "id": { + "banner_url": { "type": "string" + }, + "body_text": { + "type": [ + "null", + "string" + ] + }, + "banner_text_color": { + "type": [ + "null", + "integer" + ] } }, "additionalProperties": false, "required": [ - "code", - "consumed", - "expired", - "id", - "user" + "banner_text_color", + "banner_url", + "body_text", + "category_store_listing_id", + "name", + "type", + "unpublished_at" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 + "ItemCollectionShopBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "const": 2 + }, + "ranked_sku_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "sorted_sku_ids": { + "type": "object", + "properties": { + "recommended": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "type": "null" + } + ] + }, + "popular": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "popular", + "recommended" + ] + } + }, + "additionalProperties": false, + "required": [ + "ranked_sku_ids", + "sorted_sku_ids", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PongCallback": { + "PartialMessage": { + "description": "https://docs.discord.food/resources/message#partial-message-structure", "type": "object", "properties": { + "id": { + "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "type": "string" + }, + "channel_id": { + "type": "string" + }, "type": { - "$ref": "#/definitions/InteractionCallbackType.PONG" + "$ref": "#/definitions/MessageType" }, - "data": {} + "content": { + "type": "string" + }, + "author": { + "$ref": "#/definitions/PartialUser" + }, + "flags": { + "type": "integer" + }, + "application_id": { + "type": "string" + } }, "additionalProperties": false, "required": [ - "data", + "author", + "channel_id", + "content", + "id", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.PONG": { - "type": "number", - "const": 1, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AckCallback": { + "HubGuild": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.ACKNOWLEDGE" + "icon": { + "type": "string" }, - "data": {} + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "additionalProperties": false, "required": [ - "data", - "type" + "icon", + "id", + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.ACKNOWLEDGE": { - "type": "number", - "const": 2, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageCallback": { + "EmojiGuild": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE" + "id": { + "type": "string" }, - "data": {} + "name": { + "type": "string" + }, + "icon": { + "type": [ + "null", + "string" + ] + }, + "description": { + "type": [ + "null", + "string" + ] + }, + "features": { + "type": "array", + "items": { + "type": "string" + } + }, + "emojis": { + "type": "array", + "items": { + "$ref": "#/definitions/Emoji" + } + }, + "premium_tier": { + "type": "integer" + }, + "premium_subscription_count": { + "type": "integer" + }, + "approximate_member_count": { + "type": "integer" + }, + "approximate_presence_count": { + "type": "integer" + } }, "additionalProperties": false, "required": [ - "data", - "type" + "emojis", + "features", + "id", + "name", + "premium_tier" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.CHANNEL_MESSAGE": { - "type": "number", - "const": 3, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageWSourceCallback": { + "EmojiApplication": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" + "id": { + "type": "string" }, - "data": { - "$ref": "#/definitions/InteractionMessage" + "name": { + "type": "string" } }, "additionalProperties": false, "required": [ - "data", - "type" + "id", + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE": { - "type": "number", - "const": 4, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionMessage": { + "GuildMessagesSearchMessage": { "type": "object", "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/MessageType" + }, "content": { "type": "string" }, - "tts": { - "type": "boolean" + "channel_id": { + "type": "string" + }, + "author": { + "$ref": "#/definitions/PublicUser" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicAttachment" + } }, "embeds": { "type": "array", @@ -14614,356 +14441,357 @@ "$ref": "#/definitions/Embed" } }, - "allowed_mentions": { - "$ref": "#/definitions/AllowedMentions" + "mentions": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicUser" + } }, - "components": { + "mention_roles": { "type": "array", "items": { - "$ref": "#/definitions/BaseMessageComponents" + "$ref": "#/definitions/Role" } }, + "pinned": { + "type": "boolean" + }, + "mention_everyone": { + "type": "boolean" + }, + "tts": { + "type": "boolean" + }, + "timestamp": { + "type": "string" + }, + "edited_timestamp": { + "type": [ + "null", + "string" + ] + }, "flags": { "type": "integer" }, - "attachments": { + "components": { "type": "array", "items": { - "anyOf": [ - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "id" - ] - }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filename": { - "type": "string" - }, - "uploaded_filename": { - "type": "string" - }, - "original_content_type": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "filename", - "uploaded_filename" - ] - } - ] + "$ref": "#/definitions/BaseMessageComponents" } }, - "poll": { - "$ref": "#/definitions/PollCreationSchema" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageDWSourceCallback": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" - }, - "data": { - "$ref": "#/definitions/InteractionMessage" + "poll": { + "$ref": "#/definitions/Poll" + }, + "hit": { + "type": "boolean", + "const": true } }, "additionalProperties": false, "required": [ - "data", + "attachments", + "author", + "channel_id", + "components", + "edited_timestamp", + "embeds", + "flags", + "hit", + "id", + "mention_roles", + "mentions", + "pinned", + "poll", + "timestamp", + "tts", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { - "type": "number", - "const": 5, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageUpdateCallback": { + "GuildVanityUrl": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.UPDATE_MESSAGE" + "code": { + "type": "string" }, - "data": { - "$ref": "#/definitions/InteractionMessage" + "uses": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "data", - "type" + "code", + "uses" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.UPDATE_MESSAGE": { - "type": "number", - "const": 7, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageDUpdateCallback": { + "GuildVanityUrlNoInvite": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" - }, - "data": { - "$ref": "#/definitions/InteractionMessage" + "code": { + "type": "null" } }, "additionalProperties": false, "required": [ - "data", - "type" + "code" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { - "type": "number", - "const": 6, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionGuild": { + "HubDirectoryEntry": { "type": "object", "properties": { - "id": { - "description": "A Twitter-like snowflake, except the epoch is 2015-01-01T00:00:00.000Z\n```\nIf we have a snowflake '266241948824764416' we can represent it as binary:\n\n64 22 17 12 0\n 000000111011000111100001101001000101000000 00001 00000 000000000000\n number of ms since Discord epoch worker pid increment\n```", + "author_id": { "type": "string" }, - "features": { - "type": "array", - "items": { - "type": "string" - } + "created_at": { + "type": "string" }, - "locale": { + "description": { + "type": "string" + }, + "directory_channel_id": { "type": "string" + }, + "guild": { + "$ref": "#/definitions/Guild" + }, + "primary_category_id": { + "type": "integer" + }, + "type": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "features", - "id", - "locale" + "author_id", + "created_at", + "description", + "directory_channel_id", + "guild", + "primary_category_id", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PublicMember": { - "additionalProperties": false, + "RefreshedUrl": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { - "type": "string" - }, - "nick": { - "type": "string" - }, - "joined_at": { - "type": "string", - "format": "date-time" - }, - "pending": { - "type": "boolean" - }, - "deaf": { - "type": "boolean" - }, - "mute": { - "type": "boolean" - }, - "premium_since": { - "type": "integer" - }, - "avatar": { + "original": { "type": "string" }, - "bio": { + "refreshed": { "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "original", + "refreshed" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "JsonValue": { + "description": "Represents any possible JSON value:\n- number\n- string\n- boolean\n- null\n- object (with any JSON value as property)\n- array (with any JSON value as element)", + "anyOf": [ + { + "description": "Represents a JSON object.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/JsonValue" } }, - "pronouns": { - "type": "string" - }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "$ref": "#/definitions/JsonValue" + } + }, + "properties": { + "length": { + "type": "integer" }, - { - "type": "null" + "__@unscopables@698": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "boolean" + } + }, + "properties": { + "length": { + "type": "boolean" + }, + "toString": { + "type": "boolean" + }, + "toLocaleString": { + "type": "boolean" + }, + "pop": { + "type": "boolean" + }, + "push": { + "type": "boolean" + }, + "concat": { + "type": "boolean" + }, + "join": { + "type": "boolean" + }, + "reverse": { + "type": "boolean" + }, + "shift": { + "type": "boolean" + }, + "slice": { + "type": "boolean" + }, + "sort": { + "type": "boolean" + }, + "splice": { + "type": "boolean" + }, + "unshift": { + "type": "boolean" + }, + "indexOf": { + "type": "boolean" + }, + "lastIndexOf": { + "type": "boolean" + }, + "every": { + "type": "boolean" + }, + "some": { + "type": "boolean" + }, + "forEach": { + "type": "boolean" + }, + "map": { + "type": "boolean" + }, + "filter": { + "type": "boolean" + }, + "reduce": { + "type": "boolean" + }, + "reduceRight": { + "type": "boolean" + }, + "find": { + "type": "boolean" + }, + "findIndex": { + "type": "boolean" + }, + "fill": { + "type": "boolean" + }, + "copyWithin": { + "type": "boolean" + }, + "entries": { + "type": "boolean" + }, + "keys": { + "type": "boolean" + }, + "values": { + "type": "boolean" + }, + "includes": { + "type": "boolean" + }, + "flatMap": { + "type": "boolean" + }, + "flat": { + "type": "boolean" + }, + "at": { + "type": "boolean" + }, + "findLast": { + "type": "boolean" + }, + "findLastIndex": { + "type": "boolean" + }, + "toReversed": { + "type": "boolean" + }, + "toSorted": { + "type": "boolean" + }, + "toSpliced": { + "type": "boolean" + }, + "with": { + "type": "boolean" + }, + "__@iterator@696": { + "type": "boolean" + }, + "__@unscopables@698": { + "type": "boolean" + } + } } + }, + "required": [ + "__@unscopables@698", + "length" ] }, - "user": { - "$ref": "#/definitions/PublicUser" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + { + "type": [ + "null", + "string", + "integer", + "boolean" + ] } - }, - "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", - "id", - "joined_at", - "mute", - "pending", - "roles", - "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InstanceUserDeleteSchemaContent": { + "BackupCode": { "type": "object", "properties": { - "reason": { + "user": { + "$ref": "#/definitions/User" + }, + "code": { "type": "string" }, - "persistInstanceBan": { + "consumed": { "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GameActivity": { - "type": "object", - "properties": { - "activity_level": { - "type": "integer" - }, - "activity_score": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "activity_level", - "activity_score" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildBadgeType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildTrait": { - "type": "object", - "properties": { - "emoji_id": { - "type": [ - "null", - "string" - ] }, - "emoji_name": { - "type": [ - "null", - "string" - ] - }, - "emoji_animated": { + "expired": { "type": "boolean" }, - "label": { + "id": { "type": "string" - }, - "position": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "emoji_animated", - "emoji_id", - "emoji_name", - "label", - "position" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildVisibilityLevel": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "code", + "consumed", + "expired", + "id", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, @@ -15127,16 +14955,20 @@ "type": "object", "properties": { "maxGuilds": { - "type": "integer" + "type": "integer", + "default": 1048576 }, "maxUsername": { - "type": "integer" + "type": "integer", + "default": 32 }, "maxFriends": { - "type": "integer" + "type": "integer", + "default": 5000 }, "maxBio": { - "type": "integer" + "type": "integer", + "default": 190 } }, "additionalProperties": false, @@ -15152,25 +14984,32 @@ "type": "object", "properties": { "maxRoles": { - "type": "integer" + "type": "integer", + "default": 1000 }, "maxEmojis": { - "type": "integer" + "type": "integer", + "default": 2000 }, "maxStickers": { - "type": "integer" + "type": "integer", + "default": 500 }, "maxMembers": { - "type": "integer" + "type": "integer", + "default": 25000000 }, "maxChannels": { - "type": "integer" + "type": "integer", + "default": 65535 }, "maxBulkBanUsers": { - "type": "integer" + "type": "integer", + "default": 200 }, "maxChannelsInCategory": { - "type": "integer" + "type": "integer", + "default": 65535 } }, "additionalProperties": false, @@ -15189,28 +15028,36 @@ "type": "object", "properties": { "maxCharacters": { - "type": "integer" + "type": "integer", + "default": 1048576 }, "maxTTSCharacters": { - "type": "integer" + "type": "integer", + "default": 160 }, "maxReactions": { - "type": "integer" + "type": "integer", + "default": 2048 }, "maxAttachmentSize": { - "type": "integer" + "type": "integer", + "default": 1073741824 }, "maxBulkDelete": { - "type": "integer" + "type": "integer", + "default": 1000 }, "maxEmbedDownloadSize": { - "type": "integer" + "type": "integer", + "default": 5242880 }, "maxPreloadCount": { - "type": "integer" + "type": "integer", + "default": 100 }, "maxEmbeds": { - "type": "integer" + "type": "integer", + "default": 20 } }, "additionalProperties": false, @@ -15230,16 +15077,20 @@ "type": "object", "properties": { "maxPins": { - "type": "integer" + "type": "integer", + "default": 500 }, "maxTopic": { - "type": "integer" + "type": "integer", + "default": 1024 }, "maxWebhooks": { - "type": "integer" + "type": "integer", + "default": 100 }, "maxName": { - "type": "integer" + "type": "integer", + "default": 32 } }, "additionalProperties": false, @@ -15255,7 +15106,8 @@ "type": "object", "properties": { "enabled": { - "type": "boolean" + "type": "boolean", + "default": false }, "ip": { "$ref": "#/definitions/RateLimitOptions" @@ -15366,13 +15218,16 @@ "type": "object", "properties": { "limit": { - "type": "integer" + "type": "integer", + "default": 100 }, "window": { - "type": "integer" + "type": "integer", + "default": 3600000 }, "enabled": { - "type": "boolean" + "type": "boolean", + "default": true } }, "additionalProperties": false, diff --git a/eslint.config.mjs b/eslint.config.mjs index 83ff1e783e..cd8f785e43 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -66,7 +66,7 @@ export default defineConfig([ // "sort-imports": ["error", {}], "default-case": "error", "default-case-last": "error", - "yoda": "error", + yoda: "error", // unsure what the defaults are here, but we want them to error "for-direction": "error", "constructor-super": "error", diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts index 2aad157df0..818785b92c 100644 --- a/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts +++ b/src/api/routes/channels/#channel_id/messages/#message_id/crosspost.ts @@ -16,7 +16,8 @@ along with this program. If not, see . */ -import { route } from "@spacebar/api"; +import { CROSSPOST_BASE_PERMISSION, crosspostMessage, route } from "@spacebar/api"; +import { Channel, Message, emitEvent, getRights } from "@spacebar/util"; import { Request, Response, Router } from "express"; const router = Router({ mergeParams: true }); @@ -24,40 +25,41 @@ const router = Router({ mergeParams: true }); router.post( "/", route({ - permission: "MANAGE_MESSAGES", + permission: CROSSPOST_BASE_PERMISSION, responses: { 200: { body: "Message", }, }, }), - (req: Request, res: Response) => { - // TODO: - res.json({ - id: "", - type: 0, - content: "", - channel_id: "", - author: { - id: "", - username: "", - avatar: "", - discriminator: "", - public_flags: 64, - }, - attachments: [], - embeds: [], - mentions: [], - mention_roles: [], - pinned: false, - mention_everyone: false, - tts: false, - timestamp: "", - edited_timestamp: null, - flags: 1, - components: [], - poll: {}, - }).status(200); + async (req: Request, res: Response) => { + const { channel_id, message_id } = req.params as { [key: string]: string }; + + const [channel, message] = await Promise.all([ + Channel.findOneOrFail({ where: { id: channel_id } }), + Message.findOneOrFail({ + where: { id: message_id, channel_id }, + relations: { + attachments: true, + author: true, + mentions: true, + mention_roles: true, + mention_channels: true, + }, + }), + ]); + + const response = await crosspostMessage({ + channel, + channelId: channel_id, + emitEvent, + getRights, + message, + permission: req.permission!, + userId: req.user_id, + }); + + return res.status(200).json(response); }, ); diff --git a/src/api/util/index.ts b/src/api/util/index.ts index cb26d4f545..20479fac0e 100644 --- a/src/api/util/index.ts +++ b/src/api/util/index.ts @@ -26,3 +26,4 @@ export * from "./utility/String"; export * from "./handlers/Voice"; export * from "./utility/captcha"; export * from "./utility/EmbedHandlers"; +export * from "./utility/CrosspostMessage"; diff --git a/src/api/util/utility/CrosspostMessage.test.ts b/src/api/util/utility/CrosspostMessage.test.ts new file mode 100644 index 0000000000..3d830cff50 --- /dev/null +++ b/src/api/util/utility/CrosspostMessage.test.ts @@ -0,0 +1,308 @@ +import assert from "node:assert/strict"; +import { describe, test } from "node:test"; +import { DiscordApiErrors } from "../../../util/util/Constants"; +import { + CROSSPOST_BASE_PERMISSION, + CROSSPOST_MANAGE_PERMISSION, + CROSSPOST_SEND_PERMISSION, + CROSSPOSTABLE_CHANNEL_TYPE, + CROSSPOSTABLE_MESSAGE_TYPE, + CROSSPOSTED_MESSAGE_FLAG, + crosspostMessage, + type CrosspostMessageData, + type CrosspostMessagePermission, + type CrosspostPermissionGuard, + type CrosspostRightsGuard, + getCrosspostRejectionReason, + markMessageCrossposted, + shouldRequireCrosspostManagePermission, +} from "./CrosspostMessage"; + +type PublicCrosspostMessage = { + id: string; + author_id: string; + type: number; + flags: number; +}; + +type CrosspostUpdateEvent = { + event: "MESSAGE_UPDATE"; + channel_id: string; + data: PublicCrosspostMessage; +}; + +class FakeMessage implements CrosspostMessageData { + author_id = "author"; + type = CROSSPOSTABLE_MESSAGE_TYPE; + flags = 0; + saveCalls = 0; + + constructor(overrides: Partial, "author_id" | "type" | "flags">> = {}) { + Object.assign(this, overrides); + } + + async save() { + this.saveCalls += 1; + } + + toJSON(): PublicCrosspostMessage { + return { + id: "message", + author_id: this.author_id, + type: this.type, + flags: this.flags, + }; + } +} + +class RecordingPermission implements CrosspostPermissionGuard { + calls: CrosspostMessagePermission[] = []; + + constructor(private readonly denied: Partial> = {}) {} + + hasThrow(permission: CrosspostMessagePermission) { + this.calls.push(permission); + const error = this.denied[permission]; + if (error) throw error; + return true; + } +} + +function createRights(hasManageMessages: boolean): CrosspostRightsGuard { + return { + has(permission) { + return permission === CROSSPOST_MANAGE_PERMISSION && hasManageMessages; + }, + }; +} + +async function assertRejectsWith(block: () => Promise, expected: Error) { + await assert.rejects(block, (error) => { + assert.equal(error, expected); + return true; + }); +} + +function assertNoMutation(message: FakeMessage, events: CrosspostUpdateEvent[]) { + assert.equal(message.saveCalls, 0); + assert.deepEqual(events, []); +} + +describe("crosspost message helpers", () => { + test("requires view channel before crosspost-specific message permissions", () => { + assert.equal(CROSSPOST_BASE_PERMISSION, "VIEW_CHANNEL"); + }); + + test("uses send messages as the crosspost mutation permission", () => { + assert.equal(CROSSPOST_SEND_PERMISSION, "SEND_MESSAGES"); + }); + + test("uses manage messages as the additional non-author permission", () => { + assert.equal(CROSSPOST_MANAGE_PERMISSION, "MANAGE_MESSAGES"); + }); + + test("requires manage messages for non-authors and messages without a normal author", () => { + assert.equal(shouldRequireCrosspostManagePermission("author", "author"), false); + assert.equal(shouldRequireCrosspostManagePermission("author", "moderator"), true); + assert.equal(shouldRequireCrosspostManagePermission(undefined, "moderator"), true); + }); + + test("marks messages as crossposted without clearing existing flags", () => { + const existingFlags = 1 << 2; + + assert.equal(markMessageCrossposted(existingFlags), existingFlags | CROSSPOSTED_MESSAGE_FLAG); + }); + + test("rejects already crossposted messages", () => { + const crossposted = CROSSPOSTED_MESSAGE_FLAG; + + assert.equal(getCrosspostRejectionReason(CROSSPOSTABLE_CHANNEL_TYPE, CROSSPOSTABLE_MESSAGE_TYPE, crossposted), "already_crossposted"); + }); + + test("allows default messages in announcement channels", () => { + assert.equal(getCrosspostRejectionReason(CROSSPOSTABLE_CHANNEL_TYPE, CROSSPOSTABLE_MESSAGE_TYPE, 0), undefined); + }); + + test("rejects non-announcement channels", () => { + assert.equal(getCrosspostRejectionReason(0, CROSSPOSTABLE_MESSAGE_TYPE, 0), "channel_type"); + }); + + test("rejects system messages", () => { + assert.equal(getCrosspostRejectionReason(CROSSPOSTABLE_CHANNEL_TYPE, 6, 0), "message_type"); + }); +}); + +describe("crosspost message service", () => { + test("successful crosspost saves the flag and emits one message update", async () => { + const message = new FakeMessage(); + const permission = new RecordingPermission(); + const events: CrosspostUpdateEvent[] = []; + + const response = await crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + getRights: () => { + throw new Error("authors should not need rights lookup"); + }, + message, + permission, + userId: "author", + }); + + assert.equal(message.flags, CROSSPOSTED_MESSAGE_FLAG); + assert.equal(message.saveCalls, 1); + assert.deepEqual(permission.calls, [CROSSPOST_SEND_PERMISSION]); + assert.deepEqual(events, [ + { + event: "MESSAGE_UPDATE", + channel_id: "channel", + data: response, + }, + ]); + assert.deepEqual(response, { + id: "message", + author_id: "author", + type: CROSSPOSTABLE_MESSAGE_TYPE, + flags: CROSSPOSTED_MESSAGE_FLAG, + }); + }); + + test("already-crossposted messages throw without saving or emitting", async () => { + const message = new FakeMessage({ flags: CROSSPOSTED_MESSAGE_FLAG }); + const permission = new RecordingPermission(); + const events: CrosspostUpdateEvent[] = []; + + await assertRejectsWith( + () => + crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + message, + permission, + userId: "author", + }), + DiscordApiErrors.ALREADY_CROSSPOSTED, + ); + + assert.deepEqual(permission.calls, []); + assertNoMutation(message, events); + }); + + test("non-news channels throw without saving or emitting", async () => { + const message = new FakeMessage(); + const permission = new RecordingPermission(); + const events: CrosspostUpdateEvent[] = []; + + await assertRejectsWith( + () => + crosspostMessage({ + channel: { type: 0 }, + channelId: "channel", + emitEvent: (event) => events.push(event), + message, + permission, + userId: "author", + }), + DiscordApiErrors.CANNOT_EXECUTE_ON_THIS_CHANNEL_TYPE, + ); + + assert.deepEqual(permission.calls, []); + assertNoMutation(message, events); + }); + + test("system messages throw without saving or emitting", async () => { + const message = new FakeMessage({ type: 6 }); + const permission = new RecordingPermission(); + const events: CrosspostUpdateEvent[] = []; + + await assertRejectsWith( + () => + crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + message, + permission, + userId: "author", + }), + DiscordApiErrors.CANNOT_EXECUTE_ON_SYSTEM_MESSAGE, + ); + + assert.deepEqual(permission.calls, []); + assertNoMutation(message, events); + }); + + test("non-authors without channel manage messages fail and do not mutate", async () => { + const missingManageMessages = new Error("missing MANAGE_MESSAGES"); + const message = new FakeMessage({ author_id: "author" }); + const permission = new RecordingPermission({ [CROSSPOST_MANAGE_PERMISSION]: missingManageMessages }); + const events: CrosspostUpdateEvent[] = []; + + await assertRejectsWith( + () => + crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + getRights: () => createRights(false), + message, + permission, + userId: "moderator", + }), + missingManageMessages, + ); + + assert.deepEqual(permission.calls, [CROSSPOST_MANAGE_PERMISSION]); + assertNoMutation(message, events); + }); + + test("author send permission guard failures do not mutate", async () => { + const missingSendMessages = new Error("missing SEND_MESSAGES"); + const message = new FakeMessage(); + const permission = new RecordingPermission({ [CROSSPOST_SEND_PERMISSION]: missingSendMessages }); + const events: CrosspostUpdateEvent[] = []; + + await assertRejectsWith( + () => + crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + message, + permission, + userId: "author", + }), + missingSendMessages, + ); + + assert.deepEqual(permission.calls, [CROSSPOST_SEND_PERMISSION]); + assertNoMutation(message, events); + }); + + test("global manage messages right bypasses only the non-author manage channel permission", async () => { + const message = new FakeMessage({ author_id: "author" }); + const permission = new RecordingPermission(); + const events: CrosspostUpdateEvent[] = []; + const rightsLookups: string[] = []; + + await crosspostMessage({ + channel: { type: CROSSPOSTABLE_CHANNEL_TYPE }, + channelId: "channel", + emitEvent: (event) => events.push(event), + getRights: (userId) => { + rightsLookups.push(userId); + return createRights(true); + }, + message, + permission, + userId: "moderator", + }); + + assert.equal(message.saveCalls, 1); + assert.deepEqual(permission.calls, []); + assert.deepEqual(rightsLookups, ["moderator"]); + assert.equal(events.length, 1); + }); +}); diff --git a/src/api/util/utility/CrosspostMessage.ts b/src/api/util/utility/CrosspostMessage.ts new file mode 100644 index 0000000000..72edc9e413 --- /dev/null +++ b/src/api/util/utility/CrosspostMessage.ts @@ -0,0 +1,111 @@ +/* + Spacebar: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2026 Spacebar and Spacebar Contributors + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . +*/ + +import { ChannelType } from "../../../schemas/api/channels/Channel"; +import { MessageType } from "../../../schemas/api/messages/Message"; +import { DiscordApiErrors } from "../../../util/util/Constants"; +import { MessageFlags } from "../../../util/util/MessageFlags"; + +export const CROSSPOST_BASE_PERMISSION = "VIEW_CHANNEL" as const; +export const CROSSPOST_SEND_PERMISSION = "SEND_MESSAGES" as const; +export const CROSSPOST_MANAGE_PERMISSION = "MANAGE_MESSAGES" as const; +export const CROSSPOSTED_MESSAGE_FLAG = Number(MessageFlags.FLAGS.CROSSPOSTED); +export const CROSSPOSTABLE_CHANNEL_TYPE = ChannelType.GUILD_NEWS; +export const CROSSPOSTABLE_MESSAGE_TYPE = MessageType.DEFAULT; + +export type CrosspostRejectionReason = "channel_type" | "message_type" | "already_crossposted"; +export type CrosspostMessagePermission = typeof CROSSPOST_SEND_PERMISSION | typeof CROSSPOST_MANAGE_PERMISSION; + +export interface CrosspostChannelData { + type: ChannelType; +} + +export interface CrosspostMessageData { + author_id?: string; + type: MessageType; + flags: number; + save(): Promise; + toJSON(): TJson; +} + +export interface CrosspostPermissionGuard { + hasThrow(permission: CrosspostMessagePermission): unknown; +} + +export interface CrosspostRightsGuard { + has(permission: typeof CROSSPOST_MANAGE_PERMISSION): boolean; +} + +export interface CrosspostMessageOptions { + channel: CrosspostChannelData; + channelId: string; + emitEvent(event: { event: "MESSAGE_UPDATE"; channel_id: string; data: TJson }): Promise | unknown; + getRights?(userId: string): Promise | CrosspostRightsGuard; + message: CrosspostMessageData; + permission: CrosspostPermissionGuard; + userId: string; +} + +export function getCrosspostRejectionReason(channelType: ChannelType, messageType: MessageType, flags: number): CrosspostRejectionReason | undefined { + if (channelType !== CROSSPOSTABLE_CHANNEL_TYPE) return "channel_type"; + if (messageType !== CROSSPOSTABLE_MESSAGE_TYPE) return "message_type"; + if (isMessageCrossposted(flags)) return "already_crossposted"; +} + +export function isMessageCrossposted(flags: number) { + return new MessageFlags(flags).has("CROSSPOSTED"); +} + +export function markMessageCrossposted(flags: number) { + return Number(new MessageFlags(flags).add("CROSSPOSTED").bitfield); +} + +export function shouldRequireCrosspostManagePermission(messageAuthorId: string | undefined, userId: string) { + return !messageAuthorId || messageAuthorId !== userId; +} + +export async function crosspostMessage({ channel, channelId, emitEvent, getRights, message, permission, userId }: CrosspostMessageOptions): Promise { + const rejectionReason = getCrosspostRejectionReason(channel.type, message.type, message.flags); + if (rejectionReason === "channel_type") throw DiscordApiErrors.CANNOT_EXECUTE_ON_THIS_CHANNEL_TYPE; + if (rejectionReason === "message_type") throw DiscordApiErrors.CANNOT_EXECUTE_ON_SYSTEM_MESSAGE; + if (rejectionReason === "already_crossposted") throw DiscordApiErrors.ALREADY_CROSSPOSTED; + + if (shouldRequireCrosspostManagePermission(message.author_id, userId)) { + const rights = await getRights?.(userId); + if (!rights?.has(CROSSPOST_MANAGE_PERMISSION)) { + permission.hasThrow(CROSSPOST_MANAGE_PERMISSION); + } + } else { + permission.hasThrow(CROSSPOST_SEND_PERMISSION); + } + + const nextFlags = markMessageCrossposted(message.flags); + if (nextFlags !== message.flags) { + message.flags = nextFlags; + await message.save(); + const response = message.toJSON(); + await emitEvent({ + event: "MESSAGE_UPDATE", + channel_id: channelId, + data: response, + }); + return response; + } + + return message.toJSON(); +} diff --git a/src/cdn/util/Storage.ts b/src/cdn/util/Storage.ts index 7579e2d610..3245f65572 100644 --- a/src/cdn/util/Storage.ts +++ b/src/cdn/util/Storage.ts @@ -86,7 +86,9 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) { const forcePathStyle = process.env.STORAGE_FORCE_PATH_STYLE === "true"; if (process.env.STORAGE_FORCE_PATH_STYLE === undefined) { - console.warn(`[CDN] STORAGE_FORCE_PATH_STYLE is not set for S3 provider; defaulting to virtual-hosted style. Set STORAGE_FORCE_PATH_STYLE=true to enable path-style addressing.`); + console.warn( + `[CDN] STORAGE_FORCE_PATH_STYLE is not set for S3 provider; defaulting to virtual-hosted style. Set STORAGE_FORCE_PATH_STYLE=true to enable path-style addressing.`, + ); } const { S3Storage } = require("./S3Storage"); diff --git a/src/schemas/api/channels/Channel.ts b/src/schemas/api/channels/Channel.ts index efa0f5f539..f65f519d41 100644 --- a/src/schemas/api/channels/Channel.ts +++ b/src/schemas/api/channels/Channel.ts @@ -17,7 +17,7 @@ */ // TODO: remove entity imports -import { Channel, Recipient, Tag, ThreadMember } from "@spacebar/util"; +import type { Channel, Recipient, Tag, ThreadMember } from "@spacebar/util"; import { HTTPError } from "lambert-server"; import { Snowflake } from "../../Identifiers"; import { PartialUser, PublicMember } from "../users"; diff --git a/src/schemas/api/messages/Message.ts b/src/schemas/api/messages/Message.ts index b7eed17cc5..d96a735f23 100644 --- a/src/schemas/api/messages/Message.ts +++ b/src/schemas/api/messages/Message.ts @@ -17,7 +17,7 @@ */ // TODO: remove entity import -import { Sticker } from "@spacebar/util"; +import type { Sticker } from "@spacebar/util"; import { Embed, MessageActivity, MessageComponent, PartialUser, Poll, PublicChannel, Snowflake } from "@spacebar/schemas"; import { PublicAttachment } from "./Attachments";