diff --git a/assets/openapi.json b/assets/openapi.json index aa965def4..713c2eb70 100644 --- a/assets/openapi.json +++ b/assets/openapi.json @@ -239,365 +239,282 @@ "message" ] }, - "ActivitySchema": { + "InteractionCallbackSchema": { "type": "object", "properties": { - "afk": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/InteractionCallbackType" }, - "status": { - "$ref": "#/components/schemas/Status" + "data": {} + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbacksSchema": { + "anyOf": [ + { + "$ref": "#/components/schemas/PongCallback" }, - "activities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Activity" - } + { + "$ref": "#/components/schemas/AckCallback" }, - "since": { - "type": "integer" + { + "$ref": "#/components/schemas/MessageCallback" + }, + { + "$ref": "#/components/schemas/MessageWSourceCallback" + }, + { + "$ref": "#/components/schemas/MessageDWSourceCallback" + }, + { + "$ref": "#/components/schemas/MessageUpdateCallback" + }, + { + "$ref": "#/components/schemas/MessageDUpdateCallback" } - }, - "required": [ - "status" ] }, - "ApplicationAuthorizeSchema": { + "InteractionCreateSchema": { "type": "object", "properties": { - "authorize": { - "type": "boolean" + "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" + }, + "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": "#/components/schemas/InteractionType" + }, + "token": { + "type": "string" + }, + "data": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "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" }, - "permissions": { + "guild_locale": { "type": "string" }, - "captcha_key": { + "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" }, - "code": { - "minLength": 6, - "maxLength": 6, + "member": { + "$ref": "#/components/schemas/PublicMember" + }, + "user": { + "$ref": "#/components/schemas/PublicUser" + }, + "locale": { "type": "string" - } - }, - "required": [ - "authorize", - "guild_id", - "permissions" - ] - }, - "AutomodMentionSpamRuleSchema": { - "type": "object", - "properties": { - "mention_total_limit": { - "type": "integer" }, - "mention_raid_protection_enabled": { - "type": "boolean" - } - }, - "required": [ - "mention_raid_protection_enabled", - "mention_total_limit" - ] - }, - "AutomodSuspectedSpamRuleSchema": { - "type": "object" - }, - "AutomodCommonlyFlaggedWordsRuleSchema": { - "type": "object", - "properties": { - "allow_list": { + "message": { + "$ref": "#/components/schemas/Message" + }, + "app_permissions": { + "type": "string" + }, + "entitlements": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } }, - "presets": { + "entitlement_sku_ids": { "type": "array", - "items": [ - { - "type": "integer" + "items": { + "type": "string" + } + }, + "authorizing_integration_owners": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "string" } - ], - "minItems": 1, - "maxItems": 1 + } + }, + "context": { + "type": "integer" + }, + "attachment_size_limit": { + "type": "integer" } }, "required": [ - "allow_list", - "presets" + "app_permissions", + "application_id", + "attachment_size_limit", + "id", + "token", + "type", + "version" ] }, - "AutomodCustomWordsRuleSchema": { + "ApplicationCreateSchema": { "type": "object", "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 - }, - "keyword_filter": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "name": { + "type": "string" }, - "regex_patterns": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "team_id": { + "type": "string" } }, "required": [ - "allow_list", - "keyword_filter", - "regex_patterns" + "name" ] }, - "AutomodRuleSchema": { + "ApplicationModifySchema": { "type": "object", "properties": { - "creator_id": { + "description": { "type": "string" }, - "enabled": { - "type": "boolean" + "icon": { + "type": "string" }, - "event_type": { - "type": "integer" + "cover_image": { + "type": "string" }, - "exempt_channels": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "interactions_endpoint_url": { + "type": "string" }, - "exempt_roles": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "max_participants": { + "type": "integer", + "nullable": true }, - "guild_id": { + "name": { "type": "string" }, - "name": { + "privacy_policy_url": { "type": "string" }, - "position": { - "type": "integer" + "role_connections_verification_url": { + "type": "string" }, - "trigger_type": { - "type": "integer" + "tags": { + "type": "array", + "items": { + "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, + "terms_of_service_url": { "type": "string" - } - }, - "required": [ - "password" - ] - }, - "BanCreateSchema": { - "type": "object", - "properties": { - "delete_message_seconds": { - "type": "integer" - }, - "delete_message_days": { - "type": "integer" }, - "reason": { - "type": "string" - } - } - }, - "BanModeratorSchema": { - "type": "object", - "properties": { - "id": { - "type": "string" + "bot_public": { + "type": "boolean" }, - "user_id": { - "type": "string" + "bot_require_code_grant": { + "type": "boolean" }, - "guild_id": { - "type": "string" + "flags": { + "type": "integer" }, - "executor_id": { + "custom_install_url": { "type": "string" }, - "reason": { + "guild_id": { "type": "string" } - }, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ] + } }, - "BanRegistrySchema": { + "SendableApplicationCommandDataSchema": { "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_id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "executor_id": { - "type": "string" + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, - "ip": { + "name": { "type": "string" }, - "reason": { - "type": "string" - } - }, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ] - }, - "BotModifySchema": { - "type": "object", - "properties": { - "avatar": { + "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" }, - "username": { - "type": "string" + "application_command": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - "banner": { - "type": "string" - } - } - }, - "BulkBanSchema": { - "type": "object", - "properties": { - "user_ids": { + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/ApplicationCommandOption" } }, - "delete_message_seconds": { - "type": "integer" - } - }, - "required": [ - "user_ids" - ] - }, - "BulkDeleteSchema": { - "type": "object", - "properties": { - "messages": { + "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": "string" + "type": "object", + "properties": {}, + "additionalProperties": true } } }, "required": [ - "messages" + "id", + "name", + "version" ] }, - "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, @@ -608,742 +525,813 @@ ], "type": "number" }, - "topic": { + "type": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "custom_id": { "type": "string" }, - "icon": { - "type": "string", - "nullable": true + "values": { + "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" }, - "bitrate": { - "type": "integer" + "custom_id": { + "type": "string" }, - "user_limit": { + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UploadAttachmentRequestSchema" + } + } + }, + "required": [ + "custom_id", + "id" + ] + }, + "InstanceUserDeleteSchema": { + "$ref": "#/components/schemas/InstanceUserDeleteSchemaContent" + }, + "UserSettingsUpdateSchema": { + "type": "object", + "properties": { + "afk_timeout": { "type": "integer" }, - "rate_limit_per_user": { - "type": "integer" + "allow_accessibility_detection": { + "type": "boolean" }, - "position": { + "animate_emoji": { + "type": "boolean" + }, + "animate_stickers": { "type": "integer" }, - "invitable": { + "contact_sync_enabled": { "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": { - "type": "array", - "items": { - "type": "string" - } - }, - "parent_id": { - "type": "string" + "convert_emoticons": { + "type": "boolean" }, - "id": { - "type": "string" + "custom_status": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomStatus" + }, + { + "type": "null" + } + ] }, - "nsfw": { + "default_guilds_restricted": { "type": "boolean" }, - "rtc_region": { - "type": "string" + "detect_platform_accounts": { + "type": "boolean" }, - "default_auto_archive_duration": { - "type": "integer" + "developer_mode": { + "type": "boolean" }, - "default_reaction_emoji": { - "type": "string", - "nullable": true + "disable_games_tab": { + "type": "boolean" }, - "flags": { - "type": "integer" + "enable_tts_command": { + "type": "boolean" }, - "default_thread_rate_limit_per_user": { + "explicit_content_filter": { "type": "integer" }, - "video_quality_mode": { + "friend_discovery_flags": { "type": "integer" }, - "auto_archive_duration": { - "type": "integer" + "friend_source_flags": { + "$ref": "#/components/schemas/FriendSourceFlags" }, - "archived": { + "gateway_connected": { "type": "boolean" }, - "locked": { + "gif_auto_play": { "type": "boolean" }, - "available_tags": { + "guild_folders": { "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" - ] + "$ref": "#/components/schemas/GuildFolder" } - } - } - }, - "ChannelPermissionOverwriteSchema": { - "type": "object", - "properties": { - "allow": { - "type": "string" - }, - "deny": { - "type": "string" }, - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/ChannelPermissionOverwriteType" - } - }, - "required": [ - "allow", - "deny", - "id", - "type" - ] - }, - "ChannelReorderSchema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { + "guild_positions": { + "type": "array", + "items": { "type": "string" - }, - "position": { - "type": "integer" - }, - "lock_permissions": { - "type": "boolean" - }, - "parent_id": { - "type": [ - "null", - "string" - ] } }, - "additionalProperties": false, - "required": [ - "id" - ] - } - }, - "CodesVerificationSchema": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "nonce": { - "type": "string" - }, - "regenerate": { + "inline_attachment_media": { "type": "boolean" - } - }, - "required": [ - "key", - "nonce" - ] - }, - "ConnectedAccountSchema": { - "type": "object", - "properties": { - "external_id": { - "type": "string" }, - "user_id": { - "type": "string" - }, - "token_data": { - "$ref": "#/components/schemas/ConnectedAccountTokenData" - }, - "friend_sync": { + "inline_embed_media": { "type": "boolean" }, - "name": { + "locale": { "type": "string" }, - "revoked": { + "message_display_compact": { "type": "boolean" }, - "show_activity": { - "type": "integer" - }, - "type": { - "type": "string" + "native_phone_integration_enabled": { + "type": "boolean" }, - "verified": { + "render_embeds": { "type": "boolean" }, - "visibility": { - "type": "integer" + "render_reactions": { + "type": "boolean" }, - "integrations": { + "restricted_guilds": { "type": "array", "items": { "type": "string" } }, - "metadata_": {}, - "metadata_visibility": { - "type": "integer" - }, - "two_way_link": { + "show_current_game": { "type": "boolean" - } - }, - "required": [ - "external_id", - "name", - "type", - "user_id" - ] - }, - "ConnectedAccountCommonOAuthTokenResponse": { - "type": "object", - "properties": { - "access_token": { - "type": "string" }, - "token_type": { + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "scope": { - "type": "string" + "stream_notifications_enabled": { + "type": "boolean" }, - "refresh_token": { + "theme": { + "enum": [ + "dark", + "light" + ], "type": "string" }, - "expires_in": { + "timezone_offset": { "type": "integer" + }, + "view_nsfw_guilds": { + "type": "boolean" } - }, - "required": [ - "access_token", - "scope", - "token_type" - ] + } }, - "ConnectionCallbackSchema": { + "UserSettingsSchema": { "type": "object", "properties": { - "code": { - "type": "string" + "afk_timeout": { + "type": "integer" }, - "state": { - "type": "string" + "allow_accessibility_detection": { + "type": "boolean" }, - "insecure": { + "animate_emoji": { "type": "boolean" }, - "friend_sync": { + "animate_stickers": { + "type": "integer" + }, + "contact_sync_enabled": { "type": "boolean" }, - "openid_params": {} - }, - "required": [ - "friend_sync", - "insecure", - "state" - ] - }, - "ConnectionUpdateSchema": { - "type": "object", - "properties": { - "visibility": { + "convert_emoticons": { "type": "boolean" }, - "show_activity": { + "custom_status": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomStatus" + }, + { + "type": "null" + } + ] + }, + "default_guilds_restricted": { "type": "boolean" }, - "metadata_visibility": { + "detect_platform_accounts": { "type": "boolean" - } - } - }, - "DmChannelCreateSchema": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "recipients": { + "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": "#/components/schemas/FriendSourceFlags" + }, + "gateway_connected": { + "type": "boolean" + }, + "gif_auto_play": { + "type": "boolean" + }, + "guild_folders": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildFolder" + } + }, + "guild_positions": { "type": "array", "items": { "type": "string" } }, - "recipient_id": { + "inline_attachment_media": { + "type": "boolean" + }, + "inline_embed_media": { + "type": "boolean" + }, + "locale": { "type": "string" }, - "access_tokens": { + "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" } - } - } - }, - "EmailDomainLookupSchema": { - "type": "object", - "properties": { - "allow_multiple_guilds": { + }, + "show_current_game": { "type": "boolean" }, - "email": { + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "use_verification_code": { + "stream_notifications_enabled": { "type": "boolean" }, - "guild_id": { + "theme": { + "enum": [ + "dark", + "light" + ], "type": "string" + }, + "timezone_offset": { + "type": "integer" + }, + "view_nsfw_guilds": { + "type": "boolean" } }, "required": [ - "allow_multiple_guilds", - "email", - "use_verification_code" + "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" ] }, - "EmailDomainLookupVerifyCodeSchema": { + "GuildProfileResponse": { "type": "object", "properties": { - "email": { + "id": { "type": "string" }, - "guild_id": { + "name": { "type": "string" }, - "code": { - "type": "string" - } - }, - "required": [ - "code", - "email", - "guild_id" - ] - }, - "EmojiCreateSchema": { - "type": "object", - "properties": { - "name": { + "icon_hash": { + "type": "string", + "nullable": true + }, + "member_count": { + "type": "integer" + }, + "online_count": { + "type": "integer" + }, + "description": { "type": "string" }, - "image": { + "brand_color_primary": { "type": "string" }, - "require_colons": { - "type": "boolean", + "banner_hash": { + "type": "string", "nullable": true }, - "roles": { + "game_application_ids": { "type": "array", "items": { "type": "string" } - } - }, - "required": [ - "image" - ] - }, - "EmojiModifySchema": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" + "game_activity": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GameActivity" } - } - } - }, - "ForgotPasswordSchema": { - "type": "object", - "properties": { - "login": { + }, + "tag": { + "type": "string", + "nullable": true + }, + "badge": { + "$ref": "#/components/schemas/GuildBadgeType" + }, + "badge_color_primary": { "type": "string" }, - "captcha_key": { + "badge_color_secondary": { "type": "string" - } - }, - "required": [ - "login" - ] - }, - "GreetRequestSchema": { - "type": "object", - "properties": { - "sticker_ids": { + }, + "badge_hash": { + "type": "string" + }, + "traits": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildTrait" + } + }, + "features": { "type": "array", "items": { "type": "string" } }, - "allowed_mentions": { - "$ref": "#/components/schemas/AllowedMentions" + "visibility": { + "$ref": "#/components/schemas/GuildVisibilityLevel" }, - "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" - ] + "custom_banner_hash": { + "type": "string", + "nullable": true + }, + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" } }, "required": [ - "sticker_ids" + "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" ] }, - "GuildCreateSchema": { + "GuildAvailableSchema": { "type": "object", "properties": { - "name": { - "maxLength": 100, - "type": "string" - }, - "region": { - "type": "string" - }, - "icon": { - "type": "string", - "nullable": true - }, - "channels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ChannelCreateSchema" - } - }, - "system_channel_id": { - "type": "string" - }, - "rules_channel_id": { - "type": "string" - }, - "guild_template_code": { + "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" }, - "staff_only": { + "available": { "type": "boolean" } - } - }, - "GuildSubscriptionsBulkSchema": { - "type": "object", - "properties": { - "subscriptions": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GuildSubscriptionSchema" - } - } }, "required": [ - "subscriptions" + "available", + "id" ] }, - "GuildSubscriptionSchema": { + "StickersResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StickerResponse" + } + }, + "StickerResponse": { "type": "object", "properties": { - "channels": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "array", - "items": { - "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" }, - "activities": { - "type": "boolean" + "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" }, - "threads": { - "type": "boolean" + "name": { + "type": "string" }, - "typing": { - "const": true, - "type": "boolean" + "description": { + "type": "string", + "nullable": true }, - "members": { - "type": "array", - "items": { - "type": "string" - } + "tags": { + "type": "string" }, - "member_updates": { + "type": { + "$ref": "#/components/schemas/StickerType" + }, + "format_type": { + "$ref": "#/components/schemas/StickerFormatType" + }, + "available": { "type": "boolean" }, - "thread_member_lists": { - "type": "array", - "items": {} - } - } - }, - "GuildTemplateCreateSchema": { - "type": "object", - "properties": { - "name": { + "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" }, - "icon": { - "type": "string", - "nullable": true + "user": { + "$ref": "#/components/schemas/PartialUser" + }, + "sort_value": { + "type": "integer" } }, "required": [ - "name" + "description", + "format_type", + "id", + "name", + "tags", + "type" ] }, - "GuildUpdateSchema": { + "CreateReportSchema": { "type": "object", "properties": { - "banner": { - "type": "string", - "nullable": true + "version": { + "type": "string" }, - "splash": { - "type": "string", - "nullable": true + "variant": { + "type": "string" }, - "description": { + "name": { "type": "string" }, - "features": { + "language": { + "type": "string" + }, + "breadcrumbs": { "type": "array", "items": { - "type": "string" + "type": "integer" } }, - "verification_level": { - "type": "integer" - }, - "default_message_notifications": { - "type": "integer" - }, - "system_channel_flags": { - "type": "integer" + "elements": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } }, - "explicit_content_filter": { - "type": "integer" + "channel_id": { + "type": "string" }, - "public_updates_channel_id": { + "message_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" + "guild_id": { + "type": "string" }, - "afk_channel_id": { + "stage_instance_id": { "type": "string" }, - "preferred_locale": { + "guild_scheduled_event_id": { "type": "string" }, - "premium_progress_bar_enabled": { - "type": "boolean" + "reported_user_id": { + "type": "string" }, - "discovery_splash": { + "application_id": { "type": "string" }, - "safety_alerts_channel_id": { - "type": "string", - "nullable": true - }, - "name": { - "maxLength": 100, + "user_id": { "type": "string" }, - "region": { + "widget_id": { "type": "string" - }, - "icon": { - "type": "string", - "nullable": true - }, - "system_channel_id": { + } + }, + "required": [ + "breadcrumbs", + "language", + "name", + "variant", + "version" + ] + }, + "IdentifySchema": { + "type": "object", + "properties": { + "token": { "type": "string" }, - "rules_channel_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 }, - "guild_template_code": { - "type": "string" + "intents": { + "type": "number" }, - "staff_only": { + "presence": { + "$ref": "#/components/schemas/ActivitySchema" + }, + "compress": { "type": "boolean" - } - } - }, - "GuildUpdateWelcomeScreenSchema": { - "type": "object", - "properties": { - "welcome_channels": { + }, + "large_threshold": { + "type": "integer" + }, + "largeThreshold": { + "type": "integer" + }, + "shard": { + "minItems": 2, + "maxItems": 2, "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" - ] + "type": "number" } }, - "enabled": { + "guild_subscriptions": { "type": "boolean" }, - "description": { - "type": "string" + "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": [ + "properties", + "token" + ] }, - "HubWaitlistSignupSchema": { + "StreamCreateSchema": { "type": "object", "properties": { - "email": { + "type": { + "enum": [ + "call", + "guild" + ], "type": "string" }, - "school": { + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "preferred_region": { "type": "string" } }, "required": [ - "email", - "school" + "channel_id", + "type" ] }, - "InviteCreateSchema": { + "StreamDeleteSchema": { "type": "object", "properties": { - "target_user_id": { + "stream_key": { "type": "string" - }, - "target_type": { + } + }, + "required": [ + "stream_key" + ] + }, + "StreamWatchSchema": { + "type": "object", + "properties": { + "stream_key": { "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" } - } + }, + "required": [ + "stream_key" + ] }, "APIErrorResponse": { "type": "object", @@ -1809,6 +1797,10 @@ "region": { "type": "string" }, + "banner": { + "type": "string", + "nullable": true + }, "icon": { "type": "string", "nullable": true @@ -1825,10 +1817,6 @@ "staff_only": { "type": "boolean" }, - "banner": { - "type": "string", - "nullable": true - }, "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,2507 +2633,2306 @@ "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" + "webhooks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Webhook" + } }, - "data": {} - }, - "required": [ - "data", - "type" - ] - }, - "InteractionCallbacksSchema": { - "anyOf": [ - { - "$ref": "#/components/schemas/PongCallback" + "member_count": { + "type": "integer" }, - { - "$ref": "#/components/schemas/AckCallback" + "get_annotations": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/components/schemas/MessageCallback" + "clean_data": { + "type": "object", + "additionalProperties": false }, - { - "$ref": "#/components/schemas/MessageWSourceCallback" + "channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } }, - { - "$ref": "#/components/schemas/MessageDWSourceCallback" + "system_channel_id": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/MessageUpdateCallback" + "rules_channel_id": { + "type": "string", + "nullable": true }, - { - "$ref": "#/components/schemas/MessageDUpdateCallback" - } - ] - }, - "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```", + "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": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "ApplicationModifySchema": { - "type": "object", - "properties": { - "description": { - "type": "string" + "premium_tier": { + "type": "integer" }, - "icon": { - "type": "string" + "unavailable": { + "type": "boolean" }, - "cover_image": { - "type": "string" + "welcome_screen": { + "$ref": "#/components/schemas/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." }, - "interactions_endpoint_url": { + "widget_channel_id": { "type": "string" }, - "max_participants": { - "type": "integer", - "nullable": true - }, - "name": { - "type": "string" + "widget_enabled": { + "type": "boolean" }, - "privacy_policy_url": { - "type": "string" + "nsfw_level": { + "type": "integer" }, - "role_connections_verification_url": { - "type": "string" + "permissions": { + "type": "integer" }, - "tags": { + "channel_ordering": { "type": "array", "items": { "type": "string" } }, - "terms_of_service_url": { - "type": "string" - }, - "bot_public": { - "type": "boolean" - }, - "bot_require_code_grant": { - "type": "boolean" - }, - "flags": { + "discovery_weight": { "type": "integer" }, - "custom_install_url": { - "type": "string" - }, - "guild_id": { - "type": "string" + "discovery_excluded": { + "type": "boolean" } - } + }, + "required": [ + "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" + ] }, - "SendableApplicationCommandDataSchema": { + "APIPublicUser": { "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" }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" + "premium_since": { + "type": "string", + "format": "date-time" }, - "name": { + "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": "#/components/schemas/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": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - } - }, - "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" + "username": { + "type": "string" }, - "custom_id": { + "discriminator": { "type": "string" }, - "values": { + "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": { + "$ref": "#/components/schemas/DisplayNameStyle" + }, + "collectibles": { + "$ref": "#/components/schemas/Collectibles" + }, + "primary_guild": { + "$ref": "#/components/schemas/PrimaryGuild" } }, "required": [ - "custom_id" + "bio", + "bot", + "discriminator", + "id", + "premium_since", + "premium_type", + "public_flags", + "username" ] }, - "SendableModalSubmitDataSchema": { + "APIPrivateUser": { "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```", + "email": { "type": "string" }, - "custom_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" }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UploadAttachmentRequestSchema" - } - } - }, - "required": [ - "custom_id", - "id" - ] - }, - "InstanceUserDeleteSchema": { - "$ref": "#/components/schemas/InstanceUserDeleteSchemaContent" - }, - "UserSettingsUpdateSchema": { - "type": "object", - "properties": { - "afk_timeout": { + "flags": { "type": "integer" }, - "allow_accessibility_detection": { - "type": "boolean" - }, - "animate_emoji": { + "verified": { "type": "boolean" }, - "animate_stickers": { - "type": "integer" - }, - "contact_sync_enabled": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "convert_emoticons": { - "type": "boolean" + "avatar": { + "type": "string" }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/components/schemas/CustomStatus" - }, - { - "type": "null" - } - ] + "banner": { + "type": "string" }, - "default_guilds_restricted": { - "type": "boolean" + "bio": { + "type": "string" }, - "detect_platform_accounts": { - "type": "boolean" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "developer_mode": { - "type": "boolean" + "pronouns": { + "type": "string" }, - "disable_games_tab": { - "type": "boolean" + "username": { + "type": "string" }, - "enable_tts_command": { - "type": "boolean" + "discriminator": { + "type": "string" }, - "explicit_content_filter": { + "public_flags": { "type": "integer" }, - "friend_discovery_flags": { + "accent_color": { "type": "integer" }, - "friend_source_flags": { - "$ref": "#/components/schemas/FriendSourceFlags" - }, - "gateway_connected": { - "type": "boolean" - }, - "gif_auto_play": { + "bot": { "type": "boolean" }, - "guild_folders": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GuildFolder" - } + "premium_type": { + "type": "integer" }, - "guild_positions": { + "badge_ids": { "type": "array", "items": { "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" + "avatar_decoration_data": { + "$ref": "#/components/schemas/AvatarDecorationData" }, - "render_embeds": { - "type": "boolean" + "display_name_styles": { + "$ref": "#/components/schemas/DisplayNameStyle" }, - "render_reactions": { - "type": "boolean" + "collectibles": { + "$ref": "#/components/schemas/Collectibles" }, - "restricted_guilds": { - "type": "array", - "items": { - "type": "string" - } + "primary_guild": { + "$ref": "#/components/schemas/PrimaryGuild" }, - "show_current_game": { + "mfa_enabled": { "type": "boolean" }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], + "phone": { "type": "string" }, - "stream_notifications_enabled": { + "nsfw_allowed": { "type": "boolean" }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "premium": { + "type": "boolean" }, - "timezone_offset": { + "purchased_flags": { "type": "integer" }, - "view_nsfw_guilds": { - "type": "boolean" - } - } - }, - "UserSettingsSchema": { - "type": "object", - "properties": { - "afk_timeout": { + "premium_usage_flags": { "type": "integer" }, - "allow_accessibility_detection": { - "type": "boolean" - }, - "animate_emoji": { + "disabled": { "type": "boolean" }, - "animate_stickers": { - "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" - }, - "detect_platform_accounts": { - "type": "boolean" - }, - "developer_mode": { - "type": "boolean" + "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" + ] + }, + "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": { + "type": "object", + "properties": { + "newToken": { + "type": "string" }, - "disable_games_tab": { - "type": "boolean" + "email": { + "type": "string" }, - "enable_tts_command": { - "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" }, - "explicit_content_filter": { + "flags": { "type": "integer" }, - "friend_discovery_flags": { - "type": "integer" + "verified": { + "type": "boolean" }, - "friend_source_flags": { - "$ref": "#/components/schemas/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": "#/components/schemas/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": { + "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" }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], + "phone": { "type": "string" }, - "stream_notifications_enabled": { + "nsfw_allowed": { "type": "boolean" }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "premium": { + "type": "boolean" }, - "timezone_offset": { + "purchased_flags": { "type": "integer" }, - "view_nsfw_guilds": { + "premium_usage_flags": { + "type": "integer" + }, + "disabled": { "type": "boolean" + }, + "settings": { + "$ref": "#/components/schemas/UserSettingsSchema" } }, "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" + "bio", + "bot", + "disabled", + "discriminator", + "flags", + "id", + "mfa_enabled", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "username", + "verified" ] }, - "GuildProfileResponse": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "icon_hash": { - "type": "string", - "nullable": true - }, - "member_count": { - "type": "integer" - }, - "online_count": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "brand_color_primary": { - "type": "string" - }, - "banner_hash": { - "type": "string", - "nullable": true - }, - "game_application_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "game_activity": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GameActivity" - } + "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" }, - "tag": { + "serverName": { "type": "string", + "default": null, "nullable": true }, - "badge": { - "$ref": "#/components/schemas/GuildBadgeType" - }, - "badge_color_primary": { - "type": "string" - }, - "badge_color_secondary": { - "type": "string" - }, - "badge_hash": { - "type": "string" + "instanceDescription": { + "type": "string", + "default": "This is a Spacebar instance made in the pre-release days", + "nullable": true }, - "traits": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GuildTrait" - } + "frontPage": { + "type": "string", + "default": null, + "nullable": true }, - "features": { - "type": "array", - "items": { - "type": "string" - } + "tosPage": { + "type": "string", + "default": null, + "nullable": true }, - "visibility": { - "$ref": "#/components/schemas/GuildVisibilityLevel" + "correspondenceEmail": { + "type": "string", + "default": null, + "nullable": true }, - "custom_banner_hash": { + "correspondenceUserID": { "type": "string", + "default": null, "nullable": true }, - "premium_subscription_count": { - "type": "integer" + "image": { + "type": "string", + "default": null, + "nullable": true }, - "premium_tier": { - "type": "integer" - } - }, - "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" - ] - }, - "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```", + "instanceId": { "type": "string" }, - "available": { - "type": "boolean" + "autoCreateBotUsers": { + "type": "boolean", + "default": false } }, "required": [ - "available", - "id" + "autoCreateBotUsers", + "correspondenceEmail", + "correspondenceUserID", + "frontPage", + "image", + "instanceDescription", + "instanceId", + "instanceName", + "serverName", + "tosPage" ] }, - "StickersResponse": { + "APIChannelArray": { "type": "array", "items": { - "$ref": "#/components/schemas/StickerResponse" + "$ref": "#/components/schemas/Channel" } }, - "StickerResponse": { + "APIMemberArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Member" + } + }, + "APIPublicMember": { "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" }, - "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```", + "guild_id": { "type": "string" }, - "name": { + "flags": { + "type": "integer" + }, + "nick": { "type": "string" }, - "description": { + "joined_at": { "type": "string", - "nullable": true + "format": "date-time" }, - "tags": { + "pending": { + "type": "boolean" + }, + "deaf": { + "type": "boolean" + }, + "mute": { + "type": "boolean" + }, + "premium_since": { + "type": "integer" + }, + "avatar": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/StickerType" + "banner": { + "type": "string" }, - "format_type": { - "$ref": "#/components/schemas/StickerFormatType" + "bio": { + "type": "string" }, - "available": { - "type": "boolean" + "theme_colors": { + "type": "array", + "items": { + "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```", + "pronouns": { "type": "string" }, + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, "user": { - "$ref": "#/components/schemas/PartialUser" + "$ref": "#/components/schemas/PublicUser" }, - "sort_value": { - "type": "integer" + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "description", - "format_type", + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", "id", - "name", - "tags", - "type" + "joined_at", + "mute", + "pending", + "roles", + "user" ] }, - "CreateReportSchema": { + "APIGuildWithJoinedAt": { "type": "object", "properties": { - "version": { + "joined_at": { "type": "string" }, - "variant": { + "id": { "type": "string" }, "name": { "type": "string" }, - "language": { - "type": "string" + "large": { + "type": "boolean" }, - "breadcrumbs": { - "type": "array", - "items": { - "type": "integer" - } + "max_members": { + "type": "integer" }, - "elements": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "max_presences": { + "type": "integer" }, - "channel_id": { + "max_video_channel_users": { + "type": "integer" + }, + "member_count": { + "type": "integer" + }, + "presence_count": { + "type": "integer" + }, + "mfa_level": { + "type": "integer" + }, + "owner_id": { "type": "string" }, - "message_id": { + "premium_subscription_count": { + "type": "integer" + }, + "premium_tier": { + "type": "integer" + }, + "welcome_screen": { + "$ref": "#/components/schemas/GuildWelcomeScreen" + }, + "widget_channel_id": { "type": "string" }, - "guild_id": { + "widget_enabled": { + "type": "boolean" + }, + "nsfw_level": { + "type": "integer" + }, + "nsfw": { + "type": "boolean" + }, + "parent": { "type": "string" }, - "stage_instance_id": { + "region": { "type": "string" }, - "guild_scheduled_event_id": { + "banner": { + "type": "string", + "nullable": true + }, + "icon": { + "type": "string", + "nullable": true + }, + "system_channel_id": { "type": "string" }, - "reported_user_id": { + "rules_channel_id": { "type": "string" }, - "application_id": { + "guild_template_code": { "type": "string" }, - "user_id": { + "staff_only": { + "type": "boolean" + }, + "splash": { + "type": "string", + "nullable": true + }, + "description": { "type": "string" }, - "widget_id": { + "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": "string", + "nullable": true } }, "required": [ - "breadcrumbs", - "language", + "id", + "joined_at", "name", - "variant", - "version" + "nsfw", + "welcome_screen", + "widget_enabled" ] }, - "IdentifySchema": { + "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": { - "token": { - "type": "string" + "user": { + "$ref": "#/components/schemas/UserLimits" }, - "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 + "guild": { + "$ref": "#/components/schemas/GuildLimits" }, - "intents": { - "type": "number" + "message": { + "$ref": "#/components/schemas/MessageLimits" }, - "presence": { - "$ref": "#/components/schemas/ActivitySchema" + "channel": { + "$ref": "#/components/schemas/ChannelLimits" }, - "compress": { - "type": "boolean" + "rate": { + "$ref": "#/components/schemas/RateLimits" }, - "large_threshold": { - "type": "integer" + "absoluteRate": { + "$ref": "#/components/schemas/GlobalRateLimits" + } + }, + "required": [ + "absoluteRate", + "channel", + "guild", + "message", + "rate", + "user" + ] + }, + "APIConnectionsConfiguration": { + "type": "object" + }, + "UpdatesResponse": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "largeThreshold": { - "type": "integer" + "pub_date": { + "type": "string" }, - "shard": { - "minItems": 2, - "maxItems": 2, + "url": { + "type": "string" + }, + "notes": { + "type": "string", + "nullable": true + } + }, + "required": [ + "name", + "notes", + "pub_date", + "url" + ] + }, + "UploadAttachmentResponseSchema": { + "type": "object", + "properties": { + "attachments": { "type": "array", "items": { - "type": "number" + "$ref": "#/components/schemas/UploadAttachmentResponse" } - }, - "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": [ - "properties", - "token" + "attachments" ] }, - "StreamCreateSchema": { + "UploadAttachmentResponse": { "type": "object", "properties": { - "type": { - "enum": [ - "call", - "guild" - ], + "id": { "type": "string" }, - "channel_id": { + "upload_url": { "type": "string" }, - "guild_id": { + "upload_filename": { "type": "string" }, - "preferred_region": { + "original_content_type": { "type": "string" } }, "required": [ - "channel_id", - "type" + "upload_filename", + "upload_url" ] }, - "StreamDeleteSchema": { + "UserNoteResponse": { "type": "object", "properties": { - "stream_key": { + "note": { "type": "string" - } - }, - "required": [ - "stream_key" - ] - }, - "StreamWatchSchema": { - "type": "object", - "properties": { - "stream_key": { + }, + "note_user_id": { + "type": "string" + }, + "user_id": { "type": "string" } }, "required": [ - "stream_key" + "note", + "note_user_id", + "user_id" ] }, - "VoiceIdentifySchema": { + "UserProfileResponse": { "type": "object", "properties": { - "server_id": { - "type": "string" - }, - "user_id": { - "type": "string" - }, - "session_id": { - "type": "string" + "user": { + "$ref": "#/components/schemas/PublicUser" }, - "channel_id": { - "type": "string" + "connected_accounts": { + "$ref": "#/components/schemas/PublicConnectedAccount" }, - "token": { - "type": "string" + "premium_guild_since": { + "type": "string", + "format": "date-time" }, - "video": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "streams": { + "mutual_guilds": { "type": "array", "items": { "type": "object", "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], + "id": { "type": "string" }, - "rid": { + "nick": { "type": "string" - }, - "quality": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "quality", - "rid", - "type" + "id" ] } }, - "max_secure_frames_version": { + "premium_type": { "type": "integer" }, - "max_dave_protocol_version": { + "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": [ - "server_id", - "session_id", - "token", - "user_id" + "badges", + "connected_accounts", + "mutual_guilds", + "premium_type", + "profile_themes_experiment_bucket", + "user", + "user_profile" ] }, - "VoiceVideoSchema": { + "UserRelationResponse": { "type": "object", "properties": { - "audio_ssrc": { - "type": "integer" + "id": { + "type": "string" }, - "video_ssrc": { - "type": "integer" + "username": { + "type": "string" }, - "rtx_ssrc": { - "type": "integer" + "discriminator": { + "type": "string" }, - "user_id": { + "avatar": { "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" - ] - } + "public_flags": { + "type": "integer" } }, "required": [ - "audio_ssrc", - "video_ssrc" + "discriminator", + "id", + "public_flags", + "username" ] }, - "APIGuild": { + "UserRelationsResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserRelationResponse" + } + }, + "UserRelationshipsResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "region": { - "type": "string" - }, - "insert": { - "type": "object", - "additionalProperties": false - }, "id": { "type": "string" }, - "channels": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } + "type": { + "$ref": "#/components/schemas/RelationshipType" }, - "members": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - } + "nickname": { + "type": "null" }, - "icon": { + "user": { + "$ref": "#/components/schemas/PublicUser" + } + }, + "required": [ + "id", + "nickname", + "type", + "user" + ] + }, + "WebAuthnCreateResponse": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "system_channel_id": { - "type": "string", - "nullable": true - }, - "rules_channel_id": { - "type": "string", - "nullable": true - }, - "banner": { + "id": { "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "WebhookCreateResponse": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/User" }, - "splash": { - "type": "string" + "hook": { + "$ref": "#/components/schemas/Webhook" + } + }, + "required": [ + "hook", + "user" + ] + }, + "ActivitySchema": { + "type": "object", + "properties": { + "afk": { + "type": "boolean" }, - "description": { - "type": "string" + "status": { + "$ref": "#/components/schemas/Status" }, - "features": { + "activities": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/Activity" } }, - "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", - "nullable": true - }, - "afk_timeout": { + "since": { "type": "integer" - }, - "afk_channel_id": { - "type": "string", - "nullable": true - }, - "preferred_locale": { - "type": "string" - }, - "premium_progress_bar_enabled": { + } + }, + "required": [ + "status" + ] + }, + "ApplicationAuthorizeSchema": { + "type": "object", + "properties": { + "authorize": { "type": "boolean" }, - "discovery_splash": { + "guild_id": { "type": "string" }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } + "permissions": { + "type": "string" }, - "parent": { + "captcha_key": { "type": "string" }, - "owner_id": { + "code": { + "minLength": 6, + "maxLength": 6, "type": "string" + } + }, + "required": [ + "authorize", + "guild_id", + "permissions" + ] + }, + "AutomodMentionSpamRuleSchema": { + "type": "object", + "properties": { + "mention_total_limit": { + "type": "integer" }, - "nsfw": { + "mention_raid_protection_enabled": { "type": "boolean" - }, - "invites": { + } + }, + "required": [ + "mention_raid_protection_enabled", + "mention_total_limit" + ] + }, + "AutomodSuspectedSpamRuleSchema": { + "type": "object" + }, + "AutomodCommonlyFlaggedWordsRuleSchema": { + "type": "object", + "properties": { + "allow_list": { "type": "array", - "items": { - "$ref": "#/components/schemas/Invite" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "voice_states": { + "presets": { "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceState" - } - }, - "webhooks": { + "items": [ + { + "type": "integer" + } + ], + "minItems": 1, + "maxItems": 1 + } + }, + "required": [ + "allow_list", + "presets" + ] + }, + "AutomodCustomWordsRuleSchema": { + "type": "object", + "properties": { + "allow_list": { "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - }, - "member_count": { - "type": "integer" - }, - "get_annotations": { - "type": "object", - "additionalProperties": false - }, - "clean_data": { - "type": "object", - "additionalProperties": false + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "bans": { + "keyword_filter": { "type": "array", - "items": { - "$ref": "#/components/schemas/Ban" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "primary_category_id": { + "regex_patterns": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 + } + }, + "required": [ + "allow_list", + "keyword_filter", + "regex_patterns" + ] + }, + "AutomodRuleSchema": { + "type": "object", + "properties": { + "creator_id": { "type": "string" }, - "large": { + "enabled": { "type": "boolean" }, - "max_members": { - "type": "integer" - }, - "max_presences": { + "event_type": { "type": "integer" }, - "max_video_channel_users": { - "type": "integer" + "exempt_channels": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "presence_count": { - "type": "integer" + "exempt_roles": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "template_id": { + "guild_id": { "type": "string" }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Emoji" - } - }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } + "name": { + "type": "string" }, - "mfa_level": { + "position": { "type": "integer" }, - "premium_subscription_count": { + "trigger_type": { "type": "integer" }, - "premium_tier": { + "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" }, - "unavailable": { - "type": "boolean" - }, - "welcome_screen": { - "$ref": "#/components/schemas/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." + "delete_message_days": { + "type": "integer" }, - "widget_channel_id": { + "reason": { + "type": "string" + } + } + }, + "BanModeratorSchema": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "widget_enabled": { - "type": "boolean" - }, - "nsfw_level": { - "type": "integer" - }, - "permissions": { - "type": "integer" + "user_id": { + "type": "string" }, - "channel_ordering": { - "type": "array", - "items": { - "type": "string" - } + "guild_id": { + "type": "string" }, - "discovery_weight": { - "type": "integer" + "executor_id": { + "type": "string" }, - "discovery_excluded": { - "type": "boolean" + "reason": { + "type": "string" } }, "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" ] }, - "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" + } + }, + "required": [ + "executor_id", + "guild_id", + "id", + "user_id" + ] + }, + "BotModifySchema": { + "type": "object", + "properties": { + "avatar": { "type": "string" }, "username": { "type": "string" }, - "discriminator": { + "banner": { "type": "string" + } + } + }, + "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": { + } + }, + "required": [ + "user_ids" + ] + }, + "BulkDeleteSchema": { + "type": "object", + "properties": { + "messages": { "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" } }, "required": [ - "bio", - "bot", - "discriminator", - "id", - "premium_since", - "premium_type", - "public_flags", - "username" + "messages" ] }, - "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```", + "name": { "type": "string" }, - "flags": { - "type": "integer" + "type": { + "enum": [ + 0, + 1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 2, + 255, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "number" }, - "banner": { + "topic": { "type": "string" }, - "verified": { - "type": "boolean" - }, - "premium_since": { + "icon": { "type": "string", - "format": "date-time" - }, - "avatar": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { - "type": "string" + "nullable": true }, - "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": "#/components/schemas/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": "#/components/schemas/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/components/schemas/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/components/schemas/Collectibles" + "parent_id": { + "type": "string" }, - "primary_guild": { - "$ref": "#/components/schemas/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": "string", + "nullable": true }, - "purchased_flags": { + "flags": { "type": "integer" }, - "premium_usage_flags": { + "default_thread_rate_limit_per_user": { "type": "integer" }, - "disabled": { - "type": "boolean" - }, - "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" - ] - }, - "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": { - "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```", - "type": "string" + "video_quality_mode": { + "type": "integer" }, - "flags": { + "auto_archive_duration": { "type": "integer" }, - "banner": { - "type": "string" + "archived": { + "type": "boolean" }, - "verified": { + "locked": { "type": "boolean" }, - "premium_since": { - "type": "string", - "format": "date-time" + "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" + ] + } + } + } + }, + "ChannelPermissionOverwriteSchema": { + "type": "object", + "properties": { + "allow": { + "type": "string" }, - "avatar": { + "deny": { "type": "string" }, - "bio": { + "id": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { + "type": { + "$ref": "#/components/schemas/ChannelPermissionOverwriteType" + } + }, + "required": [ + "allow", + "deny", + "id", + "type" + ] + }, + "ChannelReorderSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "position": { "type": "integer" + }, + "lock_permissions": { + "type": "boolean" + }, + "parent_id": { + "type": [ + "null", + "string" + ] } }, - "pronouns": { + "additionalProperties": false, + "required": [ + "id" + ] + } + }, + "CodesVerificationSchema": { + "type": "object", + "properties": { + "key": { "type": "string" }, - "username": { + "nonce": { "type": "string" }, - "discriminator": { + "regenerate": { + "type": "boolean" + } + }, + "required": [ + "key", + "nonce" + ] + }, + "ConnectedAccountSchema": { + "type": "object", + "properties": { + "external_id": { "type": "string" }, - "public_flags": { - "type": "integer" + "user_id": { + "type": "string" }, - "accent_color": { + "token_data": { + "$ref": "#/components/schemas/ConnectedAccountTokenData" + }, + "friend_sync": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "revoked": { + "type": "boolean" + }, + "show_activity": { "type": "integer" }, - "bot": { + "type": { + "type": "string" + }, + "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" - }, - "primary_guild": { - "$ref": "#/components/schemas/PrimaryGuild" + "metadata_": {}, + "metadata_visibility": { + "type": "integer" }, - "mfa_enabled": { + "two_way_link": { "type": "boolean" - }, - "phone": { + } + }, + "required": [ + "external_id", + "name", + "type", + "user_id" + ] + }, + "ConnectedAccountCommonOAuthTokenResponse": { + "type": "object", + "properties": { + "access_token": { "type": "string" }, - "nsfw_allowed": { - "type": "boolean" + "token_type": { + "type": "string" }, - "premium": { - "type": "boolean" + "scope": { + "type": "string" }, - "purchased_flags": { - "type": "integer" + "refresh_token": { + "type": "string" }, - "premium_usage_flags": { + "expires_in": { "type": "integer" - }, - "disabled": { - "type": "boolean" - }, - "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" + "access_token", + "scope", + "token_type" ] }, - "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": { + "ConnectionCallbackSchema": { "type": "object", "properties": { - "instanceName": { + "code": { "type": "string" }, - "serverName": { - "type": "string", - "nullable": true + "state": { + "type": "string" }, - "instanceDescription": { - "type": "string", - "nullable": true - }, - "frontPage": { - "type": "string", - "nullable": true - }, - "tosPage": { - "type": "string", - "nullable": true - }, - "correspondenceEmail": { - "type": "string", - "nullable": true - }, - "correspondenceUserID": { - "type": "string", - "nullable": true - }, - "image": { - "type": "string", - "nullable": true - }, - "instanceId": { - "type": "string" + "insecure": { + "type": "boolean" }, - "autoCreateBotUsers": { + "friend_sync": { "type": "boolean" - } + }, + "openid_params": {} }, "required": [ - "autoCreateBotUsers", - "correspondenceEmail", - "correspondenceUserID", - "frontPage", - "image", - "instanceDescription", - "instanceId", - "instanceName", - "serverName", - "tosPage" + "friend_sync", + "insecure", + "state" ] }, - "APIChannelArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Channel" - } - }, - "APIMemberArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Member" - } - }, - "APIPublicMember": { + "ConnectionUpdateSchema": { "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": { + "visibility": { "type": "boolean" }, - "deaf": { + "show_activity": { "type": "boolean" }, - "mute": { + "metadata_visibility": { "type": "boolean" - }, - "premium_since": { - "type": "integer" - }, - "avatar": { - "type": "string" - }, - "bio": { + } + } + }, + "DmChannelCreateSchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "theme_colors": { + "recipients": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "pronouns": { + "recipient_id": { "type": "string" }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "user": { - "$ref": "#/components/schemas/PublicUser" - }, - "roles": { + "access_tokens": { "type": "array", "items": { "type": "string" } } - }, - "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", - "id", - "joined_at", - "mute", - "pending", - "roles", - "user" - ] + } }, - "APIGuildWithJoinedAt": { + "EmailDomainLookupSchema": { "type": "object", "properties": { - "joined_at": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "large": { + "allow_multiple_guilds": { "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": "#/components/schemas/GuildWelcomeScreen" - }, - "widget_channel_id": { + "email": { "type": "string" }, - "widget_enabled": { - "type": "boolean" - }, - "nsfw_level": { - "type": "integer" - }, - "nsfw": { + "use_verification_code": { "type": "boolean" }, - "parent": { + "guild_id": { "type": "string" - }, - "region": { + } + }, + "required": [ + "allow_multiple_guilds", + "email", + "use_verification_code" + ] + }, + "EmailDomainLookupVerifyCodeSchema": { + "type": "object", + "properties": { + "email": { "type": "string" }, - "icon": { - "type": "string", - "nullable": true - }, - "system_channel_id": { + "guild_id": { "type": "string" }, - "rules_channel_id": { + "code": { "type": "string" - }, - "guild_template_code": { + } + }, + "required": [ + "code", + "email", + "guild_id" + ] + }, + "EmojiCreateSchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "staff_only": { - "type": "boolean" - }, - "banner": { - "type": "string", - "nullable": true + "image": { + "type": "string" }, - "splash": { - "type": "string", + "require_colons": { + "type": "boolean", "nullable": true }, - "description": { - "type": "string" - }, - "features": { + "roles": { "type": "array", "items": { "type": "string" } + } + }, + "required": [ + "image" + ] + }, + "EmojiModifySchema": { + "type": "object", + "properties": { + "name": { + "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": { + "roles": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ForgotPasswordSchema": { + "type": "object", + "properties": { + "login": { "type": "string" }, - "premium_progress_bar_enabled": { - "type": "boolean" - }, - "discovery_splash": { + "captcha_key": { "type": "string" - }, - "safety_alerts_channel_id": { - "type": "string", - "nullable": true } }, "required": [ - "id", - "joined_at", - "name", - "nsfw", - "welcome_screen", - "widget_enabled" + "login" ] }, - "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": { + "GreetRequestSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/UserLimits" - }, - "guild": { - "$ref": "#/components/schemas/GuildLimits" - }, - "message": { - "$ref": "#/components/schemas/MessageLimits" - }, - "channel": { - "$ref": "#/components/schemas/ChannelLimits" + "sticker_ids": { + "type": "array", + "items": { + "type": "string" + } }, - "rate": { - "$ref": "#/components/schemas/RateLimits" + "allowed_mentions": { + "$ref": "#/components/schemas/AllowedMentions" }, - "absoluteRate": { - "$ref": "#/components/schemas/GlobalRateLimits" + "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": [ - "absoluteRate", - "channel", - "guild", - "message", - "rate", - "user" + "sticker_ids" ] }, - "APIConnectionsConfiguration": { - "type": "object" - }, - "UpdatesResponse": { + "GuildCreateSchema": { "type": "object", "properties": { "name": { + "maxLength": 100, "type": "string" }, - "pub_date": { - "type": "string" - }, - "url": { + "region": { "type": "string" }, - "notes": { + "icon": { "type": "string", "nullable": true + }, + "channels": { + "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" } - }, - "required": [ - "name", - "notes", - "pub_date", - "url" - ] + } }, - "UploadAttachmentResponseSchema": { + "GuildSubscriptionsBulkSchema": { "type": "object", "properties": { - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UploadAttachmentResponse" + "subscriptions": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GuildSubscriptionSchema" } } }, "required": [ - "attachments" + "subscriptions" ] }, - "UploadAttachmentResponse": { + "GuildSubscriptionSchema": { "type": "object", "properties": { - "id": { - "type": "string" + "channels": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer" + } + } + } }, - "upload_url": { - "type": "string" + "members": { + "type": "array", + "items": { + "type": "string" + } }, - "upload_filename": { - "type": "string" + "activities": { + "type": "boolean" }, - "original_content_type": { - "type": "string" + "threads": { + "type": "boolean" + }, + "typing": { + "const": true, + "type": "boolean" + }, + "member_updates": { + "type": "boolean" + }, + "thread_member_lists": { + "type": "array", + "items": {} } - }, - "required": [ - "upload_filename", - "upload_url" - ] + } }, - "UserNoteResponse": { + "GuildTemplateCreateSchema": { "type": "object", "properties": { - "note": { - "type": "string" - }, - "note_user_id": { + "name": { "type": "string" }, - "user_id": { - "type": "string" + "icon": { + "type": "string", + "nullable": true } }, "required": [ - "note", - "note_user_id", - "user_id" + "name" ] }, - "UserProfileResponse": { + "GuildUpdateSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/PublicUser" - }, - "connected_accounts": { - "$ref": "#/components/schemas/PublicConnectedAccount" - }, - "premium_guild_since": { + "banner": { "type": "string", - "format": "date-time" + "nullable": true }, - "premium_since": { + "splash": { "type": "string", - "format": "date-time" + "nullable": true }, - "mutual_guilds": { + "description": { + "type": "string" + }, + "features": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "nick": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] + "type": "string" } }, - "premium_type": { + "verification_level": { "type": "integer" }, - "profile_themes_experiment_bucket": { + "default_message_notifications": { "type": "integer" }, - "user_profile": { - "$ref": "#/components/schemas/UserProfile" + "system_channel_flags": { + "type": "integer" }, - "guild_member": { - "$ref": "#/components/schemas/PublicMember" + "explicit_content_filter": { + "type": "integer" }, - "guild_member_profile": { - "$ref": "#/components/schemas/PublicMemberProfile" + "public_updates_channel_id": { + "type": "string" }, - "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": { + "afk_timeout": { + "type": "integer" + }, + "afk_channel_id": { "type": "string" }, - "username": { + "preferred_locale": { "type": "string" }, - "discriminator": { + "premium_progress_bar_enabled": { + "type": "boolean" + }, + "discovery_splash": { "type": "string" }, - "avatar": { + "safety_alerts_channel_id": { + "type": "string", + "nullable": true + }, + "name": { + "maxLength": 100, "type": "string" }, - "public_flags": { - "type": "integer" + "region": { + "type": "string" + }, + "icon": { + "type": "string", + "nullable": true + }, + "system_channel_id": { + "type": "string" + }, + "rules_channel_id": { + "type": "string" + }, + "guild_template_code": { + "type": "string" + }, + "staff_only": { + "type": "boolean" } - }, - "required": [ - "discriminator", - "id", - "public_flags", - "username" - ] - }, - "UserRelationsResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UserRelationResponse" } }, - "UserRelationshipsResponse": { + "GuildUpdateWelcomeScreenSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/RelationshipType" + "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" + ] + } }, - "nickname": { - "type": "null" + "enabled": { + "type": "boolean" }, - "user": { - "$ref": "#/components/schemas/PublicUser" + "description": { + "type": "string" } - }, - "required": [ - "id", - "nickname", - "type", - "user" - ] + } }, - "WebAuthnCreateResponse": { + "HubWaitlistSignupSchema": { "type": "object", "properties": { - "name": { + "email": { "type": "string" }, - "id": { + "school": { "type": "string" } }, "required": [ - "id", - "name" + "email", + "school" ] }, - "WebhookCreateResponse": { + "InviteCreateSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/User" + "target_user_id": { + "type": "string" }, - "hook": { - "$ref": "#/components/schemas/Webhook" + "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" } - }, - "required": [ - "hook", - "user" - ] + } }, "MFAResponse": { "type": "object", @@ -6223,6 +5919,20 @@ } } }, + "RoleMembersUpdateSchema": { + "type": "object", + "properties": { + "member_ids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "member_ids" + ] + }, "RolePositionUpdateSchema": { "type": "array", "items": { @@ -6994,13 +6704,7 @@ "name": { "type": "string" }, - "type": { - "enum": [ - 11, - 12 - ], - "type": "number" - }, + "type": {}, "invitable": { "type": "boolean" }, @@ -7021,9 +6725,7 @@ }, "embeds": { "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } + "items": {} }, "allowed_mentions": { "type": "object", @@ -7056,9 +6758,7 @@ "anyOf": [ { "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } + "items": {} }, { "type": "null" @@ -7295,39 +6995,261 @@ } } }, - "EmojisResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EmojiResponse" - } - }, - "EmojiResponse": { + "VoiceIdentifySchema": { "type": "object", "properties": { - "id": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true + "server_id": { + "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + "user_id": { + "type": "string" }, - "user": { - "$ref": "#/components/schemas/PartialUser" + "session_id": { + "type": "string" }, - "require_colons": { - "type": "boolean" + "channel_id": { + "type": "string" }, - "managed": { - "type": "boolean" + "token": { + "type": "string" }, - "animated": { + "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" + }, + "require_colons": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + }, + "animated": { "type": "boolean" }, "available": { @@ -7614,225 +7536,254 @@ "ErrorList": { "type": "object" }, - "Status": { + "InteractionCallbackType": { + "type": "number", "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online", - "unknown" - ], - "type": "string" - }, - "Activity": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/ActivityType" + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + }, + "PongCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.PONG" }, - "url": { + "data": {} + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.PONG": { + "type": "number", + "const": 1 + }, + "AckCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.ACKNOWLEDGE" + }, + "data": {} + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.ACKNOWLEDGE": { + "type": "number", + "const": 2 + }, + "MessageCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE" + }, + "data": {} + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.CHANNEL_MESSAGE": { + "type": "number", + "const": 3 + }, + "MessageWSourceCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" + }, + "data": { + "$ref": "#/components/schemas/InteractionMessage" + } + }, + "required": [ + "data", + "type" + ] + }, + "InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE": { + "type": "number", + "const": 4 + }, + "InteractionMessage": { + "type": "object", + "properties": { + "content": { "type": "string" }, - "created_at": { + "tts": { + "type": "boolean" + }, + "embeds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Embed" + } + }, + "allowed_mentions": { + "$ref": "#/components/schemas/AllowedMentions" + }, + "components": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BaseMessageComponents" + } + }, + "flags": { "type": "integer" }, - "timestamps": { - "type": "object", - "properties": { - "start": { - "type": "integer" - }, - "end": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "end", - "start" - ] + "attachments": { + "type": "array", + "items": {} }, - "application_id": { + "poll": {} + } + }, + "Embed": { + "type": "object", + "properties": { + "title": { "type": "string" }, - "details": { + "type": { + "enum": [ + "article", + "gifv", + "image", + "link", + "rich", + "video" + ], "type": "string" }, - "state": { + "description": { "type": "string" }, - "emoji": { + "url": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "color": { + "type": "integer" + }, + "footer": { "type": "object", "properties": { - "name": { + "text": { "type": "string" }, - "id": { + "icon_url": { "type": "string" }, - "animated": { - "type": "boolean" + "proxy_icon_url": { + "type": "string" } }, "additionalProperties": false, "required": [ - "animated", - "name" + "text" ] }, - "party": { + "image": { + "$ref": "#/components/schemas/EmbedImage" + }, + "thumbnail": { + "$ref": "#/components/schemas/EmbedImage" + }, + "video": { + "$ref": "#/components/schemas/EmbedImage" + }, + "provider": { "type": "object", "properties": { - "id": { + "name": { "type": "string" }, - "size": { - "type": "array", - "items": { - "type": "integer" - } + "url": { + "type": "string" } }, "additionalProperties": false }, - "assets": { + "author": { "type": "object", "properties": { - "large_image": { + "name": { "type": "string" }, - "large_text": { + "url": { "type": "string" }, - "small_image": { + "icon_url": { "type": "string" }, - "small_text": { + "proxy_icon_url": { "type": "string" } }, "additionalProperties": false }, - "secrets": { - "type": "object", - "properties": { - "join": { - "type": "string" - }, - "spectate": { - "type": "string" + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + }, + "inline": { + "type": "boolean" + } }, - "match": { - "type": "string" - } - }, - "additionalProperties": false - }, - "instance": { - "type": "boolean" - }, - "flags": { + "additionalProperties": false, + "required": [ + "name", + "value" + ] + } + } + } + }, + "EmbedImage": { + "type": "object", + "properties": { + "url": { "type": "string" }, - "id": { + "proxy_url": { "type": "string" }, - "sync_id": { - "type": "string" + "height": { + "type": "integer" }, - "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 - ] - }, - "ChannelPermissionOverwriteType": { - "type": "number", - "enum": [ - 0, - 1, - 2 - ] - }, - "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": { + "width": { "type": "integer" } - }, - "required": [ - "access_token", - "fetched_at" - ] + } }, "AllowedMentions": { "type": "object", @@ -7865,1160 +7816,802 @@ } } }, - "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" - } + "BaseMessageComponents": { + "anyOf": [ + { + "$ref": "#/components/schemas/SectionComponent" }, - "max_expiration_time": { - "type": "string" + { + "$ref": "#/components/schemas/TextDisplayComponent" }, - "flagged_content": { - "type": "array", - "items": {} + { + "$ref": "#/components/schemas/MediaGalleryComponent" }, - "appeal_status": { - "$ref": "#/components/schemas/AppealStatus" + { + "$ref": "#/components/schemas/FileComponent" }, - "is_coppa": { - "type": "boolean" + { + "$ref": "#/components/schemas/SeperatorComponent" }, - "is_spam": { - "type": "boolean" + { + "$ref": "#/components/schemas/ActionRowComponent" }, - "appeal_ingestion_type": { - "$ref": "#/components/schemas/AppealIngestionType" + { + "$ref": "#/components/schemas/ContainerComponent" } - }, - "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" - ] - }, - "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": { + "SectionComponent": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "action_type": { - "$ref": "#/components/schemas/ClassificationActionType" + "type": { + "$ref": "#/components/schemas/MessageComponentType.Section" }, - "descriptions": { + "components": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/TextDisplayComponent" } + }, + "accessory": { + "anyOf": [ + { + "$ref": "#/components/schemas/ThumbnailComponent" + }, + { + "$ref": "#/components/schemas/ButtonComponent" + } + ] + }, + "id": { + "type": "integer" } }, "required": [ - "action_type", - "descriptions", - "id" + "accessory", + "components", + "type" ] }, - "ClassificationActionType": { + "MessageComponentType.Section": { "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 20, - 22 - ] + "const": 9 }, - "AppealStatus": { + "TextDisplayComponent": { "type": "object", "properties": { - "status": { - "$ref": "#/components/schemas/AppealStatusValue" + "type": { + "$ref": "#/components/schemas/MessageComponentType.TextDisplay" + }, + "content": { + "type": "string" + }, + "id": { + "type": "integer" } }, "required": [ - "status" + "content", + "type" ] }, - "AppealStatusValue": { + "MessageComponentType.TextDisplay": { "type": "number", - "enum": [ - 1, - 2, - 3 - ] + "const": 10 }, - "AppealIngestionType": { - "type": "number", - "enum": [ - 0, - 1, - 2 + "ThumbnailComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.Thumbnail" + }, + "description": { + "type": "string" + }, + "media": { + "$ref": "#/components/schemas/UnfurledMediaItem" + }, + "spoiler": { + "type": "boolean" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "media", + "type" ] }, - "GuildClassification": { + "MessageComponentType.Thumbnail": { + "type": "number", + "const": 11 + }, + "UnfurledMediaItem": { "type": "object", "properties": { - "guild_metadata": { - "$ref": "#/components/schemas/GuildMetadata" - }, "id": { "type": "string" }, - "classification_type": { - "$ref": "#/components/schemas/ClassificationType" - }, - "description": { + "url": { "type": "string" }, - "explainer_link": { + "proxy_url": { "type": "string" }, - "actions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ClassificationAction" - } + "height": { + "type": "integer" }, - "max_expiration_time": { - "type": "string" + "width": { + "type": "integer" }, - "flagged_content": { - "type": "array", - "items": {} + "flags": { + "type": "integer" }, - "appeal_status": { - "$ref": "#/components/schemas/AppealStatus" + "content_type": { + "type": "string" }, - "is_coppa": { - "type": "boolean" + "content_scan_metadata": {}, + "placeholder_version": { + "type": "integer" }, - "is_spam": { - "type": "boolean" + "placeholder": { + "type": "string" }, - "appeal_ingestion_type": { - "$ref": "#/components/schemas/AppealIngestionType" + "loading_state": { + "type": "integer" + }, + "attachment_id": { + "type": "string" } }, "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "guild_metadata", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" + "url" ] }, - "GuildMetadata": { + "ButtonComponent": { "type": "object", "properties": { - "name": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.Button" + }, + "style": { + "$ref": "#/components/schemas/ButtonStyle" + }, + "label": { "type": "string" }, - "icon": { + "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" + ] + } + ] + }, + "custom_id": { "type": "string" }, - "member_type": { - "$ref": "#/components/schemas/GuildMemberType" + "sku_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "required": [ - "member_type", - "name" - ] - }, - "GuildMemberType": { - "type": "number", - "enum": [ - 1, - 2 + "style", + "type" ] }, - "AccountStandingState": { + "MessageComponentType.Button": { "type": "number", - "enum": [ - 100, - 200, - 300, - 400, - 500 - ] + "const": 2 }, - "AppealEligibility": { + "ButtonStyle": { "type": "number", "enum": [ 1, 2, - 3 + 3, + 4, + 5, + 6 ] }, - "CollectiblesCategoryItem": { + "MediaGalleryComponent": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "summary": { - "type": "string" + "type": { + "$ref": "#/components/schemas/MessageComponentType.MediaGallery" }, - "store_listing_id": { - "type": "string" + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "media": { + "$ref": "#/components/schemas/UnfurledMediaItem" + }, + "description": { + "type": "string" + }, + "spoiler": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "media" + ] + } }, - "banner": { - "type": "string" + "id": { + "type": "integer" + } + }, + "required": [ + "items", + "type" + ] + }, + "MessageComponentType.MediaGallery": { + "type": "number", + "const": 12 + }, + "FileComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.File" }, - "unpublished_at": { - "type": "string", - "nullable": true + "file": { + "$ref": "#/components/schemas/UnfurledMediaItem" }, - "styles": { - "$ref": "#/components/schemas/CollectiblesCategoryStyle" + "spoiler": { + "type": "boolean" }, - "logo": { + "name": { "type": "string" }, - "hero_ranking": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "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 + "size": { + "type": "integer" }, - "hero_logo": { - "type": "string", - "nullable": true + "id": { + "type": "integer" + } + }, + "required": [ + "file", + "name", + "size", + "spoiler", + "type" + ] + }, + "MessageComponentType.File": { + "type": "number", + "const": 13 + }, + "SeperatorComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/MessageComponentType.Separator" }, - "products": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CollectiblesCategoryProductItem" - } + "divider": { + "type": "boolean" }, - "banner_asset": { - "$ref": "#/components/schemas/StaticAnimatedAsset" + "spacing": { + "enum": [ + 1, + 2 + ], + "type": "number" }, - "hero_banner_asset": { - "$ref": "#/components/schemas/StaticAnimatedAsset" + "id": { + "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" + "type" ] }, - "CollectiblesCategoryStyle": { + "MessageComponentType.Separator": { + "type": "number", + "const": 14 + }, + "ActionRowComponent": { "type": "object", "properties": { - "background_colors": { - "type": "array", - "items": { - "type": "integer" - } + "type": { + "$ref": "#/components/schemas/MessageComponentType.ActionRow" }, - "button_colors": { + "components": { "type": "array", "items": { - "type": "integer" + "anyOf": [ + { + "$ref": "#/components/schemas/ButtonComponent" + }, + { + "$ref": "#/components/schemas/SelectMenuComponent" + }, + { + "$ref": "#/components/schemas/StringSelectMenuComponent" + }, + { + "$ref": "#/components/schemas/TextInputComponent" + } + ] } }, - "confetti_colors": { - "type": "array", - "items": { - "type": "integer" - } + "id": { + "type": "integer" } }, "required": [ - "background_colors", - "button_colors", - "confetti_colors" + "components", + "type" ] }, - "CollectiblesCategoryProductItem": { + "MessageComponentType.ActionRow": { + "type": "number", + "const": 1 + }, + "SelectMenuComponent": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" + "type": { + "enum": [ + 3, + 5, + 6, + 7, + 8 + ], + "type": "number" }, - "summary": { + "custom_id": { "type": "string" }, - "store_listing_id": { - "type": "string" + "channel_types": { + "type": "array", + "items": { + "type": "integer" + } }, - "banner": { + "placeholder": { "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": { + "default_values": { "type": "array", "items": { - "$ref": "#/components/schemas/ProductItem" + "$ref": "#/components/schemas/SelectMenuDefaultOption" } }, - "type": { + "min_values": { "type": "integer" }, - "premium_type": { + "max_values": { "type": "integer" }, - "category_sku_id": { - "type": "string" - }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "disabled": { + "type": "boolean" }, - "variants": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductItemVariant" - } + "id": { + "type": "integer" } }, "required": [ - "banner", - "category_sku_id", - "google_sku_ids", - "items", - "name", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "styles", - "summary", - "type", - "unpublished_at" + "custom_id", + "type" ] }, - "CountryPrice": { + "SelectMenuDefaultOption": { "type": "object", "properties": { - "country_code": { + "id": { "type": "string" }, - "prices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PriceEntry" - } + "type": { + "enum": [ + "channel", + "role", + "user" + ], + "type": "string" } }, "required": [ - "country_code", - "prices" + "id", + "type" ] }, - "PriceEntry": { + "StringSelectMenuComponent": { "type": "object", "properties": { - "amount": { - "type": "integer" + "type": { + "$ref": "#/components/schemas/MessageComponentType.StringSelect" }, - "currency": { + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SelectMenuOption" + } + }, + "custom_id": { "type": "string" }, - "exponent": { + "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": { + "type": "integer" + }, + "disabled": { + "type": "boolean" + }, + "id": { "type": "integer" } }, "required": [ - "amount", - "currency", - "exponent" + "custom_id", + "options", + "type" ] }, - "ProductItem": { + "MessageComponentType.StringSelect": { + "type": "number", + "const": 3 + }, + "SelectMenuOption": { "type": "object", "properties": { - "type": { - "type": "integer" - }, - "id": { + "label": { "type": "string" }, - "sku_id": { + "value": { "type": "string" }, - "asset": { + "description": { "type": "string" }, - "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" + ] + } + ] }, - "palette": { - "type": "string" + "default": { + "type": "boolean" } }, "required": [ - "id", - "sku_id", - "type" + "label", + "value" ] }, - "ProductItemVariant": { + "TextInputComponent": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "name_localizations": { - "type": "null" + "type": { + "$ref": "#/components/schemas/MessageComponentType.TextInput" }, - "summary": { + "custom_id": { "type": "string" }, - "summary_localizations": { - "type": "null" - }, - "store_listing_id": { - "type": "string" + "style": { + "$ref": "#/components/schemas/TextInputStyle" }, - "banner": { + "label": { "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": { + "min_length": { "type": "integer" }, - "premium_type": { + "max_length": { "type": "integer" }, - "category_sku_id": { - "type": "string" - }, - "google_sku_ids": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "base_variant_sku_id": { - "type": "string" + "required": { + "type": "boolean" }, - "base_variant_name": { + "value": { "type": "string" }, - "variant_label": { + "placeholder": { "type": "string" }, - "variant_value": { - "type": "string" + "id": { + "type": "integer" } }, "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" + "custom_id", + "label", + "style", + "type" ] }, - "StaticAnimatedAsset": { - "type": "object", - "properties": { - "animated": { - "type": "string", - "nullable": true - }, - "static": { - "type": "string" - } - }, - "required": [ - "animated", - "static" + "MessageComponentType.TextInput": { + "type": "number", + "const": 4 + }, + "TextInputStyle": { + "type": "number", + "enum": [ + 1, + 2 ] }, - "CollectiblesMarketingItem": { + "ContainerComponent": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "title": { - "type": "string" - }, - "body": { - "type": "string" - } - }, - "required": [ - "body", - "title", - "type", - "version" - ] - }, - "AnyShopBlock": { - "anyOf": [ - { - "$ref": "#/components/schemas/ItemRowShopBlock" + "$ref": "#/components/schemas/MessageComponentType.Container" }, - { - "$ref": "#/components/schemas/BundleTileRowShopBlock" + "components": { + "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/ItemCollectionShopBlock" + "accent_color": { + "type": "integer" + }, + "spoiler": { + "type": "boolean" + }, + "id": { + "type": "integer" } + }, + "required": [ + "components", + "type" ] }, - "ItemRowShopBlock": { + "MessageComponentType.Container": { + "type": "number", + "const": 17 + }, + "MessageDWSourceCallback": { "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/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" }, - "ranked_sku_ids": { - "type": "array", - "items": { - "type": "string" - } + "data": { + "$ref": "#/components/schemas/InteractionMessage" } }, "required": [ - "banner_asset", - "category_sku_id", - "category_store_listing_id", - "logo_url", - "name", - "ranked_sku_ids", - "summary", - "type", - "unpublished_at" + "data", + "type" ] }, - "BundleTileRowShopBlock": { + "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { + "type": "number", + "const": 5 + }, + "MessageUpdateCallback": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 1 + "$ref": "#/components/schemas/InteractionCallbackType.UPDATE_MESSAGE" }, - "subblocks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ShopBlockSubBlock" - } + "data": { + "$ref": "#/components/schemas/InteractionMessage" } }, "required": [ - "subblocks", + "data", "type" ] }, - "ShopBlockSubBlock": { + "InteractionCallbackType.UPDATE_MESSAGE": { + "type": "number", + "const": 7 + }, + "MessageDUpdateCallback": { "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 + "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" }, - "banner_text_color": { - "type": "integer", - "nullable": true + "data": { + "$ref": "#/components/schemas/InteractionMessage" } }, "required": [ - "banner_text_color", - "banner_url", - "body_text", - "category_store_listing_id", - "name", - "type", - "unpublished_at" + "data", + "type" ] }, - "ItemCollectionShopBlock": { + "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { + "type": "number", + "const": 6 + }, + "InteractionGuild": { "type": "object", "properties": { - "type": { - "type": "integer", - "const": 2 + "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" }, - "ranked_sku_ids": { + "features": { "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" - ] + "locale": { + "type": "string" } }, "required": [ - "ranked_sku_ids", - "sorted_sku_ids", - "type" + "features", + "id", + "locale" ] }, - "Guild": { + "Channel": { "type": "object", "properties": { - "afk_channel_id": { + "created_at": { "type": "string", - "nullable": true + "format": "date-time" }, - "afk_channel": { - "$ref": "#/components/schemas/Channel" + "name": { + "type": "string" }, - "afk_timeout": { - "type": "integer" + "icon": { + "type": "string", + "nullable": true }, - "bans": { + "type": { + "$ref": "#/components/schemas/ChannelType" + }, + "recipients": { "type": "array", "items": { - "$ref": "#/components/schemas/Ban" + "$ref": "#/components/schemas/Recipient" } }, - "banner": { - "type": "string" - }, - "default_message_notifications": { - "type": "integer" + "thread_members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ThreadMember" + } }, - "description": { + "last_message_id": { "type": "string" }, - "discovery_splash": { + "guild_id": { "type": "string" }, - "explicit_content_filter": { - "type": "integer" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "features": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "parent_id": { + "type": "string", + "nullable": true }, - "primary_category_id": { - "type": "string" + "parent": { + "$ref": "#/components/schemas/Channel" }, - "icon": { + "owner_id": { "type": "string" }, - "large": { - "type": "boolean", - "default": false - }, - "max_members": { - "type": "integer" - }, - "max_presences": { - "type": "integer" - }, - "max_video_channel_users": { - "type": "integer" - }, - "member_count": { - "type": "integer" - }, - "presence_count": { - "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": { - "type": "string" - }, - "template": { - "$ref": "#/components/schemas/Template" - }, - "emojis": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Emoji" - } - }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } - }, - "invites": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Invite" - } - }, - "voice_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VoiceState" - } - }, - "webhooks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Webhook" - } - }, - "mfa_level": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "owner_id": { - "type": "string" - }, - "owner": { - "$ref": "#/components/schemas/User" - }, - "preferred_locale": { - "type": "string" - }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" - }, - "public_updates_channel_id": { - "type": "string", - "nullable": true - }, - "public_updates_channel": { - "$ref": "#/components/schemas/Channel" - }, - "rules_channel_id": { - "type": "string", - "nullable": true - }, - "rules_channel": { - "type": "string" - }, - "region": { - "type": "string" - }, - "splash": { - "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." - }, - "widget_channel_id": { - "type": "string" - }, - "widget_channel": { - "$ref": "#/components/schemas/Channel" - }, - "widget_enabled": { - "type": "boolean", - "default": true - }, - "nsfw_level": { - "type": "integer" - }, - "nsfw": { - "type": "boolean", - "default": false - }, - "parent": { - "type": "string" - }, - "permissions": { - "type": "integer" - }, - "premium_progress_bar_enabled": { - "type": "boolean", - "default": false - }, - "channel_ordering": { - "type": "array", - "items": { - "type": "string" - } - }, - "discovery_weight": { - "type": "integer", - "default": 0 - }, - "discovery_excluded": { - "type": "boolean", - "default": false - }, - "id": { - "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" - ] - }, - "Channel": { - "type": "object", - "properties": { - "created_at": { - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - }, - "icon": { - "type": "string", - "nullable": true - }, - "type": { - "$ref": "#/components/schemas/ChannelType" - }, - "recipients": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Recipient" - } - }, - "thread_members": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ThreadMember" - } - }, - "last_message_id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "parent_id": { - "type": "string", - "nullable": true - }, - "parent": { - "$ref": "#/components/schemas/Channel" - }, - "owner_id": { - "type": "string" - }, - "owner": { - "$ref": "#/components/schemas/User" + "owner": { + "$ref": "#/components/schemas/User" }, "last_pin_timestamp": { "anyOf": [ @@ -9506,14 +9099,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 +9290,17 @@ } } }, + "Status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online", + "unknown" + ], + "type": "string" + }, "ExtendedLocationInfo": { "type": "object", "properties": { @@ -9713,6 +9488,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": { @@ -10278,351 +10083,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": { - "type": "string" + "features": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] }, - "unicode_emoji": { + "primary_category_id": { "type": "string" }, - "tags": { - "type": "object", - "properties": { - "bot_id": { - "type": "string" - }, - "integration_id": { - "type": "string" - }, - "premium_subscriber": { - "type": "boolean" - } - }, - "additionalProperties": false + "icon": { + "type": "string" }, - "flags": { - "type": "integer" + "large": { + "type": "boolean", + "default": false }, - "colors": { - "$ref": "#/components/schemas/RoleColors" + "max_members": { + "type": "integer" }, - "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": { + "public_updates_channel": { + "$ref": "#/components/schemas/Channel" + }, + "rules_channel_id": { + "type": "string", + "nullable": true + }, + "rules_channel": { "type": "string" }, - "deny": { + "region": { "type": "string" }, - "id": { + "splash": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChannelPermissionOverwriteType" - } - }, - "required": [ - "allow", - "deny", - "id", - "type" - ] - }, - "Invite": { - "type": "object", - "properties": { - "code": { - "type": "string" + "system_channel_id": { + "type": "string", + "nullable": true }, - "temporary": { - "type": "boolean" + "system_channel": { + "$ref": "#/components/schemas/Channel" }, - "uses": { + "system_channel_flags": { "type": "integer" }, - "max_uses": { - "type": "integer" + "unavailable": { + "type": "boolean", + "default": false }, - "max_age": { + "verification_level": { "type": "integer" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires_at": { - "type": "string", - "format": "date-time" - }, - "guild_id": { - "type": "string" - }, - "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,288 +10350,153 @@ "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" - } + "mentionable": { + "type": "boolean" }, - "sticker_items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sticker" - } + "name": { + "type": "string" }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Attachment" - } + "permissions": { + "type": "string" }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } + "position": { + "type": "integer" }, - "reactions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Reaction" - } + "icon": { + "type": "string" }, - "nonce": { + "unicode_emoji": { "type": "string" }, - "pinned_at": { - "anyOf": [ - { - "type": "string", - "format": "date-time" + "tags": { + "type": "object", + "properties": { + "bot_id": { + "type": "string" }, - { - "type": "null" - } - ] - }, - "pinned": { - "type": "boolean" - }, - "type": { - "$ref": "#/components/schemas/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": { + "integration_id": { "type": "string" }, - "type": { - "type": "integer" + "premium_subscriber": { + "type": "boolean" } }, "additionalProperties": false }, - "referenced_message": { - "anyOf": [ - { - "$ref": "#/components/schemas/Message" - }, - { - "type": "null" - } - ] - }, - "interaction": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/InteractionType" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name", - "type" - ] - }, - "interaction_metadata": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "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" - ] - }, - "components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } - }, - "poll": { - "$ref": "#/components/schemas/Poll" - }, - "username": { - "type": "string" - }, - "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": { + "tertiary_color": { + "type": "integer" + } + }, + "required": [ + "primary_color" + ] + }, + "Template": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "guild_id": { + "name": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "channel_id": { + "description": { "type": "string" }, - "channel": { - "$ref": "#/components/schemas/Channel" + "usage_count": { + "type": "integer" }, - "application_id": { + "creator_id": { "type": "string" }, - "application": { - "$ref": "#/components/schemas/Application" + "creator": { + "$ref": "#/components/schemas/User" }, - "user_id": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "user": { - "$ref": "#/components/schemas/User" + "updated_at": { + "type": "string", + "format": "date-time" }, "source_guild_id": { "type": "string" @@ -10919,286 +10504,87 @@ "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": "" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "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": { + "user_id": { "type": "string" }, - "owner": { + "user": { "$ref": "#/components/schemas/User" }, - "flags": { - "type": "integer", - "default": 0 - }, - "redirect_uris": { - "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 + "managed": { + "type": "boolean" }, - "interactions_endpoint_url": { + "name": { "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" + "require_colons": { + "type": "boolean" }, - "tags": { + "roles": { "type": "array", "items": { "type": "string" } }, - "cover_image": { - "type": "string" - }, - "install_params": { - "type": "object", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "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": "#/components/schemas/Guild" - }, - "custom_install_url": { - "type": "string" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "id": { - "type": "string" - } - }, - "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" - ] - }, - "Team": { - "type": "object", - "properties": { - "icon": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TeamMember" - } - }, - "name": { - "type": "string" - }, - "owner_user_id": { - "type": "string" - }, - "owner_user": { - "$ref": "#/components/schemas/User" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id", - "members", - "name", - "owner_user", - "owner_user_id" - ] - }, - "TeamMember": { - "type": "object", - "properties": { - "membership_state": { - "$ref": "#/components/schemas/TeamMemberState" - }, - "permissions": { + "groups": { "type": "array", "items": { "type": "string" } }, - "role": { - "$ref": "#/components/schemas/TeamMemberRole" - }, - "team_id": { - "type": "string" - }, - "team": { - "$ref": "#/components/schemas/Team" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/components/schemas/User" - }, "id": { "type": "string" } }, "required": [ + "animated", + "available", + "groups", + "guild", + "guild_id", "id", - "membership_state", - "permissions", - "role", - "team", - "team_id", + "managed", + "name", + "require_colons", + "roles", "user", "user_id" ] }, - "TeamMemberState": { - "type": "number", - "enum": [ - 1, - 2 - ] - }, - "TeamMemberRole": { - "type": "string", - "enum": [ - "admin", - "developer", - "read_only" - ] - }, "Sticker": { "type": "object", "properties": { @@ -11300,985 +10686,1145 @@ 4 ] }, - "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": "#/components/schemas/Guild" + }, "channel_id": { "type": "string" }, - "message": { - "$ref": "#/components/schemas/Message" - }, "channel": { "$ref": "#/components/schemas/Channel" }, - "id": { + "inviter_id": { "type": "string" - } - }, - "required": [ - "channel", - "channel_id", - "filename", - "id", - "message", - "message_id", - "size" + }, + "inviter": { + "$ref": "#/components/schemas/User" + }, + "target_user_id": { + "type": "string" + }, + "target_user": { + "type": "string" + }, + "target_user_type": { + "type": "integer" + }, + "vanity_url": { + "type": "boolean" + }, + "flags": { + "type": "integer" + } + }, + "required": [ + "channel", + "channel_id", + "code", + "created_at", + "flags", + "guild", + "guild_id", + "inviter", + "max_age", + "max_uses", + "target_user_id", + "temporary", + "uses" ] }, - "Embed": { + "VoiceState": { "type": "object", "properties": { - "title": { + "guild_id": { "type": "string" }, - "type": { - "enum": [ - "article", - "gifv", - "image", - "link", - "rich", - "video" - ], + "guild": { + "$ref": "#/components/schemas/Guild" + }, + "channel_id": { "type": "string" }, - "description": { + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "user_id": { "type": "string" }, - "url": { + "user": { + "$ref": "#/components/schemas/User" + }, + "member": { + "$ref": "#/components/schemas/Member" + }, + "session_id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "token": { + "type": "string" }, - "color": { - "type": "integer" + "deaf": { + "type": "boolean" }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "text" - ] + "mute": { + "type": "boolean" }, - "image": { - "$ref": "#/components/schemas/EmbedImage" + "self_deaf": { + "type": "boolean" }, - "thumbnail": { - "$ref": "#/components/schemas/EmbedImage" + "self_mute": { + "type": "boolean" }, - "video": { - "$ref": "#/components/schemas/EmbedImage" + "self_stream": { + "type": "boolean" }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "additionalProperties": false + "self_video": { + "type": "boolean" }, - "author": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false + "suppress": { + "type": "boolean" }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name", - "value" - ] - } + "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" + ] }, - "EmbedImage": { + "Webhook": { "type": "object", "properties": { - "url": { + "type": { + "$ref": "#/components/schemas/WebhookType" + }, + "name": { "type": "string" }, - "proxy_url": { + "avatar": { "type": "string" }, - "height": { - "type": "integer" + "token": { + "type": "string" }, - "width": { - "type": "integer" - } - } - }, - "Reaction": { - "type": "object", - "properties": { - "count": { - "type": "integer" + "guild_id": { + "type": "string" }, - "emoji": { - "$ref": "#/components/schemas/PartialEmoji" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "user_ids": { - "type": "array", - "items": { - "type": "string" - } + "channel_id": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "application_id": { + "type": "string" + }, + "application": { + "$ref": "#/components/schemas/Application" + }, + "user_id": { + "type": "string" + }, + "user": { + "$ref": "#/components/schemas/User" + }, + "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" + }, + "id": { + "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" - ] - }, - { - "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 + "application", + "application_id", + "avatar", + "channel", + "channel_id", + "id", + "name", + "source_channel", + "source_channel_id", + "type", + "url", + "user", + "user_id" ] }, - "ApplicationCommandType": { + "WebhookType": { "type": "number", "enum": [ 1, 2, - 3, - 4 + 3 ] }, - "BaseMessageComponents": { - "anyOf": [ - { - "$ref": "#/components/schemas/SectionComponent" + "Application": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/TextDisplayComponent" + "icon": { + "type": "string" }, - { - "$ref": "#/components/schemas/MediaGalleryComponent" + "description": { + "type": "string" }, - { - "$ref": "#/components/schemas/FileComponent" + "summary": { + "type": "string", + "default": "" }, - { - "$ref": "#/components/schemas/SeperatorComponent" + "type": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - { - "$ref": "#/components/schemas/ActionRowComponent" + "hook": { + "type": "boolean", + "default": true }, - { - "$ref": "#/components/schemas/ContainerComponent" - } - ] - }, - "SectionComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Section" + "bot_public": { + "type": "boolean", + "default": true }, - "components": { + "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": { - "$ref": "#/components/schemas/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": "#/components/schemas/User" + }, + "tags": { + "type": "array", + "items": { + "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" - }, - "content": { + "terms_of_service_url": { "type": "string" }, - "id": { - "type": "integer" - } - }, - "required": [ - "content", - "type" - ] - }, - "MessageComponentType.TextDisplay": { - "type": "number", - "const": 10 - }, - "ThumbnailComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Thumbnail" + "privacy_policy_url": { + "type": "string" }, - "description": { + "guild_id": { "type": "string" }, - "media": { - "$ref": "#/components/schemas/UnfurledMediaItem" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "spoiler": { - "type": "boolean" + "custom_install_url": { + "type": "string" + }, + "team": { + "$ref": "#/components/schemas/Team" }, "id": { - "type": "integer" + "type": "string" } }, "required": [ - "media", - "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.Thumbnail": { - "type": "number", - "const": 11 - }, - "UnfurledMediaItem": { + "Team": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "url": { - "type": "string" - }, - "proxy_url": { + "icon": { "type": "string" }, - "height": { - "type": "integer" - }, - "width": { - "type": "integer" - }, - "flags": { - "type": "integer" + "members": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TeamMember" + } }, - "content_type": { + "name": { "type": "string" }, - "content_scan_metadata": {}, - "placeholder_version": { - "type": "integer" - }, - "placeholder": { + "owner_user_id": { "type": "string" }, - "loading_state": { - "type": "integer" + "owner_user": { + "$ref": "#/components/schemas/User" }, - "attachment_id": { + "id": { "type": "string" } }, "required": [ - "url" + "id", + "members", + "name", + "owner_user", + "owner_user_id" ] }, - "ButtonComponent": { + "TeamMember": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Button" - }, - "style": { - "$ref": "#/components/schemas/ButtonStyle" + "membership_state": { + "$ref": "#/components/schemas/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": "#/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" ] } + } + }, + "required": [ + "description", + "enabled", + "welcome_channels" + ] + }, + "UserGuildSettings": { + "type": "object", + "properties": { + "channel_overrides": { + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ChannelOverride" + } + }, + { + "type": "null" + } + ] }, - "id": { + "message_notifications": { + "type": "integer" + }, + "mobile_push": { + "type": "boolean" + }, + "mute_config": { + "anyOf": [ + { + "$ref": "#/components/schemas/MuteConfig" + }, + { + "type": "null" + } + ] + }, + "muted": { + "type": "boolean" + }, + "suppress_everyone": { + "type": "boolean" + }, + "suppress_roles": { + "type": "boolean" + }, + "version": { + "type": "integer" + }, + "guild_id": { + "type": "string", + "nullable": true + }, + "flags": { "type": "integer" + }, + "mute_scheduled_events": { + "type": "boolean" + }, + "hide_muted_channels": { + "type": "boolean" + }, + "notify_highlights": { + "type": "integer", + "const": 0 } }, "required": [ - "items", - "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.MediaGallery": { - "type": "number", - "const": 12 - }, - "FileComponent": { + "ChannelOverride": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.File" + "message_notifications": { + "type": "integer" }, - "file": { - "$ref": "#/components/schemas/UnfurledMediaItem" + "mute_config": { + "$ref": "#/components/schemas/MuteConfig" }, - "spoiler": { + "muted": { "type": "boolean" }, - "name": { - "type": "string" - }, - "size": { + "channel_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "channel_id", + "message_notifications", + "mute_config", + "muted" + ] + }, + "MuteConfig": { + "type": "object", + "properties": { + "end_time": { "type": "integer" }, - "id": { + "selected_time_window": { "type": "integer" } }, "required": [ - "file", - "name", - "size", - "spoiler", - "type" + "end_time", + "selected_time_window" ] }, - "MessageComponentType.File": { + "ThreadMemberMuteConfig": { + "type": "object", + "properties": { + "end_time": { + "type": "string", + "format": "date-time" + }, + "selected_time_window": { + "type": "integer" + } + } + }, + "ThreadMemberFlags": { "type": "number", - "const": 13 + "enum": [ + 0, + 1, + 2, + 4, + 8 + ] }, - "SeperatorComponent": { + "ChannelPermissionOverwrite": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Separator" - }, - "divider": { - "type": "boolean" + "allow": { + "type": "string" }, - "spacing": { - "enum": [ - 1, - 2 - ], - "type": "number" + "deny": { + "type": "string" }, "id": { - "type": "integer" + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/ChannelPermissionOverwriteType" } }, "required": [ + "allow", + "deny", + "id", "type" ] }, - "MessageComponentType.Separator": { + "ChannelPermissionOverwriteType": { "type": "number", - "const": 14 + "enum": [ + 0, + 1, + 2 + ] }, - "ActionRowComponent": { + "Message": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.ActionRow" + "channel_id": { + "type": "string" + }, + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "thread_id": { + "type": "string" + }, + "thread": { + "$ref": "#/components/schemas/Channel" + }, + "guild_id": { + "type": "string" + }, + "guild": { + "$ref": "#/components/schemas/Guild" + }, + "author_id": { + "type": "string" + }, + "author": { + "$ref": "#/components/schemas/User" + }, + "member_id": { + "type": "string" + }, + "member": { + "$ref": "#/components/schemas/Member" + }, + "webhook_id": { + "type": "string" + }, + "webhook": { + "$ref": "#/components/schemas/Webhook" + }, + "application_id": { + "type": "string" + }, + "application": { + "$ref": "#/components/schemas/Application" + }, + "content": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "edited_timestamp": { + "type": "string", + "format": "date-time" + }, + "tts": { + "type": "boolean" }, - "components": { + "mention_everyone": { + "type": "boolean" + }, + "mentions": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/ButtonComponent" - }, - { - "$ref": "#/components/schemas/SelectMenuComponent" - }, - { - "$ref": "#/components/schemas/StringSelectMenuComponent" - }, - { - "$ref": "#/components/schemas/TextInputComponent" - } - ] + "$ref": "#/components/schemas/User" } }, - "id": { - "type": "integer" - } - }, - "required": [ - "components", - "type" - ] - }, - "MessageComponentType.ActionRow": { - "type": "number", - "const": 1 - }, - "SelectMenuComponent": { - "type": "object", - "properties": { - "type": { - "enum": [ - 3, - 5, - 6, - 7, - 8 - ], - "type": "number" + "mention_roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Role" + } }, - "custom_id": { - "type": "string" + "mention_channels": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Channel" + } }, - "channel_types": { + "sticker_items": { "type": "array", "items": { - "type": "integer" + "$ref": "#/components/schemas/Sticker" } }, - "placeholder": { - "type": "string" + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Attachment" + } }, - "default_values": { + "embeds": { "type": "array", "items": { - "$ref": "#/components/schemas/SelectMenuDefaultOption" + "$ref": "#/components/schemas/Embed" } }, - "min_values": { - "type": "integer" + "reactions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Reaction" + } }, - "max_values": { - "type": "integer" + "nonce": { + "type": "string" }, - "disabled": { - "type": "boolean" + "pinned_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "id": { - "type": "integer" - } - }, - "required": [ - "custom_id", - "type" - ] - }, - "SelectMenuDefaultOption": { - "type": "object", - "properties": { - "id": { - "type": "string" + "pinned": { + "type": "boolean" }, "type": { - "enum": [ - "channel", - "role", - "user" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ] - }, - "StringSelectMenuComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.StringSelect" + "$ref": "#/components/schemas/MessageType" }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SelectMenuOption" - } + "activity": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "party_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "party_id", + "type" + ] }, - "custom_id": { - "type": "string" + "flags": { + "type": "integer" }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } + "message_reference": { + "type": "object", + "properties": { + "message_id": { + "type": "string" + }, + "channel_id": { + "type": "string" + }, + "guild_id": { + "type": "string" + }, + "type": { + "type": "integer" + } + }, + "additionalProperties": false }, - "placeholder": { - "type": "string" + "referenced_message": { + "anyOf": [ + { + "$ref": "#/components/schemas/Message" + }, + { + "type": "null" + } + ] }, - "default_values": { + "interaction": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/InteractionType" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id", + "name", + "type" + ] + }, + "interaction_metadata": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "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" + ] + }, + "components": { "type": "array", "items": { - "$ref": "#/components/schemas/SelectMenuDefaultOption" + "$ref": "#/components/schemas/BaseMessageComponents" } }, - "min_values": { - "type": "integer" + "poll": { + "$ref": "#/components/schemas/Poll" }, - "max_values": { - "type": "integer" + "username": { + "type": "string" + }, + "avatar": { + "type": "string" }, - "disabled": { - "type": "boolean" + "message_snapshots": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageSnapshot" + } }, "id": { - "type": "integer" + "type": "string" } }, "required": [ - "custom_id", - "options", + "channel", + "embeds", + "flags", + "id", + "mention_channels", + "mention_roles", + "mentions", + "message_snapshots", + "pinned", + "reactions", + "timestamp", "type" ] }, - "MessageComponentType.StringSelect": { - "type": "number", - "const": 3 - }, - "SelectMenuOption": { + "Attachment": { "type": "object", "properties": { - "label": { + "filename": { "type": "string" }, - "value": { + "size": { + "type": "integer" + }, + "height": { + "type": "integer" + }, + "width": { + "type": "integer" + }, + "content_type": { "type": "string" }, - "description": { + "message_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" - ] - } - ] + "channel_id": { + "type": "string" }, - "default": { - "type": "boolean" + "message": { + "$ref": "#/components/schemas/Message" + }, + "channel": { + "$ref": "#/components/schemas/Channel" + }, + "id": { + "type": "string" } }, "required": [ - "label", - "value" + "channel", + "channel_id", + "filename", + "id", + "message", + "message_id", + "size" ] }, - "TextInputComponent": { + "Reaction": { "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" - }, - "max_length": { + "count": { "type": "integer" }, - "required": { - "type": "boolean" - }, - "value": { - "type": "string" - }, - "placeholder": { - "type": "string" + "emoji": { + "$ref": "#/components/schemas/PartialEmoji" }, - "id": { - "type": "integer" + "user_ids": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "custom_id", - "label", - "style", - "type" + "count", + "emoji", + "user_ids" ] }, - "MessageComponentType.TextInput": { + "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" + ] + } + ] + }, + "MessageType": { "type": "number", - "const": 4 + "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 + ] }, - "TextInputStyle": { + "ApplicationCommandType": { "type": "number", "enum": [ 1, - 2 - ] - }, - "ContainerComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/MessageComponentType.Container" - }, - "components": { - "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" - } - ] - } - }, - "accent_color": { - "type": "integer" - }, - "spoiler": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - }, - "required": [ - "components", - "type" + 2, + 3, + 4 ] }, - "MessageComponentType.Container": { - "type": "number", - "const": 17 - }, "Poll": { "type": "object", "properties": { @@ -12408,6 +11954,97 @@ "me_voted" ] }, + "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" + ] + }, "PartialUser": { "type": "object", "properties": { @@ -12567,141 +12204,335 @@ 23 ] }, - "VoiceState": { + "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" + }, + "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" + }, + "auto_archive_duration": { + "type": "integer" + }, + "archive_timestamp": { + "type": "string" + }, + "locked": { + "type": "boolean" + }, + "invitable": { + "type": "boolean" + }, + "create_timestamp": { + "type": "string" + } + }, + "required": [ + "archive_timestamp", + "archived", + "auto_archive_duration", + "create_timestamp", + "locked" + ] + }, + "Tag": { "type": "object", "properties": { - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, "channel_id": { "type": "string" }, "channel": { "$ref": "#/components/schemas/Channel" }, - "user_id": { + "name": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" + "moderated": { + "type": "boolean", + "default": false }, - "member": { - "$ref": "#/components/schemas/Member" + "emoji_id": { + "type": "string" }, - "session_id": { + "emoji_name": { "type": "string" }, - "token": { + "id": { + "type": "string" + } + }, + "required": [ + "channel", + "channel_id", + "id", + "moderated", + "name" + ] + }, + "PublicMember": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "deaf": { - "type": "boolean" + "guild_id": { + "type": "string" }, - "mute": { - "type": "boolean" + "flags": { + "type": "integer" }, - "self_deaf": { - "type": "boolean" + "nick": { + "type": "string" }, - "self_mute": { - "type": "boolean" + "joined_at": { + "type": "string", + "format": "date-time" }, - "self_stream": { + "pending": { "type": "boolean" }, - "self_video": { + "deaf": { "type": "boolean" }, - "suppress": { + "mute": { "type": "boolean" }, - "request_to_speak_timestamp": { - "type": "string", - "format": "date-time" + "premium_since": { + "type": "integer" }, - "id": { + "avatar": { + "type": "string" + }, + "banner": { + "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": "#/components/schemas/PublicUser" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "channel", - "channel_id", + "banner", + "bio", + "communication_disabled_until", "deaf", + "flags", "guild_id", "id", - "member", + "joined_at", "mute", - "self_deaf", - "self_mute", - "self_video", - "session_id", - "suppress", - "token", - "user", - "user_id" + "pending", + "roles", + "user" ] }, - "ReadState": { + "PublicUser": { "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": "#/components/schemas/Channel" + "premium_since": { + "type": "string", + "format": "date-time" }, - "user_id": { + "avatar": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" + "banner": { + "type": "string" }, - "last_message_id": { + "bio": { "type": "string" }, - "last_acked_id": { + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } + }, + "pronouns": { "type": "string" }, - "notifications_cursor": { + "username": { "type": "string" }, - "mention_count": { + "discriminator": { + "type": "string" + }, + "public_flags": { "type": "integer" }, - "badge_count": { + "accent_color": { "type": "integer" }, - "last_pin_timestamp": { - "type": "string", - "format": "date-time" + "bot": { + "type": "boolean" }, - "read_state_type": { - "$ref": "#/components/schemas/ReadStateType" + "premium_type": { + "type": "integer" }, - "flags": { - "$ref": "#/components/schemas/ReadStateFlags" + "badge_ids": { + "type": "array", + "items": { + "type": "string" + } }, - "id": { - "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" } }, "required": [ - "badge_count", - "channel", - "channel_id", - "flags", + "bio", + "bot", + "discriminator", "id", - "mention_count", - "notifications_cursor", - "read_state_type", - "user", - "user_id" + "premium_since", + "premium_type", + "public_flags", + "username" ] }, - "ReadStateType": { + "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, @@ -12709,971 +12540,1065 @@ 2, 3, 4, - 5 - ] - }, - "ReadStateFlags": { - "type": "number", - "enum": [ - 1, - 2, - 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 ] }, - "ThreadMetadata": { + "GuildTrait": { "type": "object", "properties": { - "archived": { - "type": "boolean" - }, - "auto_archive_duration": { - "type": "integer" - }, - "archive_timestamp": { - "type": "string" + "emoji_id": { + "type": "string", + "nullable": true }, - "locked": { - "type": "boolean" + "emoji_name": { + "type": "string", + "nullable": true }, - "invitable": { + "emoji_animated": { "type": "boolean" }, - "create_timestamp": { + "label": { "type": "string" + }, + "position": { + "type": "integer" } }, "required": [ - "archive_timestamp", - "archived", - "auto_archive_duration", - "create_timestamp", - "locked" + "emoji_animated", + "emoji_id", + "emoji_name", + "label", + "position" ] }, - "Tag": { + "GuildVisibilityLevel": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ] + }, + "Classification": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/components/schemas/Channel" - }, - "name": { + "id": { "type": "string" }, - "moderated": { - "type": "boolean", - "default": false - }, - "emoji_id": { - "type": "string" + "classification_type": { + "$ref": "#/components/schemas/ClassificationType" }, - "emoji_name": { + "description": { "type": "string" }, - "id": { - "type": "string" - } - }, - "required": [ - "channel", - "channel_id", - "id", - "moderated", - "name" - ] - }, - "Ban": { - "type": "object", - "properties": { - "user_id": { + "explainer_link": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" + "actions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClassificationAction" + } }, - "guild_id": { + "max_expiration_time": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" - }, - "executor_id": { - "type": "string" + "flagged_content": { + "type": "array", + "items": {} }, - "executor": { - "$ref": "#/components/schemas/User" + "appeal_status": { + "$ref": "#/components/schemas/AppealStatus" }, - "ip": { - "type": "string" + "is_coppa": { + "type": "boolean" }, - "reason": { - "type": "string" + "is_spam": { + "type": "boolean" }, - "id": { - "type": "string" + "appeal_ingestion_type": { + "$ref": "#/components/schemas/AppealIngestionType" } }, "required": [ - "executor", - "executor_id", - "guild", - "guild_id", + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", "id", - "user", - "user_id" + "is_coppa", + "is_spam", + "max_expiration_time" ] }, - "Template": { + "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": { - "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": { + "id": { "type": "string" }, - "source_guild": { - "$ref": "#/components/schemas/Guild" - }, - "serialized_source_guild": { - "$ref": "#/components/schemas/Guild" + "action_type": { + "$ref": "#/components/schemas/ClassificationActionType" }, - "id": { - "type": "string" + "descriptions": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "code", - "created_at", - "creator", - "creator_id", - "id", - "name", - "serialized_source_guild", - "source_guild", - "source_guild_id", - "updated_at" + "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" ] }, - "Emoji": { + "AppealStatusValue": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ] + }, + "AppealIngestionType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ] + }, + "GuildClassification": { "type": "object", "properties": { - "animated": { - "type": "boolean" - }, - "available": { - "type": "boolean" + "guild_metadata": { + "$ref": "#/components/schemas/GuildMetadata" }, - "guild_id": { + "id": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" + "classification_type": { + "$ref": "#/components/schemas/ClassificationType" }, - "user_id": { + "description": { "type": "string" }, - "user": { - "$ref": "#/components/schemas/User" - }, - "managed": { - "type": "boolean" - }, - "name": { + "explainer_link": { "type": "string" }, - "require_colons": { - "type": "boolean" - }, - "roles": { + "actions": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/ClassificationAction" } }, - "groups": { + "max_expiration_time": { + "type": "string" + }, + "flagged_content": { "type": "array", - "items": { - "type": "string" - } + "items": {} }, - "id": { - "type": "string" + "appeal_status": { + "$ref": "#/components/schemas/AppealStatus" + }, + "is_coppa": { + "type": "boolean" + }, + "is_spam": { + "type": "boolean" + }, + "appeal_ingestion_type": { + "$ref": "#/components/schemas/AppealIngestionType" } }, "required": [ - "animated", - "available", - "groups", - "guild", - "guild_id", + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", + "guild_metadata", "id", - "managed", - "name", - "require_colons", - "roles", - "user", - "user_id" + "is_coppa", + "is_spam", + "max_expiration_time" ] }, - "GuildWelcomeScreen": { + "GuildMetadata": { "type": "object", "properties": { - "enabled": { - "type": "boolean" + "name": { + "type": "string" }, - "description": { + "icon": { "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" - ] - } + "member_type": { + "$ref": "#/components/schemas/GuildMemberType" } }, "required": [ - "description", - "enabled", - "welcome_channels" + "member_type", + "name" ] }, - "PartialMessage": { - "description": "https://docs.discord.food/resources/message#partial-message-structure", + "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": { - "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```", + "sku_id": { "type": "string" }, - "channel_id": { + "name": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/MessageType" + "summary": { + "type": "string" }, - "content": { + "store_listing_id": { "type": "string" }, - "author": { - "$ref": "#/components/schemas/PartialUser" + "banner": { + "type": "string" }, - "flags": { - "type": "integer" + "unpublished_at": { + "type": "string", + "nullable": true }, - "application_id": { + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" + }, + "logo": { "type": "string" + }, + "hero_ranking": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "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": [ - "author", - "channel_id", - "content", - "id", - "type" + "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" ] }, - "HubGuild": { + "CollectiblesCategoryStyle": { "type": "object", "properties": { - "icon": { - "type": "string" + "background_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "id": { - "type": "string" + "button_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "name": { - "type": "string" + "confetti_colors": { + "type": "array", + "items": { + "type": "integer" + } } }, "required": [ - "icon", - "id", - "name" + "background_colors", + "button_colors", + "confetti_colors" ] }, - "EmojiGuild": { + "CollectiblesCategoryProductItem": { "type": "object", "properties": { - "id": { + "sku_id": { "type": "string" }, "name": { "type": "string" }, - "icon": { - "type": "string", - "nullable": true + "summary": { + "type": "string" }, - "description": { + "store_listing_id": { + "type": "string" + }, + "banner": { + "type": "string" + }, + "unpublished_at": { "type": "string", "nullable": true }, - "features": { - "type": "array", - "items": { - "type": "string" + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" + }, + "prices": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/components/schemas/CountryPrice" + } + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] } }, - "emojis": { + "items": { "type": "array", "items": { - "$ref": "#/components/schemas/Emoji" + "$ref": "#/components/schemas/ProductItem" } }, - "premium_tier": { + "type": { "type": "integer" }, - "premium_subscription_count": { + "premium_type": { "type": "integer" }, - "approximate_member_count": { - "type": "integer" + "category_sku_id": { + "type": "string" }, - "approximate_presence_count": { - "type": "integer" + "google_sku_ids": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "variants": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductItemVariant" + } } }, "required": [ - "emojis", - "features", - "id", + "banner", + "category_sku_id", + "google_sku_ids", + "items", "name", - "premium_tier" + "premium_type", + "prices", + "sku_id", + "store_listing_id", + "styles", + "summary", + "type", + "unpublished_at" ] }, - "EmojiApplication": { + "CountryPrice": { "type": "object", "properties": { - "id": { + "country_code": { "type": "string" }, - "name": { - "type": "string" + "prices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PriceEntry" + } } }, "required": [ - "id", - "name" + "country_code", + "prices" ] }, - "GuildMessagesSearchMessage": { + "PriceEntry": { "type": "object", "properties": { - "id": { + "amount": { + "type": "integer" + }, + "currency": { "type": "string" }, + "exponent": { + "type": "integer" + } + }, + "required": [ + "amount", + "currency", + "exponent" + ] + }, + "ProductItem": { + "type": "object", + "properties": { "type": { - "$ref": "#/components/schemas/MessageType" + "type": "integer" }, - "content": { + "id": { "type": "string" }, - "channel_id": { + "sku_id": { "type": "string" }, - "author": { - "$ref": "#/components/schemas/PublicUser" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicAttachment" - } - }, - "embeds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Embed" - } - }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicUser" - } - }, - "mention_roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Role" - } - }, - "pinned": { - "type": "boolean" - }, - "mention_everyone": { - "type": "boolean" - }, - "tts": { - "type": "boolean" - }, - "timestamp": { + "asset": { "type": "string" }, - "edited_timestamp": { - "type": "string", - "nullable": true - }, - "flags": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BaseMessageComponents" - } - }, - "poll": { - "$ref": "#/components/schemas/Poll" + "label": { + "type": "string" }, - "hit": { - "type": "boolean", - "const": true + "palette": { + "type": "string" } }, "required": [ - "attachments", - "author", - "channel_id", - "components", - "edited_timestamp", - "embeds", - "flags", - "hit", "id", - "mention_roles", - "mentions", - "pinned", - "poll", - "timestamp", - "tts", + "sku_id", "type" ] }, - "PublicUser": { + "ProductItemVariant": { "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```", + "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" }, - "premium_since": { + "unpublished_at": { "type": "string", - "format": "date-time" + "nullable": true }, - "avatar": { - "type": "string" + "styles": { + "$ref": "#/components/schemas/CollectiblesCategoryStyle" }, - "bio": { - "type": "string" + "prices": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/components/schemas/CountryPrice" + } + }, + "additionalProperties": false, + "required": [ + "country_prices" + ] + } }, - "theme_colors": { + "items": { "type": "array", "items": { - "type": "integer" + "$ref": "#/components/schemas/ProductItem" } }, - "pronouns": { - "type": "string" - }, - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "public_flags": { - "type": "integer" - }, - "accent_color": { + "type": { "type": "integer" }, - "bot": { - "type": "boolean" - }, "premium_type": { "type": "integer" }, - "badge_ids": { - "type": "array", - "items": { + "category_sku_id": { + "type": "string" + }, + "google_sku_ids": { + "type": "object", + "additionalProperties": { "type": "string" } }, - "avatar_decoration_data": { - "$ref": "#/components/schemas/AvatarDecorationData" + "base_variant_sku_id": { + "type": "string" }, - "display_name_styles": { - "$ref": "#/components/schemas/DisplayNameStyle" + "base_variant_name": { + "type": "string" }, - "collectibles": { - "$ref": "#/components/schemas/Collectibles" + "variant_label": { + "type": "string" }, - "primary_guild": { - "$ref": "#/components/schemas/PrimaryGuild" + "variant_value": { + "type": "string" } }, "required": [ - "bio", - "bot", - "discriminator", - "id", - "premium_since", + "base_variant_name", + "base_variant_sku_id", + "category_sku_id", + "items", + "name", + "name_localizations", "premium_type", - "public_flags", - "username" + "prices", + "sku_id", + "store_listing_id", + "summary", + "summary_localizations", + "type", + "variant_label", + "variant_value" ] }, - "PublicAttachment_1": { + "StaticAnimatedAsset": { "type": "object", "properties": { - "filename": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "height": { - "type": "integer" - }, - "width": { - "type": "integer" - }, - "content_type": { - "type": "string" - }, - "url": { - "type": "string" + "animated": { + "type": "string", + "nullable": true }, - "proxy_url": { + "static": { "type": "string" } }, "required": [ - "filename", - "proxy_url", - "size", - "url" + "animated", + "static" ] }, - "GuildVanityUrl": { + "CollectiblesMarketingItem": { "type": "object", "properties": { - "code": { - "type": "string" + "type": { + "type": "integer" }, - "uses": { + "version": { "type": "integer" + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" } }, "required": [ - "code", - "uses" + "body", + "title", + "type", + "version" ] }, - "GuildVanityUrlNoInvite": { - "type": "object", - "properties": { - "code": { - "type": "null" + "AnyShopBlock": { + "anyOf": [ + { + "$ref": "#/components/schemas/ItemRowShopBlock" + }, + { + "$ref": "#/components/schemas/BundleTileRowShopBlock" + }, + { + "$ref": "#/components/schemas/ItemCollectionShopBlock" } - }, - "required": [ - "code" ] }, - "HubDirectoryEntry": { + "ItemRowShopBlock": { "type": "object", "properties": { - "author_id": { + "type": { + "type": "integer", + "const": 0 + }, + "category_sku_id": { "type": "string" }, - "created_at": { + "name": { "type": "string" }, - "description": { + "category_store_listing_id": { "type": "string" }, - "directory_channel_id": { + "banner_asset": { + "$ref": "#/components/schemas/StaticAnimatedAsset" + }, + "logo_url": { "type": "string" }, - "guild": { - "$ref": "#/components/schemas/Guild" + "unpublished_at": { + "type": "string", + "nullable": true }, - "primary_category_id": { - "type": "integer" + "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" + "type": "integer", + "const": 1 + }, + "subblocks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShopBlockSubBlock" + } } }, "required": [ - "author_id", - "created_at", - "description", - "directory_channel_id", - "guild", - "primary_category_id", + "subblocks", "type" ] }, - "RefreshedUrl": { + "ShopBlockSubBlock": { "type": "object", "properties": { - "original": { + "type": { + "type": "integer" + }, + "category_store_listing_id": { "type": "string" }, - "refreshed": { + "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": [ - "original", - "refreshed" + "banner_text_color", + "banner_url", + "body_text", + "category_store_listing_id", + "name", + "type", + "unpublished_at" ] }, - "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" + "ItemCollectionShopBlock": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "const": 2 + }, + "ranked_sku_ids": { + "type": "array", + "items": { + "type": "string" } }, - { + "sorted_sku_ids": { "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" + "recommended": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "string" + } }, - "__@unscopables@698": { - "type": "boolean" + { + "type": "null" } + ] + }, + "popular": { + "type": "array", + "items": { + "type": "string" } } }, + "additionalProperties": false, "required": [ - "__@unscopables@698", - "length" - ] - }, - { - "type": [ - "null", - "string", - "integer", - "boolean" + "popular", + "recommended" ] } + }, + "required": [ + "ranked_sku_ids", + "sorted_sku_ids", + "type" ] }, - "BackupCode": { + "PartialMessage": { + "description": "https://docs.discord.food/resources/message#partial-message-structure", "type": "object", "properties": { - "user": { - "$ref": "#/components/schemas/User" + "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" }, - "code": { + "channel_id": { "type": "string" }, - "consumed": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/MessageType" }, - "expired": { - "type": "boolean" + "content": { + "type": "string" }, - "id": { + "author": { + "$ref": "#/components/schemas/PartialUser" + }, + "flags": { + "type": "integer" + }, + "application_id": { "type": "string" } }, "required": [ - "code", - "consumed", - "expired", - "id", - "user" - ] - }, - "InteractionCallbackType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ] - }, - "PongCallback": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.PONG" - }, - "data": {} - }, - "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,330 +13606,343 @@ "$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" - } - } - }, - "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" + "$ref": "#/components/schemas/Poll" }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "hit": { + "type": "boolean", + "const": true } }, "required": [ - "data", + "attachments", + "author", + "channel_id", + "components", + "edited_timestamp", + "embeds", + "flags", + "hit", + "id", + "mention_roles", + "mentions", + "pinned", + "poll", + "timestamp", + "tts", "type" ] }, - "InteractionCallbackType.UPDATE_MESSAGE": { - "type": "number", - "const": 7 - }, - "MessageDUpdateCallback": { + "GuildVanityUrl": { "type": "object", "properties": { - "type": { - "$ref": "#/components/schemas/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" + "code": { + "type": "string" }, - "data": { - "$ref": "#/components/schemas/InteractionMessage" + "uses": { + "type": "integer" } }, "required": [ - "data", - "type" + "code", + "uses" ] }, - "InteractionCallbackType.DEFERRED_UPDATE_MESSAGE": { - "type": "number", - "const": 6 - }, - "InteractionGuild": { + "GuildVanityUrlNoInvite": { "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" + "code": { + "type": "null" } }, "required": [ - "features", - "id", - "locale" + "code" ] }, - "PublicMember": { + "HubDirectoryEntry": { "type": "object", "properties": { - "id": { + "author_id": { "type": "string" }, - "guild_id": { + "created_at": { "type": "string" }, - "flags": { - "type": "integer" - }, - "banner": { + "description": { "type": "string" }, - "nick": { + "directory_channel_id": { "type": "string" }, - "joined_at": { - "type": "string", - "format": "date-time" - }, - "pending": { - "type": "boolean" - }, - "deaf": { - "type": "boolean" - }, - "mute": { - "type": "boolean" + "guild": { + "$ref": "#/components/schemas/Guild" }, - "premium_since": { + "primary_category_id": { "type": "integer" }, - "avatar": { + "type": { + "type": "integer" + } + }, + "required": [ + "author_id", + "created_at", + "description", + "directory_channel_id", + "guild", + "primary_category_id", + "type" + ] + }, + "RefreshedUrl": { + "type": "object", + "properties": { + "original": { "type": "string" }, - "bio": { + "refreshed": { "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" + } + }, + "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" } }, - "pronouns": { - "type": "string" - }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" + { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "$ref": "#/components/schemas/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": "#/components/schemas/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" ] }, - "InstanceUserDeleteSchemaContent": { + "BackupCode": { "type": "object", "properties": { - "reason": { + "user": { + "$ref": "#/components/schemas/User" + }, + "code": { "type": "string" }, - "persistInstanceBan": { + "consumed": { "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": { + "expired": { "type": "boolean" }, - "label": { + "id": { "type": "string" - }, - "position": { - "type": "integer" } }, "required": [ - "emoji_animated", - "emoji_id", - "emoji_name", - "label", - "position" - ] - }, - "GuildVisibilityLevel": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "code", + "consumed", + "expired", + "id", + "user" ] }, "DmChannelDTO": { @@ -14149,16 +14087,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 +14114,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 +14156,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 +14203,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 +14230,8 @@ "type": "object", "properties": { "enabled": { - "type": "boolean" + "type": "boolean", + "default": false }, "ip": { "$ref": "#/components/schemas/RateLimitOptions" @@ -14370,13 +14332,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": [ @@ -20845,9 +20810,85 @@ "bearer": [] } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoleMembersUpdateSchema" + } + } + } + }, "responses": { - "default": { + "204": { + "description": "No description available" + }, + "403": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorResponse" + } + } + } + } + }, + "parameters": [ + { + "name": "guild_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "guild_id" + }, + { + "name": "role_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "role_id" + } + ], + "tags": [ + "guilds" + ] + }, + "put": { + "x-permission-required": "MANAGE_ROLES", + "security": [ + { + "bearer": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoleMembersUpdateSchema" + } + } + } + }, + "responses": { + "204": { "description": "No description available" + }, + "403": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIErrorResponse" + } + } + } } }, "parameters": [ diff --git a/assets/schemas.json b/assets/schemas.json index e28447eb8..79f2f0ca1 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -224,393 +224,295 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ActivitySchema": { + "InteractionCallbackSchema": { "type": "object", "properties": { - "afk": { - "type": "boolean" - }, - "status": { - "$ref": "#/definitions/Status" - }, - "activities": { - "type": "array", - "items": { - "$ref": "#/definitions/Activity" - } + "type": { + "$ref": "#/definitions/InteractionCallbackType" }, - "since": { - "type": "integer" - } + "data": {} }, "additionalProperties": false, "required": [ - "status" + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationAuthorizeSchema": { - "type": "object", - "properties": { - "authorize": { - "type": "boolean" + "InteractionCallbacksSchema": { + "anyOf": [ + { + "$ref": "#/definitions/PongCallback" }, - "guild_id": { - "type": "string" + { + "$ref": "#/definitions/AckCallback" }, - "permissions": { - "type": "string" + { + "$ref": "#/definitions/MessageCallback" }, - "captcha_key": { - "type": "string" + { + "$ref": "#/definitions/MessageWSourceCallback" }, - "code": { - "minLength": 6, - "maxLength": 6, - "type": "string" + { + "$ref": "#/definitions/MessageDWSourceCallback" + }, + { + "$ref": "#/definitions/MessageUpdateCallback" + }, + { + "$ref": "#/definitions/MessageDUpdateCallback" } - }, - "additionalProperties": false, - "required": [ - "authorize", - "guild_id", - "permissions" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AutomodMentionSpamRuleSchema": { + "InteractionCreateSchema": { "type": "object", "properties": { - "mention_total_limit": { + "version": { "type": "integer" }, - "mention_raid_protection_enabled": { - "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": { + "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" + }, + "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" + }, + "guild_locale": { + "type": "string" + }, + "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" + }, + "member": { + "$ref": "#/definitions/PublicMember" + }, + "user": { + "$ref": "#/definitions/PublicUser" + }, + "locale": { + "type": "string" + }, + "message": { + "$ref": "#/definitions/Message" + }, + "app_permissions": { + "type": "string" + }, + "entitlements": { "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } }, - "presets": { + "entitlement_sku_ids": { "type": "array", - "items": [ - { - "type": "integer" + "items": { + "type": "string" + } + }, + "authorizing_integration_owners": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^[0-9]+$": { + "type": "string" } - ], - "minItems": 1, - "maxItems": 1 + } + }, + "context": { + "type": "integer" + }, + "attachment_size_limit": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "allow_list", - "presets" + "app_permissions", + "application_id", + "attachment_size_limit", + "id", + "token", + "type", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AutomodCustomWordsRuleSchema": { + "ApplicationCreateSchema": { "type": "object", "properties": { - "allow_list": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 - }, - "keyword_filter": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "name": { + "type": "string" }, - "regex_patterns": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "team_id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "allow_list", - "keyword_filter", - "regex_patterns" + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AutomodRuleSchema": { + "ApplicationModifySchema": { "type": "object", "properties": { - "creator_id": { + "description": { "type": "string" }, - "enabled": { - "type": "boolean" - }, - "event_type": { - "type": "integer" - }, - "exempt_channels": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 - }, - "exempt_roles": { - "type": "array", - "items": [ - { - "type": "string" - } - ], - "minItems": 1, - "maxItems": 1 + "icon": { + "type": "string" }, - "guild_id": { + "cover_image": { "type": "string" }, - "name": { + "interactions_endpoint_url": { "type": "string" }, - "position": { - "type": "integer" - }, - "trigger_type": { - "type": "integer" - }, - "trigger_metadata": { - "anyOf": [ - { - "$ref": "#/definitions/AutomodMentionSpamRuleSchema" - }, - { - "$ref": "#/definitions/AutomodSuspectedSpamRuleSchema" - }, - { - "$ref": "#/definitions/AutomodCommonlyFlaggedWordsRuleSchema" - }, - { - "$ref": "#/definitions/AutomodCustomWordsRuleSchema" - } + "max_participants": { + "type": [ + "null", + "integer" ] - } - }, - "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" - }, - "delete_message_days": { - "type": "integer" }, - "reason": { - "type": "string" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BanModeratorSchema": { - "type": "object", - "properties": { - "id": { + "name": { "type": "string" }, - "user_id": { + "privacy_policy_url": { "type": "string" }, - "guild_id": { + "role_connections_verification_url": { "type": "string" }, - "executor_id": { - "type": "string" + "tags": { + "type": "array", + "items": { + "type": "string" + } }, - "reason": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BanRegistrySchema": { - "type": "object", - "properties": { - "id": { + "terms_of_service_url": { "type": "string" }, - "user_id": { - "type": "string" + "bot_public": { + "type": "boolean" }, - "guild_id": { - "type": "string" + "bot_require_code_grant": { + "type": "boolean" }, - "executor_id": { - "type": "string" + "flags": { + "type": "integer" }, - "ip": { + "custom_install_url": { "type": "string" }, - "reason": { + "guild_id": { "type": "string" } }, "additionalProperties": false, - "required": [ - "executor_id", - "guild_id", - "id", - "user_id" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BotModifySchema": { + "SendableApplicationCommandDataSchema": { "type": "object", "properties": { - "avatar": { + "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": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" + }, + "name": { "type": "string" }, - "banner": { + "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" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BulkBanSchema": { - "type": "object", - "properties": { - "user_ids": { + }, + "application_command": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ApplicationCommandOption" } }, - "delete_message_seconds": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "user_ids" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BulkDeleteSchema": { - "type": "object", - "properties": { - "messages": { + "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": "string" + "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,804 +523,848 @@ ], "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" } - }, - "parent_id": { - "type": "string" - }, - "id": { - "type": "string" - }, - "nsfw": { - "type": "boolean" - }, - "rtc_region": { - "type": "string" - }, - "default_auto_archive_duration": { - "type": "integer" - }, - "default_reaction_emoji": { - "type": [ - "null", - "string" - ] - }, - "flags": { - "type": "integer" - }, - "default_thread_rate_limit_per_user": { - "type": "integer" - }, - "video_quality_mode": { - "type": "integer" - }, - "auto_archive_duration": { - "type": "integer" - }, - "archived": { - "type": "boolean" - }, - "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": [ + "custom_id" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ChannelPermissionOverwriteSchema": { + "SendableModalSubmitDataSchema": { "type": "object", "properties": { - "allow": { - "type": "string" - }, - "deny": { + "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" }, - "id": { + "custom_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/ChannelPermissionOverwriteType" + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadAttachmentRequestSchema" + } } }, "additionalProperties": false, "required": [ - "allow", - "deny", - "id", - "type" + "custom_id", + "id" ], "$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" - ] - }, + "InstanceUserDeleteSchema": { + "$ref": "#/definitions/InstanceUserDeleteSchemaContent", "$schema": "http://json-schema.org/draft-07/schema#" }, - "CodesVerificationSchema": { + "UserSettingsUpdateSchema": { "type": "object", "properties": { - "key": { - "type": "string" + "afk_timeout": { + "type": "integer" }, - "nonce": { - "type": "string" + "allow_accessibility_detection": { + "type": "boolean" }, - "regenerate": { + "animate_emoji": { "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "key", - "nonce" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ConnectedAccountSchema": { - "type": "object", - "properties": { - "external_id": { - "type": "string" }, - "user_id": { - "type": "string" + "animate_stickers": { + "type": "integer" }, - "token_data": { - "$ref": "#/definitions/ConnectedAccountTokenData" + "contact_sync_enabled": { + "type": "boolean" }, - "friend_sync": { + "convert_emoticons": { "type": "boolean" }, - "name": { - "type": "string" + "custom_status": { + "anyOf": [ + { + "$ref": "#/definitions/CustomStatus" + }, + { + "type": "null" + } + ] }, - "revoked": { + "default_guilds_restricted": { "type": "boolean" }, - "show_activity": { - "type": "integer" + "detect_platform_accounts": { + "type": "boolean" }, - "type": { - "type": "string" + "developer_mode": { + "type": "boolean" }, - "verified": { + "disable_games_tab": { "type": "boolean" }, - "visibility": { + "enable_tts_command": { + "type": "boolean" + }, + "explicit_content_filter": { "type": "integer" }, - "integrations": { + "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/GuildFolder" + } + }, + "guild_positions": { "type": "array", "items": { "type": "string" } }, - "metadata_": {}, - "metadata_visibility": { - "type": "integer" + "inline_attachment_media": { + "type": "boolean" }, - "two_way_link": { + "inline_embed_media": { "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": { + "locale": { "type": "string" }, - "scope": { - "type": "string" + "message_display_compact": { + "type": "boolean" }, - "refresh_token": { - "type": "string" + "native_phone_integration_enabled": { + "type": "boolean" }, - "expires_in": { + "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" + }, + "stream_notifications_enabled": { + "type": "boolean" + }, + "theme": { + "enum": [ + "dark", + "light" + ], + "type": "string" + }, + "timezone_offset": { "type": "integer" + }, + "view_nsfw_guilds": { + "type": "boolean" } }, "additionalProperties": false, - "required": [ - "access_token", - "scope", - "token_type" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ConnectionCallbackSchema": { + "UserSettingsSchema": { "type": "object", "properties": { - "code": { - "type": "string" + "afk_timeout": { + "type": "integer" }, - "state": { - "type": "string" + "allow_accessibility_detection": { + "type": "boolean" }, - "insecure": { + "animate_emoji": { "type": "boolean" }, - "friend_sync": { + "animate_stickers": { + "type": "integer" + }, + "contact_sync_enabled": { "type": "boolean" }, - "openid_params": {} - }, - "additionalProperties": false, - "required": [ - "friend_sync", - "insecure", - "state" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ConnectionUpdateSchema": { - "type": "object", - "properties": { - "visibility": { + "convert_emoticons": { "type": "boolean" }, - "show_activity": { + "custom_status": { + "anyOf": [ + { + "$ref": "#/definitions/CustomStatus" + }, + { + "type": "null" + } + ] + }, + "default_guilds_restricted": { "type": "boolean" }, - "metadata_visibility": { + "detect_platform_accounts": { "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "DmChannelCreateSchema": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "recipients": { + "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/GuildFolder" + } + }, + "guild_positions": { "type": "array", "items": { "type": "string" } }, - "recipient_id": { + "inline_attachment_media": { + "type": "boolean" + }, + "inline_embed_media": { + "type": "boolean" + }, + "locale": { "type": "string" }, - "access_tokens": { + "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" } - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmailDomainLookupSchema": { - "type": "object", - "properties": { - "allow_multiple_guilds": { + }, + "show_current_game": { "type": "boolean" }, - "email": { + "status": { + "enum": [ + "dnd", + "idle", + "invisible", + "offline", + "online" + ], "type": "string" }, - "use_verification_code": { + "stream_notifications_enabled": { "type": "boolean" }, - "guild_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": { + "theme": { + "enum": [ + "dark", + "light" + ], "type": "string" }, - "guild_id": { - "type": "string" + "timezone_offset": { + "type": "integer" }, - "code": { - "type": "string" + "view_nsfw_guilds": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "code", - "email", - "guild_id" + "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#" }, - "EmojiCreateSchema": { + "GuildProfileResponse": { "type": "object", "properties": { - "name": { + "id": { "type": "string" }, - "image": { + "name": { "type": "string" }, - "require_colons": { + "icon_hash": { "type": [ "null", - "boolean" + "string" ] }, - "roles": { - "type": "array", + "member_count": { + "type": "integer" + }, + "online_count": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "brand_color_primary": { + "type": "string" + }, + "banner_hash": { + "type": [ + "null", + "string" + ] + }, + "game_application_ids": { + "type": "array", "items": { "type": "string" } - } - }, - "additionalProperties": false, - "required": [ - "image" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiModifySchema": { - "type": "object", - "properties": { - "name": { + }, + "game_activity": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GameActivity" + } + }, + "tag": { + "type": [ + "null", + "string" + ] + }, + "badge": { + "$ref": "#/definitions/GuildBadgeType" + }, + "badge_color_primary": { "type": "string" }, - "roles": { + "badge_color_secondary": { + "type": "string" + }, + "badge_hash": { + "type": "string" + }, + "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": [ + "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" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ForgotPasswordSchema": { + "GuildAvailableSchema": { "type": "object", "properties": { - "login": { + "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" }, - "captcha_key": { - "type": "string" + "available": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "login" + "available", + "id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "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" - ] - } + "StickersResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/StickerResponse" }, - "additionalProperties": false, - "required": [ - "sticker_ids" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildCreateSchema": { + "StickerResponse": { "type": "object", "properties": { - "name": { - "maxLength": 100, + "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" }, - "region": { + "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" }, - "icon": { + "name": { + "type": "string" + }, + "description": { "type": [ "null", "string" ] }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/ChannelCreateSchema" - } - }, - "system_channel_id": { + "tags": { "type": "string" }, - "rules_channel_id": { - "type": "string" + "type": { + "$ref": "#/definitions/StickerType" }, - "guild_template_code": { - "type": "string" + "format_type": { + "$ref": "#/definitions/StickerFormatType" }, - "staff_only": { + "available": { "type": "boolean" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildSubscriptionsBulkSchema": { - "type": "object", - "properties": { - "subscriptions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/GuildSubscriptionSchema" - } + }, + "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" + }, + "user": { + "$ref": "#/definitions/PartialUser" + }, + "sort_value": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "subscriptions" + "description", + "format_type", + "id", + "name", + "tags", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildSubscriptionSchema": { + "CreateReportSchema": { "type": "object", "properties": { - "channels": { + "version": { + "type": "string" + }, + "variant": { + "type": "string" + }, + "name": { + "type": "string" + }, + "language": { + "type": "string" + }, + "breadcrumbs": { + "type": "array", + "items": { + "type": "integer" + } + }, + "elements": { "type": "object", "additionalProperties": { "type": "array", "items": { - "type": "array", - "items": { - "type": "integer" - } + "type": "string" } } }, - "activities": { - "type": "boolean" + "channel_id": { + "type": "string" }, - "threads": { - "type": "boolean" + "message_id": { + "type": "string" }, - "typing": { - "const": true, - "type": "boolean" + "guild_id": { + "type": "string" }, - "members": { - "type": "array", - "items": { - "type": "string" - } + "stage_instance_id": { + "type": "string" }, - "member_updates": { - "type": "boolean" + "guild_scheduled_event_id": { + "type": "string" }, - "thread_member_lists": { - "type": "array", - "items": {} - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildTemplateCreateSchema": { - "type": "object", - "properties": { - "name": { + "reported_user_id": { "type": "string" }, - "icon": { - "type": [ - "null", - "string" - ] + "application_id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "widget_id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "name" + "breadcrumbs", + "language", + "name", + "variant", + "version" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildUpdateSchema": { + "IdentifySchema": { "type": "object", "properties": { - "banner": { - "type": [ - "null", - "string" - ] + "token": { + "type": "string" }, - "splash": { - "type": [ - "null", - "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 }, - "description": { - "type": "string" + "intents": { + "type": "bigint" }, - "features": { - "type": "array", - "items": { - "type": "string" - } + "presence": { + "$ref": "#/definitions/ActivitySchema" }, - "verification_level": { - "type": "integer" + "compress": { + "type": "boolean" }, - "default_message_notifications": { + "large_threshold": { "type": "integer" }, - "system_channel_flags": { + "largeThreshold": { "type": "integer" }, - "explicit_content_filter": { - "type": "integer" + "shard": { + "minItems": 2, + "maxItems": 2, + "type": "array", + "items": { + "type": "bigint" + } }, - "public_updates_channel_id": { - "type": "string" + "guild_subscriptions": { + "type": "boolean" }, - "afk_timeout": { + "capabilities": { "type": "integer" }, - "afk_channel_id": { - "type": "string" - }, - "preferred_locale": { - "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 }, - "premium_progress_bar_enabled": { - "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 }, - "discovery_splash": { + "v": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "properties", + "token" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "StreamCreateSchema": { + "type": "object", + "properties": { + "type": { + "enum": [ + "call", + "guild" + ], "type": "string" }, - "safety_alerts_channel_id": { - "type": [ - "null", - "string" - ] - }, - "name": { - "maxLength": 100, + "channel_id": { "type": "string" }, - "region": { + "guild_id": { "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": { + "preferred_region": { "type": "string" } }, "additionalProperties": false, + "required": [ + "channel_id", + "type" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "HubWaitlistSignupSchema": { + "StreamDeleteSchema": { "type": "object", "properties": { - "email": { - "type": "string" - }, - "school": { + "stream_key": { "type": "string" } }, "additionalProperties": false, "required": [ - "email", - "school" + "stream_key" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "InviteCreateSchema": { + "StreamWatchSchema": { "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": { + "stream_key": { "type": "string" - }, - "target_user_type": { - "type": "integer" - }, - "flags": { - "type": "integer" } }, "additionalProperties": false, + "required": [ + "stream_key" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, "APIErrorResponse": { @@ -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,2662 +2770,2496 @@ ], "$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" + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } }, - "data": {} - }, - "additionalProperties": false, - "required": [ - "data", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InteractionCallbacksSchema": { - "anyOf": [ - { - "$ref": "#/definitions/PongCallback" - }, - { - "$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": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationModifySchema": { - "type": "object", - "properties": { - "description": { - "type": "string" + "premium_tier": { + "type": "integer" }, - "icon": { - "type": "string" + "unavailable": { + "type": "boolean" }, - "cover_image": { - "type": "string" + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." }, - "interactions_endpoint_url": { + "widget_channel_id": { "type": "string" }, - "max_participants": { - "type": [ - "null", - "integer" - ] - }, - "name": { - "type": "string" + "widget_enabled": { + "type": "boolean" }, - "privacy_policy_url": { - "type": "string" + "nsfw_level": { + "type": "integer" }, - "role_connections_verification_url": { - "type": "string" + "permissions": { + "type": "integer" }, - "tags": { + "channel_ordering": { "type": "array", "items": { "type": "string" } }, - "terms_of_service_url": { - "type": "string" - }, - "bot_public": { - "type": "boolean" - }, - "bot_require_code_grant": { - "type": "boolean" - }, - "flags": { + "discovery_weight": { "type": "integer" }, - "custom_install_url": { - "type": "string" - }, - "guild_id": { - "type": "string" + "discovery_excluded": { + "type": "boolean" } }, "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SendableApplicationCommandDataSchema": { - "type": "object", + "required": [ + "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#" + }, + "APIPublicUser": { + "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" }, - "type": { - "enum": [ - 1, - 2, - 3, - 4 - ], - "type": "number" + "premium_since": { + "type": "string", + "format": "date-time" }, - "name": { + "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": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - } - }, - "additionalProperties": false, - "required": [ - "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" + "username": { + "type": "string" }, - "custom_id": { + "discriminator": { "type": "string" }, - "values": { + "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": "#/definitions/AvatarDecorationData" + }, + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" + }, + "collectibles": { + "$ref": "#/definitions/Collectibles" + }, + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" } }, "additionalProperties": false, "required": [ - "custom_id" + "bio", + "bot", + "discriminator", + "id", + "premium_since", + "premium_type", + "public_flags", + "username" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "SendableModalSubmitDataSchema": { + "APIPrivateUser": { "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```", + "email": { "type": "string" }, - "custom_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" }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/UploadAttachmentRequestSchema" - } - } - }, - "additionalProperties": false, - "required": [ - "custom_id", - "id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "InstanceUserDeleteSchema": { - "$ref": "#/definitions/InstanceUserDeleteSchemaContent", - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserSettingsUpdateSchema": { - "type": "object", - "properties": { - "afk_timeout": { + "flags": { "type": "integer" }, - "allow_accessibility_detection": { - "type": "boolean" - }, - "animate_emoji": { + "verified": { "type": "boolean" }, - "animate_stickers": { - "type": "integer" - }, - "contact_sync_enabled": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "convert_emoticons": { - "type": "boolean" + "avatar": { + "type": "string" }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/definitions/CustomStatus" - }, - { - "type": "null" - } - ] + "banner": { + "type": "string" }, - "default_guilds_restricted": { - "type": "boolean" + "bio": { + "type": "string" }, - "detect_platform_accounts": { - "type": "boolean" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "developer_mode": { - "type": "boolean" + "pronouns": { + "type": "string" }, - "disable_games_tab": { - "type": "boolean" + "username": { + "type": "string" }, - "enable_tts_command": { - "type": "boolean" + "discriminator": { + "type": "string" }, - "explicit_content_filter": { + "public_flags": { "type": "integer" }, - "friend_discovery_flags": { + "accent_color": { "type": "integer" }, - "friend_source_flags": { - "$ref": "#/definitions/FriendSourceFlags" - }, - "gateway_connected": { - "type": "boolean" - }, - "gif_auto_play": { + "bot": { "type": "boolean" }, - "guild_folders": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildFolder" - } + "premium_type": { + "type": "integer" }, - "guild_positions": { + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "inline_attachment_media": { - "type": "boolean" - }, - "inline_embed_media": { - "type": "boolean" - }, - "locale": { - "type": "string" + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" }, - "message_display_compact": { - "type": "boolean" + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" }, - "native_phone_integration_enabled": { - "type": "boolean" + "collectibles": { + "$ref": "#/definitions/Collectibles" }, - "render_embeds": { - "type": "boolean" + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" }, - "render_reactions": { + "mfa_enabled": { "type": "boolean" }, - "restricted_guilds": { - "type": "array", - "items": { - "type": "string" - } + "phone": { + "type": "string" }, - "show_current_game": { + "nsfw_allowed": { "type": "boolean" }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], - "type": "string" - }, - "stream_notifications_enabled": { + "premium": { "type": "boolean" }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "purchased_flags": { + "type": "integer" }, - "timezone_offset": { + "premium_usage_flags": { "type": "integer" }, - "view_nsfw_guilds": { + "disabled": { "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#" }, - "UserSettingsSchema": { + "APIGuildArray": { + "type": "array", + "items": { + "$ref": "#/definitions/APIGuild" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "APIDMChannelArray": { + "type": "array", + "items": { + "$ref": "#/definitions/DmChannelDTO" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "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": { + "verified": { "type": "boolean" }, - "convert_emoticons": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "custom_status": { - "anyOf": [ - { - "$ref": "#/definitions/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": "#/definitions/FriendSourceFlags" - }, - "gateway_connected": { - "type": "boolean" + "accent_color": { + "type": "integer" }, - "gif_auto_play": { + "bot": { "type": "boolean" }, - "guild_folders": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildFolder" - } + "premium_type": { + "type": "integer" }, - "guild_positions": { + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "inline_attachment_media": { - "type": "boolean" - }, - "inline_embed_media": { - "type": "boolean" - }, - "locale": { - "type": "string" + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" }, - "message_display_compact": { - "type": "boolean" + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" }, - "native_phone_integration_enabled": { - "type": "boolean" + "collectibles": { + "$ref": "#/definitions/Collectibles" }, - "render_embeds": { - "type": "boolean" + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" }, - "render_reactions": { + "mfa_enabled": { "type": "boolean" }, - "restricted_guilds": { - "type": "array", - "items": { - "type": "string" - } + "phone": { + "type": "string" }, - "show_current_game": { + "nsfw_allowed": { "type": "boolean" }, - "status": { - "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online" - ], - "type": "string" - }, - "stream_notifications_enabled": { + "premium": { "type": "boolean" }, - "theme": { - "enum": [ - "dark", - "light" - ], - "type": "string" + "purchased_flags": { + "type": "integer" }, - "timezone_offset": { + "premium_usage_flags": { "type": "integer" }, - "view_nsfw_guilds": { + "disabled": { "type": "boolean" + }, + "settings": { + "$ref": "#/definitions/UserSettingsSchema" } }, "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" + "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#" }, - "GuildProfileResponse": { + "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": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "instanceName": { + "type": "string", + "default": "Spacebar Instance" }, - "icon_hash": { + "serverName": { "type": [ "null", "string" - ] - }, - "member_count": { - "type": "integer" - }, - "online_count": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "brand_color_primary": { - "type": "string" + ], + "default": null }, - "banner_hash": { + "instanceDescription": { "type": [ "null", "string" - ] - }, - "game_application_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "game_activity": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/GameActivity" - } + ], + "default": "This is a Spacebar instance made in the pre-release days" }, - "tag": { + "frontPage": { "type": [ "null", "string" - ] - }, - "badge": { - "$ref": "#/definitions/GuildBadgeType" - }, - "badge_color_primary": { - "type": "string" - }, - "badge_color_secondary": { - "type": "string" - }, - "badge_hash": { - "type": "string" + ], + "default": null }, - "traits": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildTrait" - } + "tosPage": { + "type": [ + "null", + "string" + ], + "default": null }, - "features": { - "type": "array", - "items": { - "type": "string" - } + "correspondenceEmail": { + "type": [ + "null", + "string" + ], + "default": null }, - "visibility": { - "$ref": "#/definitions/GuildVisibilityLevel" + "correspondenceUserID": { + "type": [ + "null", + "string" + ], + "default": null }, - "custom_banner_hash": { + "image": { "type": [ "null", "string" - ] + ], + "default": null }, - "premium_subscription_count": { - "type": "integer" + "instanceId": { + "type": "string" }, - "premium_tier": { - "type": "integer" + "autoCreateBotUsers": { + "type": "boolean", + "default": false } }, "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", - "name", - "online_count", - "premium_subscription_count", - "premium_tier", - "tag", - "traits", - "visibility" + "autoCreateBotUsers", + "correspondenceEmail", + "correspondenceUserID", + "frontPage", + "image", + "instanceDescription", + "instanceId", + "instanceName", + "serverName", + "tosPage" ], "$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" - } + "APIChannelArray": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" }, - "additionalProperties": false, - "required": [ - "available", - "id" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StickersResponse": { + "APIMemberArray": { "type": "array", "items": { - "$ref": "#/definitions/StickerResponse" + "$ref": "#/definitions/Member" }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "StickerResponse": { + "APIPublicMember": { + "additionalProperties": false, "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" }, - "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```", + "guild_id": { "type": "string" }, - "name": { + "flags": { + "type": "integer" + }, + "nick": { "type": "string" }, - "description": { - "type": [ - "null", - "string" - ] + "joined_at": { + "type": "string", + "format": "date-time" }, - "tags": { + "pending": { + "type": "boolean" + }, + "deaf": { + "type": "boolean" + }, + "mute": { + "type": "boolean" + }, + "premium_since": { + "type": "integer" + }, + "avatar": { "type": "string" }, - "type": { - "$ref": "#/definitions/StickerType" + "banner": { + "type": "string" }, - "format_type": { - "$ref": "#/definitions/StickerFormatType" + "bio": { + "type": "string" }, - "available": { - "type": "boolean" + "theme_colors": { + "type": "array", + "items": { + "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```", + "pronouns": { "type": "string" }, + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, "user": { - "$ref": "#/definitions/PartialUser" + "$ref": "#/definitions/PublicUser" }, - "sort_value": { - "type": "integer" + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, - "additionalProperties": false, "required": [ - "description", - "format_type", + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", "id", - "name", - "tags", - "type" + "joined_at", + "mute", + "pending", + "roles", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CreateReportSchema": { + "APIGuildWithJoinedAt": { "type": "object", "properties": { - "version": { + "joined_at": { "type": "string" }, - "variant": { + "id": { "type": "string" }, "name": { "type": "string" }, - "language": { + "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" }, - "breadcrumbs": { - "type": "array", - "items": { - "type": "integer" - } + "premium_subscription_count": { + "type": "integer" }, - "elements": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } + "premium_tier": { + "type": "integer" }, - "channel_id": { + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen" + }, + "widget_channel_id": { "type": "string" }, - "message_id": { + "widget_enabled": { + "type": "boolean" + }, + "nsfw_level": { + "type": "integer" + }, + "nsfw": { + "type": "boolean" + }, + "parent": { "type": "string" }, - "guild_id": { + "region": { "type": "string" }, - "stage_instance_id": { + "banner": { + "type": [ + "null", + "string" + ] + }, + "icon": { + "type": [ + "null", + "string" + ] + }, + "system_channel_id": { "type": "string" }, - "guild_scheduled_event_id": { + "rules_channel_id": { "type": "string" }, - "reported_user_id": { + "guild_template_code": { "type": "string" }, - "application_id": { + "staff_only": { + "type": "boolean" + }, + "splash": { + "type": [ + "null", + "string" + ] + }, + "description": { "type": "string" }, - "user_id": { + "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" }, - "widget_id": { + "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": [ - "breadcrumbs", - "language", + "id", + "joined_at", "name", - "variant", - "version" + "nsfw", + "welcome_screen", + "widget_enabled" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "IdentifySchema": { + "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": { - "token": { - "type": "string" + "user": { + "$ref": "#/definitions/UserLimits" }, - "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" + "guild": { + "$ref": "#/definitions/GuildLimits" }, - "capabilities": { - "type": "integer" + "message": { + "$ref": "#/definitions/MessageLimits" }, - "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 + "channel": { + "$ref": "#/definitions/ChannelLimits" }, - "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 + "rate": { + "$ref": "#/definitions/RateLimits" }, - "v": { - "type": "integer" + "absoluteRate": { + "$ref": "#/definitions/GlobalRateLimits" } }, "additionalProperties": false, "required": [ - "properties", - "token" + "absoluteRate", + "channel", + "guild", + "message", + "rate", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamCreateSchema": { + "APIConnectionsConfiguration": { + "type": "object", + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UpdatesResponse": { "type": "object", "properties": { - "type": { - "enum": [ - "call", - "guild" - ], + "name": { "type": "string" }, - "channel_id": { + "pub_date": { "type": "string" }, - "guild_id": { + "url": { "type": "string" }, - "preferred_region": { - "type": "string" + "notes": { + "type": [ + "null", + "string" + ] } }, "additionalProperties": false, "required": [ - "channel_id", - "type" + "name", + "notes", + "pub_date", + "url" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamDeleteSchema": { + "UploadAttachmentResponseSchema": { "type": "object", "properties": { - "stream_key": { - "type": "string" + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/UploadAttachmentResponse" + } } }, "additionalProperties": false, "required": [ - "stream_key" + "attachments" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StreamWatchSchema": { + "UploadAttachmentResponse": { "type": "object", "properties": { - "stream_key": { + "id": { + "type": "string" + }, + "upload_url": { + "type": "string" + }, + "upload_filename": { + "type": "string" + }, + "original_content_type": { "type": "string" } }, "additionalProperties": false, "required": [ - "stream_key" + "upload_filename", + "upload_url" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "VoiceIdentifySchema": { + "UserNoteResponse": { "type": "object", "properties": { - "server_id": { + "note": { "type": "string" }, - "user_id": { + "note_user_id": { "type": "string" }, - "session_id": { + "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" }, - "channel_id": { - "type": "string" + "connected_accounts": { + "$ref": "#/definitions/PublicConnectedAccount" }, - "token": { - "type": "string" + "premium_guild_since": { + "type": "string", + "format": "date-time" }, - "video": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "streams": { + "mutual_guilds": { "type": "array", "items": { "type": "object", "properties": { - "type": { - "enum": [ - "audio", - "screen", - "video" - ], + "id": { "type": "string" }, - "rid": { + "nick": { "type": "string" - }, - "quality": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "quality", - "rid", - "type" + "id" ] } }, - "max_secure_frames_version": { + "premium_type": { "type": "integer" }, - "max_dave_protocol_version": { + "profile_themes_experiment_bucket": { "type": "integer" + }, + "user_profile": { + "$ref": "#/definitions/UserProfile" + }, + "guild_member": { + "$ref": "#/definitions/PublicMember" + }, + "guild_member_profile": { + "$ref": "#/definitions/PublicMemberProfile" + }, + "badges": { + "type": "array", + "items": { + "$ref": "#/definitions/Badge" + } } }, "additionalProperties": false, "required": [ - "server_id", - "session_id", - "token", - "user_id" + "badges", + "connected_accounts", + "mutual_guilds", + "premium_type", + "profile_themes_experiment_bucket", + "user", + "user_profile" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "VoiceVideoSchema": { + "UserRelationResponse": { "type": "object", "properties": { - "audio_ssrc": { - "type": "integer" + "id": { + "type": "string" }, - "video_ssrc": { - "type": "integer" + "username": { + "type": "string" }, - "rtx_ssrc": { - "type": "integer" + "discriminator": { + "type": "string" }, - "user_id": { + "avatar": { "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" - ] - } + "public_flags": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "audio_ssrc", - "video_ssrc" + "discriminator", + "id", + "public_flags", + "username" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuild": { + "UserRelationsResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/UserRelationResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "UserRelationshipsResponse": { "type": "object", "properties": { - "name": { + "id": { "type": "string" }, - "region": { - "type": "string" + "type": { + "$ref": "#/definitions/RelationshipType" }, - "insert": { - "type": "object", - "additionalProperties": false + "nickname": { + "type": "null" + }, + "user": { + "$ref": "#/definitions/PublicUser" + } + }, + "additionalProperties": false, + "required": [ + "id", + "nickname", + "type", + "user" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "WebAuthnCreateResponse": { + "type": "object", + "properties": { + "name": { + "type": "string" }, "id": { "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "id", + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "WebhookCreateResponse": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/User" }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } + "hook": { + "$ref": "#/definitions/Webhook" + } + }, + "additionalProperties": false, + "required": [ + "hook", + "user" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ActivitySchema": { + "type": "object", + "properties": { + "afk": { + "type": "boolean" }, - "members": { + "status": { + "$ref": "#/definitions/Status" + }, + "activities": { "type": "array", "items": { - "$ref": "#/definitions/Member" + "$ref": "#/definitions/Activity" } }, - "icon": { - "type": "string" - }, - "system_channel_id": { - "type": [ - "null", - "string" - ] - }, - "rules_channel_id": { - "type": [ - "null", - "string" - ] + "since": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "status" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationAuthorizeSchema": { + "type": "object", + "properties": { + "authorize": { + "type": "boolean" }, - "banner": { + "guild_id": { "type": "string" }, - "splash": { + "permissions": { "type": "string" }, - "description": { + "captcha_key": { "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": [ - "null", - "string" - ] - }, - "afk_timeout": { - "type": "integer" - }, - "afk_channel_id": { - "type": [ - "null", - "string" - ] - }, - "preferred_locale": { + "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" }, - "premium_progress_bar_enabled": { + "mention_raid_protection_enabled": { "type": "boolean" - }, - "discovery_splash": { - "type": "string" - }, - "roles": { + } + }, + "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": { - "$ref": "#/definitions/Role" - } - }, - "parent": { - "type": "string" - }, - "owner_id": { - "type": "string" - }, - "nsfw": { - "type": "boolean" + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "invites": { + "presets": { "type": "array", - "items": { - "$ref": "#/definitions/Invite" - } - }, - "voice_states": { + "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": { - "$ref": "#/definitions/VoiceState" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "webhooks": { + "keyword_filter": { "type": "array", - "items": { - "$ref": "#/definitions/Webhook" - } - }, - "member_count": { - "type": "integer" - }, - "get_annotations": { - "type": "object", - "additionalProperties": false - }, - "clean_data": { - "type": "object", - "additionalProperties": false + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "bans": { + "regex_patterns": { "type": "array", - "items": { - "$ref": "#/definitions/Ban" - } - }, - "primary_category_id": { + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 + } + }, + "additionalProperties": false, + "required": [ + "allow_list", + "keyword_filter", + "regex_patterns" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AutomodRuleSchema": { + "type": "object", + "properties": { + "creator_id": { "type": "string" }, - "large": { + "enabled": { "type": "boolean" }, - "max_members": { - "type": "integer" - }, - "max_presences": { - "type": "integer" - }, - "max_video_channel_users": { - "type": "integer" - }, - "presence_count": { + "event_type": { "type": "integer" }, - "template_id": { - "type": "string" - }, - "emojis": { + "exempt_channels": { "type": "array", - "items": { - "$ref": "#/definitions/Emoji" - } + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "stickers": { + "exempt_roles": { "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." + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "maxItems": 1 }, - "widget_channel_id": { + "guild_id": { "type": "string" }, - "widget_enabled": { - "type": "boolean" - }, - "nsfw_level": { - "type": "integer" + "name": { + "type": "string" }, - "permissions": { + "position": { "type": "integer" }, - "channel_ordering": { - "type": "array", - "items": { - "type": "string" - } - }, - "discovery_weight": { + "trigger_type": { "type": "integer" }, - "discovery_excluded": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "bans", - "channel_ordering", - "channels", - "clean_data", - "discovery_excluded", - "discovery_weight", - "emojis", - "features", - "get_annotations", - "id", - "insert", - "invites", - "members", + "trigger_metadata": { + "anyOf": [ + { + "$ref": "#/definitions/AutomodMentionSpamRuleSchema" + }, + { + "$ref": "#/definitions/AutomodSuspectedSpamRuleSchema" + }, + { + "$ref": "#/definitions/AutomodCommonlyFlaggedWordsRuleSchema" + }, + { + "$ref": "#/definitions/AutomodCustomWordsRuleSchema" + } + ] + } + }, + "additionalProperties": false, + "required": [ + "creator_id", + "enabled", + "event_type", + "exempt_channels", + "exempt_roles", + "guild_id", "name", - "nsfw", - "premium_progress_bar_enabled", - "public_updates_channel_id", - "roles", - "stickers", - "unavailable", - "voice_states", - "webhooks", - "welcome_screen", - "widget_enabled" + "position", + "trigger_metadata", + "trigger_type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIPublicUser": { + "BackupCodesChallengeSchema": { "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": { + "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_since": { - "type": "string", - "format": "date-time" + "delete_message_days": { + "type": "integer" }, - "avatar": { + "reason": { "type": "string" - }, - "bio": { + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BanModeratorSchema": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { + "user_id": { "type": "string" }, - "username": { + "guild_id": { "type": "string" }, - "discriminator": { + "executor_id": { "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": "#/definitions/AvatarDecorationData" - }, - "display_name_styles": { - "$ref": "#/definitions/DisplayNameStyle" - }, - "collectibles": { - "$ref": "#/definitions/Collectibles" - }, - "primary_guild": { - "$ref": "#/definitions/PrimaryGuild" + "reason": { + "type": "string" } }, "additionalProperties": false, "required": [ - "bio", - "bot", - "discriminator", + "executor_id", + "guild_id", "id", - "premium_since", - "premium_type", - "public_flags", - "username" + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIPrivateUser": { + "BanRegistrySchema": { "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": { + "user_id": { "type": "string" }, - "verified": { - "type": "boolean" - }, - "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" - }, - "public_flags": { - "type": "integer" - }, - "accent_color": { - "type": "integer" - }, - "bot": { - "type": "boolean" - }, - "premium_type": { - "type": "integer" - }, - "badge_ids": { + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "BulkBanSchema": { + "type": "object", + "properties": { + "user_ids": { "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": { - "type": "string" - }, - "nsfw_allowed": { - "type": "boolean" - }, - "premium": { - "type": "boolean" - }, - "purchased_flags": { - "type": "integer" - }, - "premium_usage_flags": { + "delete_message_seconds": { "type": "integer" - }, - "disabled": { - "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" + "user_ids" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuildArray": { - "type": "array", - "items": { - "$ref": "#/definitions/APIGuild" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIDMChannelArray": { - "type": "array", - "items": { - "$ref": "#/definitions/DmChannelDTO" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "APIBackupCodeArray": { - "type": "array", - "items": { - "$ref": "#/definitions/BackupCode" + "BulkDeleteSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "type": "string" + } + } }, + "additionalProperties": false, + "required": [ + "messages" + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserUpdateResponse": { + "ChannelModifySchema": { "type": "object", "properties": { - "newToken": { + "name": { "type": "string" }, - "email": { - "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" }, - "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```", + "topic": { "type": "string" }, - "flags": { + "icon": { + "type": [ + "null", + "string" + ] + }, + "bitrate": { "type": "integer" }, - "banner": { - "type": "string" + "user_limit": { + "type": "integer" }, - "verified": { - "type": "boolean" + "rate_limit_per_user": { + "type": "integer" }, - "premium_since": { - "type": "string", - "format": "date-time" + "position": { + "type": "integer" }, - "avatar": { - "type": "string" + "invitable": { + "type": "boolean" }, - "bio": { - "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" + ] + } }, - "theme_colors": { + "applied_tags": { "type": "array", "items": { - "type": "integer" + "type": "string" } }, - "pronouns": { + "parent_id": { "type": "string" }, - "username": { + "id": { "type": "string" }, - "discriminator": { - "type": "string" + "nsfw": { + "type": "boolean" }, - "public_flags": { - "type": "integer" + "rtc_region": { + "type": "string" }, - "accent_color": { + "default_auto_archive_duration": { "type": "integer" }, - "bot": { - "type": "boolean" + "default_reaction_emoji": { + "type": [ + "null", + "string" + ] }, - "premium_type": { + "flags": { "type": "integer" }, - "badge_ids": { - "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" + "default_thread_rate_limit_per_user": { + "type": "integer" }, - "mfa_enabled": { - "type": "boolean" + "video_quality_mode": { + "type": "integer" }, - "phone": { - "type": "string" + "auto_archive_duration": { + "type": "integer" }, - "nsfw_allowed": { + "archived": { "type": "boolean" }, - "premium": { + "locked": { "type": "boolean" }, - "purchased_flags": { - "type": "integer" + "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, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ChannelPermissionOverwriteSchema": { + "type": "object", + "properties": { + "allow": { + "type": "string" }, - "premium_usage_flags": { - "type": "integer" + "deny": { + "type": "string" }, - "disabled": { - "type": "boolean" + "id": { + "type": "string" }, - "settings": { - "$ref": "#/definitions/UserSettingsSchema" + "type": { + "$ref": "#/definitions/ChannelPermissionOverwriteType" } }, "additionalProperties": false, "required": [ - "bio", - "bot", - "disabled", - "discriminator", - "flags", + "allow", + "deny", "id", - "mfa_enabled", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "username", - "verified" + "type" ], "$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": { + "ChannelReorderSchema": { "type": "array", "items": { - "$ref": "#/definitions/Categories" + "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#" }, - "APIGeneralConfiguration": { + "CodesVerificationSchema": { "type": "object", "properties": { - "instanceName": { + "key": { "type": "string" }, - "serverName": { - "type": [ - "null", - "string" - ] - }, - "instanceDescription": { - "type": [ - "null", - "string" - ] - }, - "frontPage": { - "type": [ - "null", - "string" - ] - }, - "tosPage": { - "type": [ - "null", - "string" - ] - }, - "correspondenceEmail": { - "type": [ - "null", - "string" - ] - }, - "correspondenceUserID": { - "type": [ - "null", - "string" - ] - }, - "image": { - "type": [ - "null", - "string" - ] - }, - "instanceId": { + "nonce": { "type": "string" }, - "autoCreateBotUsers": { + "regenerate": { "type": "boolean" } }, "additionalProperties": false, "required": [ - "autoCreateBotUsers", - "correspondenceEmail", - "correspondenceUserID", - "frontPage", - "image", - "instanceDescription", - "instanceId", - "instanceName", - "serverName", - "tosPage" + "key", + "nonce" ], "$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, + "ConnectedAccountSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "guild_id": { - "type": "string" - }, - "flags": { - "type": "integer" - }, - "banner": { + "external_id": { "type": "string" }, - "nick": { + "user_id": { "type": "string" }, - "joined_at": { - "type": "string", - "format": "date-time" + "token_data": { + "$ref": "#/definitions/ConnectedAccountTokenData" }, - "pending": { + "friend_sync": { "type": "boolean" }, - "deaf": { - "type": "boolean" + "name": { + "type": "string" }, - "mute": { + "revoked": { "type": "boolean" }, - "premium_since": { + "show_activity": { "type": "integer" }, - "avatar": { - "type": "string" - }, - "bio": { - "type": "string" - }, - "theme_colors": { - "type": "array", - "items": { - "type": "integer" - } - }, - "pronouns": { + "type": { "type": "string" }, - "communication_disabled_until": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] + "verified": { + "type": "boolean" }, - "user": { - "$ref": "#/definitions/PublicUser" + "visibility": { + "type": "integer" }, - "roles": { + "integrations": { "type": "array", "items": { "type": "string" } + }, + "metadata_": {}, + "metadata_visibility": { + "type": "integer" + }, + "two_way_link": { + "type": "boolean" } }, + "additionalProperties": false, "required": [ - "banner", - "bio", - "communication_disabled_until", - "deaf", - "flags", - "guild_id", - "id", - "joined_at", - "mute", - "pending", - "roles", - "user" + "external_id", + "name", + "type", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIGuildWithJoinedAt": { + "ConnectedAccountCommonOAuthTokenResponse": { "type": "object", "properties": { - "joined_at": { + "access_token": { "type": "string" }, - "id": { + "token_type": { "type": "string" }, - "name": { + "scope": { "type": "string" }, - "large": { - "type": "boolean" + "refresh_token": { + "type": "string" }, - "max_members": { + "expires_in": { "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": { + } + }, + "additionalProperties": false, + "required": [ + "access_token", + "scope", + "token_type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ConnectionCallbackSchema": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "premium_subscription_count": { - "type": "integer" - }, - "premium_tier": { - "type": "integer" - }, - "welcome_screen": { - "$ref": "#/definitions/GuildWelcomeScreen" - }, - "widget_channel_id": { + "state": { "type": "string" }, - "widget_enabled": { + "insecure": { "type": "boolean" }, - "nsfw_level": { - "type": "integer" - }, - "nsfw": { + "friend_sync": { "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": { + "openid_params": {} + }, + "additionalProperties": false, + "required": [ + "friend_sync", + "insecure", + "state" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ConnectionUpdateSchema": { + "type": "object", + "properties": { + "visibility": { "type": "boolean" }, - "banner": { - "type": [ - "null", - "string" - ] - }, - "splash": { - "type": [ - "null", - "string" - ] + "show_activity": { + "type": "boolean" }, - "description": { + "metadata_visibility": { + "type": "boolean" + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "DmChannelCreateSchema": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "features": { + "recipients": { "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": { + "recipient_id": { "type": "string" }, - "afk_timeout": { - "type": "integer" - }, - "afk_channel_id": { - "type": "string" + "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" }, - "preferred_locale": { + "email": { "type": "string" }, - "premium_progress_bar_enabled": { + "use_verification_code": { "type": "boolean" }, - "discovery_splash": { + "guild_id": { "type": "string" - }, - "safety_alerts_channel_id": { - "type": [ - "null", - "string" - ] } }, "additionalProperties": false, "required": [ - "id", - "joined_at", - "name", - "nsfw", - "welcome_screen", - "widget_enabled" + "allow_multiple_guilds", + "email", + "use_verification_code" ], "$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": { + "EmailDomainLookupVerifyCodeSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/UserLimits" - }, - "guild": { - "$ref": "#/definitions/GuildLimits" - }, - "message": { - "$ref": "#/definitions/MessageLimits" - }, - "channel": { - "$ref": "#/definitions/ChannelLimits" + "email": { + "type": "string" }, - "rate": { - "$ref": "#/definitions/RateLimits" + "guild_id": { + "type": "string" }, - "absoluteRate": { - "$ref": "#/definitions/GlobalRateLimits" + "code": { + "type": "string" } }, "additionalProperties": false, "required": [ - "absoluteRate", - "channel", - "guild", - "message", - "rate", - "user" + "code", + "email", + "guild_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIConnectionsConfiguration": { - "type": "object", - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UpdatesResponse": { + "EmojiCreateSchema": { "type": "object", "properties": { "name": { "type": "string" }, - "pub_date": { - "type": "string" - }, - "url": { + "image": { "type": "string" }, - "notes": { + "require_colons": { "type": [ "null", - "string" + "boolean" ] + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, "additionalProperties": false, "required": [ - "name", - "notes", - "pub_date", - "url" + "image" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UploadAttachmentResponseSchema": { + "EmojiModifySchema": { "type": "object", "properties": { - "attachments": { + "name": { + "type": "string" + }, + "roles": { "type": "array", "items": { - "$ref": "#/definitions/UploadAttachmentResponse" + "type": "string" } } }, "additionalProperties": false, - "required": [ - "attachments" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UploadAttachmentResponse": { + "ForgotPasswordSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "upload_url": { - "type": "string" - }, - "upload_filename": { + "login": { "type": "string" }, - "original_content_type": { + "captcha_key": { "type": "string" } }, "additionalProperties": false, "required": [ - "upload_filename", - "upload_url" + "login" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserNoteResponse": { + "GreetRequestSchema": { "type": "object", "properties": { - "note": { - "type": "string" + "sticker_ids": { + "type": "array", + "items": { + "type": "string" + } }, - "note_user_id": { - "type": "string" + "allowed_mentions": { + "$ref": "#/definitions/AllowedMentions" }, - "user_id": { - "type": "string" + "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": [ - "note", - "note_user_id", - "user_id" + "sticker_ids" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserProfileResponse": { + "GuildCreateSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/PublicUser" - }, - "connected_accounts": { - "$ref": "#/definitions/PublicConnectedAccount" + "name": { + "maxLength": 100, + "type": "string" }, - "premium_guild_since": { - "type": "string", - "format": "date-time" + "region": { + "type": "string" }, - "premium_since": { - "type": "string", - "format": "date-time" + "icon": { + "type": [ + "null", + "string" + ] }, - "mutual_guilds": { + "channels": { "type": "array", "items": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "nick": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] + "$ref": "#/definitions/ChannelCreateSchema" } }, - "premium_type": { - "type": "integer" - }, - "profile_themes_experiment_bucket": { - "type": "integer" - }, - "user_profile": { - "$ref": "#/definitions/UserProfile" + "system_channel_id": { + "type": "string" }, - "guild_member": { - "$ref": "#/definitions/PublicMember" + "rules_channel_id": { + "type": "string" }, - "guild_member_profile": { - "$ref": "#/definitions/PublicMemberProfile" + "guild_template_code": { + "type": "string" }, - "badges": { - "type": "array", - "items": { - "$ref": "#/definitions/Badge" - } + "staff_only": { + "type": "boolean" } }, "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": { + "GuildSubscriptionsBulkSchema": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "public_flags": { - "type": "integer" + "subscriptions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/GuildSubscriptionSchema" + } } }, "additionalProperties": false, "required": [ - "discriminator", - "id", - "public_flags", - "username" + "subscriptions" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "UserRelationsResponse": { - "type": "array", - "items": { - "$ref": "#/definitions/UserRelationResponse" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UserRelationshipsResponse": { + "GuildSubscriptionSchema": { "type": "object", "properties": { - "id": { - "type": "string" + "channels": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "integer" + } + } + } }, - "type": { - "$ref": "#/definitions/RelationshipType" + "members": { + "type": "array", + "items": { + "type": "string" + } }, - "nickname": { - "type": "null" + "activities": { + "type": "boolean" }, - "user": { - "$ref": "#/definitions/PublicUser" + "threads": { + "type": "boolean" + }, + "typing": { + "const": true, + "type": "boolean" + }, + "member_updates": { + "type": "boolean" + }, + "thread_member_lists": { + "type": "array", + "items": {} } }, "additionalProperties": false, - "required": [ - "id", - "nickname", - "type", - "user" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "WebAuthnCreateResponse": { + "GuildTemplateCreateSchema": { "type": "object", "properties": { "name": { "type": "string" }, - "id": { - "type": "string" + "icon": { + "type": [ + "null", + "string" + ] } }, "additionalProperties": false, "required": [ - "id", "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "WebhookCreateResponse": { + "GuildUpdateSchema": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/User" + "banner": { + "type": [ + "null", + "string" + ] }, - "hook": { - "$ref": "#/definitions/Webhook" - } - }, - "additionalProperties": false, - "required": [ - "hook", - "user" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MFAResponse": { - "type": "object", - "properties": { - "ticket": { - "type": "string" + "splash": { + "type": [ + "null", + "string" + ] }, - "mfa": { - "type": "boolean", - "const": true + "description": { + "type": "string" }, - "sms": { - "type": "boolean", - "const": false + "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#" + }, + "MFAResponse": { + "type": "object", + "properties": { + "ticket": { + "type": "string" + }, + "mfa": { + "type": "boolean", + "const": true + }, + "sms": { + "type": "boolean", + "const": false }, "token": { "type": "null" @@ -6605,6 +6291,22 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, + "RoleMembersUpdateSchema": { + "type": "object", + "properties": { + "member_ids": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "required": [ + "member_ids" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, "RolePositionUpdateSchema": { "type": "array", "items": { @@ -7446,13 +7148,7 @@ "name": { "type": "string" }, - "type": { - "enum": [ - 11, - 12 - ], - "type": "number" - }, + "type": {}, "invitable": { "type": "boolean" }, @@ -7473,9 +7169,7 @@ }, "embeds": { "type": "array", - "items": { - "$ref": "#/definitions/Embed" - } + "items": {} }, "allowed_mentions": { "type": "object", @@ -7508,9 +7202,7 @@ "anyOf": [ { "type": "array", - "items": { - "$ref": "#/definitions/BaseMessageComponents" - } + "items": {} }, { "type": "null" @@ -7765,229 +7457,458 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "EmojisResponse": { - "type": "array", - "items": { - "$ref": "#/definitions/EmojiResponse" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "EmojiResponse": { + "VoiceIdentifySchema": { "type": "object", "properties": { - "id": { - "type": [ - "null", - "string" - ] - }, - "name": { - "type": [ - "null", - "string" - ] + "server_id": { + "type": "string" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + "user_id": { + "type": "string" }, - "user": { - "$ref": "#/definitions/PartialUser" + "session_id": { + "type": "string" }, - "require_colons": { - "type": "boolean" + "channel_id": { + "type": "string" }, - "managed": { - "type": "boolean" + "token": { + "type": "string" }, - "animated": { + "video": { "type": "boolean" }, - "available": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SessionsLogoutSchema": { - "type": "object", - "properties": { - "session_ids": { + "streams": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], + "type": "string" + }, + "rid": { + "type": "string" + }, + "quality": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "quality", + "rid", + "type" + ] } }, - "session_id_hashes": { - "type": "array", - "items": { - "type": "string" - } + "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#" }, - "GetSessionsResponse": { + "VoiceVideoSchema": { "type": "object", "properties": { - "user_sessions": { + "audio_ssrc": { + "type": "integer" + }, + "video_ssrc": { + "type": "integer" + }, + "rtx_ssrc": { + "type": "integer" + }, + "user_id": { + "type": "string" + }, + "streams": { "type": "array", "items": { "type": "object", "properties": { - "id": { + "type": { + "enum": [ + "audio", + "screen", + "video" + ], "type": "string" }, - "id_hash": { + "rid": { "type": "string" }, - "status": { - "type": "string" + "ssrc": { + "type": "integer" }, - "activities": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/Activity" - } - } + "active": { + "type": "boolean" }, - "client_status": { - "$ref": "#/definitions/ClientStatus" + "quality": { + "type": "integer" }, - "approx_last_used_time": { - "type": "string" + "rtx_ssrc": { + "type": "integer" }, - "client_info": { + "max_bitrate": { + "type": "integer" + }, + "max_framerate": { + "type": "integer" + }, + "max_resolution": { "type": "object", "properties": { - "client": { - "type": "string" - }, - "os": { + "type": { "type": "string" }, - "version": { + "width": { "type": "integer" }, - "location": { - "type": "string" + "height": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "client", - "location", - "os", - "version" + "height", + "type", + "width" ] - }, - "last_seen": { - "type": "string", - "format": "date-time" - }, - "last_seen_ip": { - "type": "string" - }, - "last_seen_location": { - "type": "string" } }, "additionalProperties": false, "required": [ - "activities", - "approx_last_used_time", - "client_info", - "client_status", - "id", - "id_hash", - "status" + "rid", + "type" ] } } }, "additionalProperties": false, "required": [ - "user_sessions" + "audio_ssrc", + "video_ssrc" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationCommandOption": { + "ApplicationCommandCreateSchema": { "type": "object", "properties": { "type": { - "$ref": "#/definitions/ApplicationCommandOptionType" + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "number" }, "name": { "type": "string" }, + "name_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "description": { "type": "string" }, - "required": { + "description_localizations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandOption" + } + }, + "default_member_permissions": { + "type": "string" + }, + "dm_permission": { "type": "boolean" }, - "choices": { + "nsfw": { + "type": "boolean" + }, + "integration_types": { "type": "array", "items": { - "$ref": "#/definitions/ApplicationCommandOptionChoice" + "$ref": "#/definitions/ApplicationIntegrationType" } }, - "options": { + "contexts": { "type": "array", "items": { - "$ref": "#/definitions/ApplicationCommandOption" + "$ref": "#/definitions/InteractionContextType" } + }, + "handler": { + "enum": [ + 1, + 2, + 3 + ], + "type": "number" } }, "additionalProperties": false, "required": [ - "description", - "name", - "type" + "name" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationCommandOptionType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], + "BulkApplicationCommandCreateSchema": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandCreateSchema" + }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "ApplicationCommandOptionChoice": { + "EmojisResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/EmojiResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "EmojiResponse": { "type": "object", "properties": { - "name": { - "type": "string" + "id": { + "type": [ + "null", + "string" + ] }, - "value": { + "name": { "type": [ - "string", - "integer" + "null", + "string" ] + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "user": { + "$ref": "#/definitions/PartialUser" + }, + "require_colons": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + }, + "animated": { + "type": "boolean" + }, + "available": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "name", - "value" + "id", + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SessionsLogoutSchema": { + "type": "object", + "properties": { + "session_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "session_id_hashes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GetSessionsResponse": { + "type": "object", + "properties": { + "user_sessions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "id_hash": { + "type": "string" + }, + "status": { + "type": "string" + }, + "activities": { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/Activity" + } + } + }, + "client_status": { + "$ref": "#/definitions/ClientStatus" + }, + "approx_last_used_time": { + "type": "string" + }, + "client_info": { + "type": "object", + "properties": { + "client": { + "type": "string" + }, + "os": { + "type": "string" + }, + "version": { + "type": "integer" + }, + "location": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "client", + "location", + "os", + "version" + ] + }, + "last_seen": { + "type": "string", + "format": "date-time" + }, + "last_seen_ip": { + "type": "string" + }, + "last_seen_location": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "activities", + "approx_last_used_time", + "client_info", + "client_status", + "id", + "id_hash", + "status" + ] + } + } + }, + "additionalProperties": false, + "required": [ + "user_sessions" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationCommandOption": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ApplicationCommandOptionType" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "choices": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandOptionChoice" + } + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationCommandOption" + } + } + }, + "additionalProperties": false, + "required": [ + "description", + "name", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationCommandOptionType": { + "type": "number", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ApplicationCommandOptionChoice": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": [ + "string", + "integer" + ] + } + }, + "additionalProperties": false, + "required": [ + "name", + "value" ], "$schema": "http://json-schema.org/draft-07/schema#" }, @@ -8111,231 +8032,272 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "Status": { + "InteractionCallbackType": { + "type": "number", "enum": [ - "dnd", - "idle", - "invisible", - "offline", - "online", - "unknown" + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 ], - "type": "string", "$schema": "http://json-schema.org/draft-07/schema#" }, - "Activity": { + "PongCallback": { "type": "object", "properties": { - "name": { - "type": "string" - }, "type": { - "$ref": "#/definitions/ActivityType" + "$ref": "#/definitions/InteractionCallbackType.PONG" }, - "url": { - "type": "string" + "data": {} + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.PONG": { + "type": "number", + "const": 1, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "AckCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.ACKNOWLEDGE" }, - "created_at": { - "type": "integer" + "data": {} + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.ACKNOWLEDGE": { + "type": "number", + "const": 2, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE" }, - "timestamps": { - "type": "object", - "properties": { - "start": { - "type": "integer" - }, - "end": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "end", - "start" - ] + "data": {} + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "InteractionCallbackType.CHANNEL_MESSAGE": { + "type": "number", + "const": 3, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageWSourceCallback": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/InteractionCallbackType.CHANNEL_MESSAGE_WITH_SOURCE" }, - "application_id": { + "data": { + "$ref": "#/definitions/InteractionMessage" + } + }, + "additionalProperties": false, + "required": [ + "data", + "type" + ], + "$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": { + "type": "object", + "properties": { + "content": { "type": "string" }, - "details": { + "tts": { + "type": "boolean" + }, + "embeds": { + "type": "array", + "items": { + "$ref": "#/definitions/Embed" + } + }, + "allowed_mentions": { + "$ref": "#/definitions/AllowedMentions" + }, + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseMessageComponents" + } + }, + "flags": { + "type": "integer" + }, + "attachments": { + "type": "array", + "items": {} + }, + "poll": {} + }, + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Embed": { + "type": "object", + "properties": { + "title": { "type": "string" }, - "state": { + "type": { + "enum": [ + "article", + "gifv", + "image", + "link", + "rich", + "video" + ], "type": "string" }, - "emoji": { + "description": { + "type": "string" + }, + "url": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "color": { + "type": "integer" + }, + "footer": { "type": "object", "properties": { - "name": { + "text": { "type": "string" }, - "id": { + "icon_url": { "type": "string" }, - "animated": { - "type": "boolean" + "proxy_icon_url": { + "type": "string" } }, "additionalProperties": false, "required": [ - "animated", - "name" + "text" ] }, - "party": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "size": { - "type": "array", - "items": { - "type": "integer" - } - } - }, - "additionalProperties": false + "image": { + "$ref": "#/definitions/EmbedImage" }, - "assets": { + "thumbnail": { + "$ref": "#/definitions/EmbedImage" + }, + "video": { + "$ref": "#/definitions/EmbedImage" + }, + "provider": { "type": "object", "properties": { - "large_image": { - "type": "string" - }, - "large_text": { - "type": "string" - }, - "small_image": { + "name": { "type": "string" }, - "small_text": { + "url": { "type": "string" } }, "additionalProperties": false }, - "secrets": { + "author": { "type": "object", "properties": { - "join": { + "name": { "type": "string" }, - "spectate": { + "url": { "type": "string" }, - "match": { + "icon_url": { + "type": "string" + }, + "proxy_icon_url": { "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": { + "fields": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { "type": "string" - } - }, - "context_uri": { - "type": "string" - }, - "album_id": { - "type": "string" - }, - "artist_ids": { - "type": "array", - "items": { + }, + "value": { "type": "string" + }, + "inline": { + "type": "boolean" } }, - "type": { - "enum": [ - "episode", - "track" - ], - "type": "string" - } - }, - "additionalProperties": false - }, - "session_id": { - "type": "string" + "additionalProperties": false, + "required": [ + "name", + "value" + ] + } } }, "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#" - }, - "ChannelPermissionOverwriteType": { - "type": "number", - "enum": [ - 0, - 1, - 2 - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ConnectedAccountTokenData": { + "EmbedImage": { "type": "object", "properties": { - "access_token": { + "url": { "type": "string" }, - "token_type": { + "proxy_url": { "type": "string" }, - "scope": { - "type": "string" + "height": { + "type": "integer" }, - "refresh_token": { - "type": "string" - }, - "expires_in": { - "type": "integer" - }, - "expires_at": { - "type": "integer" - }, - "fetched_at": { + "width": { "type": "integer" } }, "additionalProperties": false, - "required": [ - "access_token", - "fetched_at" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, "AllowedMentions": { @@ -8371,1048 +8333,926 @@ "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "Classification": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "classification_type": { - "$ref": "#/definitions/ClassificationType" + "BaseMessageComponents": { + "anyOf": [ + { + "$ref": "#/definitions/SectionComponent" }, - "description": { - "type": "string" + { + "$ref": "#/definitions/TextDisplayComponent" }, - "explainer_link": { - "type": "string" + { + "$ref": "#/definitions/MediaGalleryComponent" }, - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/ClassificationAction" - } + { + "$ref": "#/definitions/FileComponent" }, - "max_expiration_time": { - "type": "string" + { + "$ref": "#/definitions/SeperatorComponent" }, - "flagged_content": { - "type": "array", - "items": {} + { + "$ref": "#/definitions/ActionRowComponent" }, - "appeal_status": { - "$ref": "#/definitions/AppealStatus" + { + "$ref": "#/definitions/ContainerComponent" + } + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SectionComponent": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/MessageComponentType.Section" }, - "is_coppa": { - "type": "boolean" + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/TextDisplayComponent" + } }, - "is_spam": { - "type": "boolean" + "accessory": { + "anyOf": [ + { + "$ref": "#/definitions/ThumbnailComponent" + }, + { + "$ref": "#/definitions/ButtonComponent" + } + ] }, - "appeal_ingestion_type": { - "$ref": "#/definitions/AppealIngestionType" + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "actions", - "appeal_ingestion_type", - "appeal_status", - "classification_type", - "description", - "explainer_link", - "flagged_content", - "id", - "is_coppa", - "is_spam", - "max_expiration_time" + "accessory", + "components", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClassificationType": { + "MessageComponentType.Section": { "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": 9, "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClassificationAction": { + "TextDisplayComponent": { "type": "object", "properties": { - "id": { - "type": "string" + "type": { + "$ref": "#/definitions/MessageComponentType.TextDisplay" }, - "action_type": { - "$ref": "#/definitions/ClassificationActionType" + "content": { + "type": "string" }, - "descriptions": { - "type": "array", - "items": { - "type": "string" - } + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "action_type", - "descriptions", - "id" + "content", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ClassificationActionType": { + "MessageComponentType.TextDisplay": { "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 20, - 22 - ], + "const": 10, "$schema": "http://json-schema.org/draft-07/schema#" }, - "AppealStatus": { + "ThumbnailComponent": { "type": "object", "properties": { - "status": { - "$ref": "#/definitions/AppealStatusValue" + "type": { + "$ref": "#/definitions/MessageComponentType.Thumbnail" + }, + "description": { + "type": "string" + }, + "media": { + "$ref": "#/definitions/UnfurledMediaItem" + }, + "spoiler": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "status" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "AppealStatusValue": { - "type": "number", - "enum": [ - 1, - 2, - 3 + "media", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AppealIngestionType": { + "MessageComponentType.Thumbnail": { "type": "number", - "enum": [ - 0, - 1, - 2 - ], + "const": 11, "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildClassification": { + "UnfurledMediaItem": { "type": "object", "properties": { - "guild_metadata": { - "$ref": "#/definitions/GuildMetadata" - }, "id": { "type": "string" }, - "classification_type": { - "$ref": "#/definitions/ClassificationType" - }, - "description": { + "url": { "type": "string" }, - "explainer_link": { + "proxy_url": { "type": "string" }, - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/ClassificationAction" - } + "height": { + "type": "integer" }, - "max_expiration_time": { - "type": "string" + "width": { + "type": "integer" }, - "flagged_content": { - "type": "array", - "items": {} + "flags": { + "type": "integer" }, - "appeal_status": { - "$ref": "#/definitions/AppealStatus" + "content_type": { + "type": "string" }, - "is_coppa": { - "type": "boolean" + "content_scan_metadata": {}, + "placeholder_version": { + "type": "integer" }, - "is_spam": { - "type": "boolean" + "placeholder": { + "type": "string" }, - "appeal_ingestion_type": { - "$ref": "#/definitions/AppealIngestionType" + "loading_state": { + "type": "integer" + }, + "attachment_id": { + "type": "string" } }, "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" + "url" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildMetadata": { + "ButtonComponent": { "type": "object", "properties": { - "name": { + "type": { + "$ref": "#/definitions/MessageComponentType.Button" + }, + "style": { + "$ref": "#/definitions/ButtonStyle" + }, + "label": { "type": "string" }, - "icon": { + "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" + ] + } + ] + }, + "custom_id": { "type": "string" }, - "member_type": { - "$ref": "#/definitions/GuildMemberType" + "sku_id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "member_type", - "name" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "GuildMemberType": { - "type": "number", - "enum": [ - 1, - 2 + "style", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AccountStandingState": { + "MessageComponentType.Button": { "type": "number", - "enum": [ - 100, - 200, - 300, - 400, - 500 - ], + "const": 2, "$schema": "http://json-schema.org/draft-07/schema#" }, - "AppealEligibility": { + "ButtonStyle": { "type": "number", "enum": [ 1, 2, - 3 + 3, + 4, + 5, + 6 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesCategoryItem": { + "MediaGalleryComponent": { "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" + "type": { + "$ref": "#/definitions/MessageComponentType.MediaGallery" }, - "hero_ranking": { - "anyOf": [ - { - "type": "array", - "items": { + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "media": { + "$ref": "#/definitions/UnfurledMediaItem" + }, + "description": { "type": "string" + }, + "spoiler": { + "type": "boolean" } }, - { - "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" + "additionalProperties": false, + "required": [ + "media" + ] } }, - "banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" - }, - "hero_banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" + "id": { + "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" + "items", + "type" ], "$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" - ], + "MessageComponentType.MediaGallery": { + "type": "number", + "const": 12, "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesCategoryProductItem": { + "FileComponent": { "type": "object", "properties": { - "sku_id": { - "type": "string" - }, - "name": { - "type": "string" + "type": { + "$ref": "#/definitions/MessageComponentType.File" }, - "summary": { - "type": "string" + "file": { + "$ref": "#/definitions/UnfurledMediaItem" }, - "store_listing_id": { - "type": "string" + "spoiler": { + "type": "boolean" }, - "banner": { + "name": { "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": { + "size": { "type": "integer" }, - "premium_type": { + "id": { "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", + "file", "name", - "premium_type", - "prices", - "sku_id", - "store_listing_id", - "styles", - "summary", - "type", - "unpublished_at" + "size", + "spoiler", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CountryPrice": { + "MessageComponentType.File": { + "type": "number", + "const": 13, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SeperatorComponent": { "type": "object", "properties": { - "country_code": { - "type": "string" + "type": { + "$ref": "#/definitions/MessageComponentType.Separator" }, - "prices": { - "type": "array", - "items": { - "$ref": "#/definitions/PriceEntry" - } + "divider": { + "type": "boolean" + }, + "spacing": { + "enum": [ + 1, + 2 + ], + "type": "number" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "country_code", - "prices" + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PriceEntry": { + "MessageComponentType.Separator": { + "type": "number", + "const": 14, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ActionRowComponent": { "type": "object", "properties": { - "amount": { - "type": "integer" + "type": { + "$ref": "#/definitions/MessageComponentType.ActionRow" }, - "currency": { - "type": "string" + "components": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/ButtonComponent" + }, + { + "$ref": "#/definitions/SelectMenuComponent" + }, + { + "$ref": "#/definitions/StringSelectMenuComponent" + }, + { + "$ref": "#/definitions/TextInputComponent" + } + ] + } }, - "exponent": { + "id": { "type": "integer" } }, "additionalProperties": false, "required": [ - "amount", - "currency", - "exponent" + "components", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ProductItem": { + "MessageComponentType.ActionRow": { + "type": "number", + "const": 1, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SelectMenuComponent": { "type": "object", "properties": { "type": { - "type": "integer" + "enum": [ + 3, + 5, + 6, + 7, + 8 + ], + "type": "number" }, - "id": { + "custom_id": { "type": "string" }, - "sku_id": { - "type": "string" + "channel_types": { + "type": "array", + "items": { + "type": "integer" + } }, - "asset": { + "placeholder": { "type": "string" }, - "label": { - "type": "string" + "default_values": { + "type": "array", + "items": { + "$ref": "#/definitions/SelectMenuDefaultOption" + } }, - "palette": { - "type": "string" + "min_values": { + "type": "integer" + }, + "max_values": { + "type": "integer" + }, + "disabled": { + "type": "boolean" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "id", - "sku_id", + "custom_id", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ProductItemVariant": { + "SelectMenuDefaultOption": { "type": "object", "properties": { - "sku_id": { + "id": { "type": "string" }, - "name": { + "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" }, - "name_localizations": { - "type": "null" + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/SelectMenuOption" + } }, - "summary": { + "custom_id": { "type": "string" }, - "summary_localizations": { - "type": "null" - }, - "store_listing_id": { - "type": "string" + "channel_types": { + "type": "array", + "items": { + "type": "integer" + } }, - "banner": { + "placeholder": { "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": { + "default_values": { "type": "array", "items": { - "$ref": "#/definitions/ProductItem" + "$ref": "#/definitions/SelectMenuDefaultOption" } }, - "type": { + "min_values": { "type": "integer" }, - "premium_type": { + "max_values": { "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" + "disabled": { + "type": "boolean" }, - "variant_value": { - "type": "string" + "id": { + "type": "integer" } }, "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" + "custom_id", + "options", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StaticAnimatedAsset": { + "MessageComponentType.StringSelect": { + "type": "number", + "const": 3, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "SelectMenuOption": { "type": "object", "properties": { - "animated": { - "type": [ - "null", - "string" - ] + "label": { + "type": "string" }, - "static": { + "value": { + "type": "string" + }, + "description": { "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": [ - "animated", - "static" + "label", + "value" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "CollectiblesMarketingItem": { + "TextInputComponent": { "type": "object", "properties": { "type": { + "$ref": "#/definitions/MessageComponentType.TextInput" + }, + "custom_id": { + "type": "string" + }, + "style": { + "$ref": "#/definitions/TextInputStyle" + }, + "label": { + "type": "string" + }, + "min_length": { "type": "integer" }, - "version": { + "max_length": { "type": "integer" }, - "title": { + "required": { + "type": "boolean" + }, + "value": { "type": "string" }, - "body": { + "placeholder": { "type": "string" + }, + "id": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "body", - "title", - "type", - "version" + "custom_id", + "label", + "style", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "AnyShopBlock": { - "anyOf": [ - { - "$ref": "#/definitions/ItemRowShopBlock" - }, - { - "$ref": "#/definitions/BundleTileRowShopBlock" - }, - { - "$ref": "#/definitions/ItemCollectionShopBlock" - } + "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#" }, - "ItemRowShopBlock": { + "ContainerComponent": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 0 - }, - "category_sku_id": { - "type": "string" + "$ref": "#/definitions/MessageComponentType.Container" }, - "name": { - "type": "string" + "components": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/SectionComponent" + }, + { + "$ref": "#/definitions/TextDisplayComponent" + }, + { + "$ref": "#/definitions/MediaGalleryComponent" + }, + { + "$ref": "#/definitions/FileComponent" + }, + { + "$ref": "#/definitions/SeperatorComponent" + }, + { + "$ref": "#/definitions/ActionRowComponent" + } + ] + } }, - "category_store_listing_id": { - "type": "string" + "accent_color": { + "type": "integer" }, - "banner_asset": { - "$ref": "#/definitions/StaticAnimatedAsset" + "spoiler": { + "type": "boolean" }, - "logo_url": { - "type": "string" - }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "summary": { - "type": "string" - }, - "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", - "name", - "ranked_sku_ids", - "summary", - "type", - "unpublished_at" + "components", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "BundleTileRowShopBlock": { + "MessageComponentType.Container": { + "type": "number", + "const": 17, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageDWSourceCallback": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 1 + "$ref": "#/definitions/InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE" }, - "subblocks": { - "type": "array", - "items": { - "$ref": "#/definitions/ShopBlockSubBlock" - } + "data": { + "$ref": "#/definitions/InteractionMessage" } }, "additionalProperties": false, "required": [ - "subblocks", + "data", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ShopBlockSubBlock": { + "InteractionCallbackType.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE": { + "type": "number", + "const": 5, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageUpdateCallback": { "type": "object", "properties": { "type": { - "type": "integer" - }, - "category_store_listing_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "unpublished_at": { - "type": [ - "null", - "string" - ] - }, - "banner_url": { - "type": "string" - }, - "body_text": { - "type": [ - "null", - "string" - ] + "$ref": "#/definitions/InteractionCallbackType.UPDATE_MESSAGE" }, - "banner_text_color": { - "type": [ - "null", - "integer" - ] + "data": { + "$ref": "#/definitions/InteractionMessage" } }, "additionalProperties": false, "required": [ - "banner_text_color", - "banner_url", - "body_text", - "category_store_listing_id", - "name", - "type", - "unpublished_at" + "data", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ItemCollectionShopBlock": { + "InteractionCallbackType.UPDATE_MESSAGE": { + "type": "number", + "const": 7, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageDUpdateCallback": { "type": "object", "properties": { "type": { - "type": "integer", - "const": 2 + "$ref": "#/definitions/InteractionCallbackType.DEFERRED_UPDATE_MESSAGE" }, - "ranked_sku_ids": { + "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" } }, - "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" - ] + "locale": { + "type": "string" } }, "additionalProperties": false, "required": [ - "ranked_sku_ids", - "sorted_sku_ids", - "type" + "features", + "id", + "locale" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Guild": { + "Channel": { "type": "object", "properties": { - "afk_channel_id": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" + }, + "icon": { "type": [ "null", "string" ] }, - "afk_channel": { - "$ref": "#/definitions/Channel" + "type": { + "$ref": "#/definitions/ChannelType" }, - "afk_timeout": { - "type": "integer" + "recipients": { + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + } }, - "bans": { + "thread_members": { "type": "array", "items": { - "$ref": "#/definitions/Ban" + "$ref": "#/definitions/ThreadMember" } }, - "banner": { + "last_message_id": { "type": "string" }, - "default_message_notifications": { - "type": "integer" - }, - "description": { + "guild_id": { "type": "string" }, - "discovery_splash": { - "type": "string" + "guild": { + "$ref": "#/definitions/Guild" }, - "explicit_content_filter": { - "type": "integer" + "parent_id": { + "type": [ + "null", + "string" + ] }, - "features": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "parent": { + "$ref": "#/definitions/Channel" }, - "primary_category_id": { + "owner_id": { "type": "string" }, - "icon": { - "type": "string" + "owner": { + "$ref": "#/definitions/User" }, - "large": { - "type": "boolean", - "default": false + "last_pin_timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "max_members": { + "default_auto_archive_duration": { "type": "integer" }, - "max_presences": { - "type": "integer" + "permission_overwrites": { + "type": "array", + "items": { + "$ref": "#/definitions/ChannelPermissionOverwrite" + } }, - "max_video_channel_users": { + "video_quality_mode": { "type": "integer" }, - "member_count": { + "bitrate": { "type": "integer" }, - "presence_count": { + "user_limit": { "type": "integer" }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/Member" - } - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } + "nsfw": { + "type": "boolean", + "default": false }, - "channels": { - "type": "array", - "items": { - "$ref": "#/definitions/Channel" - } + "rate_limit_per_user": { + "type": "integer" }, - "template_id": { + "topic": { "type": "string" }, - "template": { - "$ref": "#/definitions/Template" - }, - "emojis": { + "invites": { "type": "array", "items": { - "$ref": "#/definitions/Emoji" + "$ref": "#/definitions/Invite" } }, - "stickers": { + "retention_policy_id": { + "type": "string" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/Sticker" + "$ref": "#/definitions/Message" } }, - "invites": { + "voice_states": { "type": "array", "items": { - "$ref": "#/definitions/Invite" + "$ref": "#/definitions/VoiceState" } }, - "voice_states": { + "read_states": { "type": "array", "items": { - "$ref": "#/definitions/VoiceState" + "$ref": "#/definitions/ReadState" } }, "webhooks": { @@ -9421,314 +9261,311 @@ "$ref": "#/definitions/Webhook" } }, - "mfa_level": { - "type": "integer" - }, - "name": { - "type": "string" + "flags": { + "type": "integer", + "default": 0 }, - "owner_id": { - "type": "string" + "default_thread_rate_limit_per_user": { + "type": "integer", + "default": 0 }, - "owner": { - "$ref": "#/definitions/User" + "thread_metadata": { + "$ref": "#/definitions/ThreadMetadata" }, - "preferred_locale": { - "type": "string" + "member_count": { + "type": "integer" }, - "premium_subscription_count": { + "message_count": { "type": "integer" }, - "premium_tier": { + "total_message_sent": { "type": "integer" }, - "public_updates_channel_id": { - "type": [ - "null", - "string" - ] + "available_tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } }, - "public_updates_channel": { - "$ref": "#/definitions/Channel" + "applied_tags": { + "type": "array", + "items": { + "type": "string" + } }, - "rules_channel_id": { + "status": { "type": [ "null", "string" ] }, - "rules_channel": { + "position": { + "description": "Must be calculated Channel.calculatePosition", + "type": "integer" + }, + "id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "created_at", + "flags", + "id", + "nsfw", + "owner", + "parent_id", + "position", + "type" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "ChannelType": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 255 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Recipient": { + "type": "object", + "properties": { + "channel_id": { "type": "string" }, - "region": { + "channel": { + "$ref": "#/definitions/Channel" + }, + "user_id": { "type": "string" }, - "splash": { + "user": { + "$ref": "#/definitions/User" + }, + "closed": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "channel", + "channel_id", + "closed", + "id", + "user", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "User": { + "type": "object", + "properties": { + "username": { "type": "string" }, - "system_channel_id": { - "type": [ - "null", - "string" - ] + "discriminator": { + "type": "string" }, - "system_channel": { - "$ref": "#/definitions/Channel" + "avatar": { + "type": "string" }, - "system_channel_flags": { + "accent_color": { "type": "integer" }, - "unavailable": { - "type": "boolean", - "default": false + "banner": { + "type": "string" }, - "verification_level": { - "type": "integer" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "welcome_screen": { - "$ref": "#/definitions/GuildWelcomeScreen", - "description": "DEPRECATED: Look at the new Guild onboarding screens." + "pronouns": { + "type": "string" }, - "widget_channel_id": { + "phone": { "type": "string" }, - "widget_channel": { - "$ref": "#/definitions/Channel" + "desktop": { + "type": "boolean", + "default": false }, - "widget_enabled": { + "mobile": { "type": "boolean", - "default": true + "default": false }, - "nsfw_level": { + "premium": { + "type": "boolean" + }, + "premium_type": { "type": "integer" }, - "nsfw": { + "bot": { "type": "boolean", "default": false }, - "parent": { - "type": "string" - }, - "permissions": { - "type": "integer" + "bio": { + "type": "string", + "default": "" }, - "premium_progress_bar_enabled": { + "system": { "type": "boolean", "default": false }, - "channel_ordering": { - "type": "array", - "items": { - "type": "string" - } + "nsfw_allowed": { + "type": "boolean", + "default": true }, - "discovery_weight": { - "type": "integer", - "default": 0 + "mfa_enabled": { + "type": "boolean", + "default": false }, - "discovery_excluded": { + "webauthn_enabled": { "type": "boolean", "default": false }, - "id": { - "type": "string" - } - }, - "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" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Channel": { - "type": "object", - "properties": { - "created_at": { + "totp_secret": { "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - }, - "icon": { - "type": [ - "null", - "string" - ] - }, - "type": { - "$ref": "#/definitions/ChannelType" - }, - "recipients": { - "type": "array", - "items": { - "$ref": "#/definitions/Recipient" - } + "default": "" }, - "thread_members": { - "type": "array", - "items": { - "$ref": "#/definitions/ThreadMember" - } + "totp_last_ticket": { + "type": "string", + "default": "" }, - "last_message_id": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "guild_id": { - "type": "string" + "premium_since": { + "type": "string", + "format": "date-time" }, - "guild": { - "$ref": "#/definitions/Guild" + "verified": { + "type": "boolean" }, - "parent_id": { - "type": [ - "null", - "string" - ] + "disabled": { + "type": "boolean", + "default": false }, - "parent": { - "$ref": "#/definitions/Channel" + "deleted": { + "type": "boolean", + "default": false }, - "owner_id": { + "email": { "type": "string" }, - "owner": { - "$ref": "#/definitions/User" - }, - "last_pin_timestamp": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "default_auto_archive_duration": { - "type": "integer" - }, - "permission_overwrites": { - "type": "array", - "items": { - "$ref": "#/definitions/ChannelPermissionOverwrite" - } - }, - "video_quality_mode": { - "type": "integer" - }, - "bitrate": { - "type": "integer" + "flags": { + "type": "integer", + "default": 0 }, - "user_limit": { - "type": "integer" + "public_flags": { + "type": "integer", + "default": 0 }, - "nsfw": { - "type": "boolean", - "default": false + "purchased_flags": { + "type": "integer", + "default": 0 }, - "rate_limit_per_user": { - "type": "integer" + "premium_usage_flags": { + "type": "integer", + "default": 0 }, - "topic": { + "rights": { "type": "string" }, - "invites": { + "sessions": { "type": "array", "items": { - "$ref": "#/definitions/Invite" + "$ref": "#/definitions/Session" } }, - "retention_policy_id": { - "type": "string" - }, - "messages": { + "relationships": { "type": "array", "items": { - "$ref": "#/definitions/Message" + "$ref": "#/definitions/Relationship" } }, - "voice_states": { + "connected_accounts": { "type": "array", "items": { - "$ref": "#/definitions/VoiceState" + "$ref": "#/definitions/ConnectedAccount" } }, - "read_states": { - "type": "array", - "items": { - "$ref": "#/definitions/ReadState" - } + "data": { + "type": "object", + "properties": { + "valid_tokens_since": { + "type": "string", + "format": "date-time" + }, + "hash": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "valid_tokens_since" + ] }, - "webhooks": { + "fingerprints": { "type": "array", "items": { - "$ref": "#/definitions/Webhook" - } - }, - "flags": { - "type": "integer", - "default": 0 - }, - "default_thread_rate_limit_per_user": { - "type": "integer", - "default": 0 - }, - "thread_metadata": { - "$ref": "#/definitions/ThreadMetadata" - }, - "member_count": { - "type": "integer" - }, - "message_count": { - "type": "integer" + "type": "string" + }, + "default": [] }, - "total_message_sent": { - "type": "integer" + "settings": { + "$ref": "#/definitions/UserSettings" }, - "available_tags": { + "security_keys": { "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/SecurityKey" } }, - "applied_tags": { + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "status": { - "type": [ - "null", - "string" - ] + "avatar_decoration_data": { + "$ref": "#/definitions/AvatarDecorationData" }, - "position": { - "description": "Must be calculated Channel.calculatePosition", - "type": "integer" + "display_name_styles": { + "$ref": "#/definitions/DisplayNameStyle" + }, + "collectibles": { + "$ref": "#/definitions/Collectibles" + }, + "primary_guild": { + "$ref": "#/definitions/PrimaryGuild" + }, + "tag": { + "type": "string" }, "id": { "type": "string" @@ -9736,380 +9573,290 @@ }, "additionalProperties": false, "required": [ + "bio", + "bot", + "connected_accounts", "created_at", + "data", + "deleted", + "desktop", + "disabled", + "discriminator", + "fingerprints", "flags", "id", - "nsfw", - "owner", - "parent_id", - "position", - "type" + "mfa_enabled", + "mobile", + "nsfw_allowed", + "premium", + "premium_since", + "premium_type", + "premium_usage_flags", + "public_flags", + "purchased_flags", + "relationships", + "rights", + "security_keys", + "sessions", + "system", + "tag", + "username", + "verified", + "webauthn_enabled" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ChannelType": { - "type": "number", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 255 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Recipient": { + "Session": { "type": "object", "properties": { - "channel_id": { + "session_id": { "type": "string" }, - "channel": { - "$ref": "#/definitions/Channel" - }, "user_id": { "type": "string" }, "user": { "$ref": "#/definitions/User" }, - "closed": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "channel", - "channel_id", - "closed", - "id", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "User": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "discriminator": { - "type": "string" - }, - "avatar": { - "type": "string" - }, - "accent_color": { - "type": "integer" - }, - "banner": { - "type": "string" - }, - "theme_colors": { + "activities": { "type": "array", "items": { - "type": "integer" + "$ref": "#/definitions/Activity" } }, - "pronouns": { - "type": "string" - }, - "phone": { - "type": "string" + "client_info": { + "type": "object", + "properties": { + "platform": { + "type": "string" + }, + "os": { + "type": "string" + }, + "version": { + "type": "integer" + }, + "location": { + "type": "string" + } + }, + "additionalProperties": false }, - "desktop": { - "type": "boolean", - "default": false + "client_status": { + "$ref": "#/definitions/ClientStatus" }, - "mobile": { - "type": "boolean", - "default": false + "status": { + "$ref": "#/definitions/Status" }, - "premium": { + "is_admin_session": { "type": "boolean" }, - "premium_type": { - "type": "integer" - }, - "bot": { - "type": "boolean", - "default": false - }, - "bio": { - "type": "string", - "default": "" - }, - "system": { - "type": "boolean", - "default": false - }, - "nsfw_allowed": { - "type": "boolean", - "default": true - }, - "mfa_enabled": { - "type": "boolean", - "default": false - }, - "webauthn_enabled": { - "type": "boolean", - "default": false - }, - "totp_secret": { - "type": "string", - "default": "" - }, - "totp_last_ticket": { - "type": "string", - "default": "" - }, "created_at": { "type": "string", "format": "date-time" }, - "premium_since": { + "last_seen": { "type": "string", "format": "date-time" }, - "verified": { - "type": "boolean" + "last_seen_ip": { + "type": "string" }, - "disabled": { - "type": "boolean", - "default": false + "last_seen_location": { + "type": "string" }, - "deleted": { - "type": "boolean", - "default": false + "last_seen_location_info": { + "$ref": "#/definitions/ExtendedLocationInfo" }, - "email": { + "session_nickname": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "activities", + "client_info", + "client_status", + "created_at", + "is_admin_session", + "session_id", + "status", + "user", + "user_id" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Activity": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "flags": { - "type": "integer", - "default": 0 + "type": { + "$ref": "#/definitions/ActivityType" }, - "public_flags": { - "type": "integer", - "default": 0 + "url": { + "type": "string" }, - "purchased_flags": { - "type": "integer", - "default": 0 + "created_at": { + "type": "integer" }, - "premium_usage_flags": { - "type": "integer", - "default": 0 + "timestamps": { + "type": "object", + "properties": { + "start": { + "type": "integer" + }, + "end": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "end", + "start" + ] }, - "rights": { + "application_id": { "type": "string" }, - "sessions": { - "type": "array", - "items": { - "$ref": "#/definitions/Session" - } - }, - "relationships": { - "type": "array", - "items": { - "$ref": "#/definitions/Relationship" - } + "details": { + "type": "string" }, - "connected_accounts": { - "type": "array", - "items": { - "$ref": "#/definitions/ConnectedAccount" - } + "state": { + "type": "string" }, - "data": { + "emoji": { "type": "object", "properties": { - "valid_tokens_since": { - "type": "string", - "format": "date-time" + "name": { + "type": "string" }, - "hash": { + "id": { "type": "string" + }, + "animated": { + "type": "boolean" } }, "additionalProperties": false, "required": [ - "valid_tokens_since" + "animated", + "name" ] }, - "fingerprints": { - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "settings": { - "$ref": "#/definitions/UserSettings" - }, - "security_keys": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityKey" - } - }, - "badge_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "avatar_decoration_data": { - "$ref": "#/definitions/AvatarDecorationData" + "party": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "size": { + "type": "array", + "items": { + "type": "integer" + } + } + }, + "additionalProperties": false }, - "display_name_styles": { - "$ref": "#/definitions/DisplayNameStyle" + "assets": { + "type": "object", + "properties": { + "large_image": { + "type": "string" + }, + "large_text": { + "type": "string" + }, + "small_image": { + "type": "string" + }, + "small_text": { + "type": "string" + } + }, + "additionalProperties": false }, - "collectibles": { - "$ref": "#/definitions/Collectibles" + "secrets": { + "type": "object", + "properties": { + "join": { + "type": "string" + }, + "spectate": { + "type": "string" + }, + "match": { + "type": "string" + } + }, + "additionalProperties": false }, - "primary_guild": { - "$ref": "#/definitions/PrimaryGuild" + "instance": { + "type": "boolean" }, - "tag": { + "flags": { "type": "string" }, "id": { "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "bio", - "bot", - "connected_accounts", - "created_at", - "data", - "deleted", - "desktop", - "disabled", - "discriminator", - "fingerprints", - "flags", - "id", - "mfa_enabled", - "mobile", - "nsfw_allowed", - "premium", - "premium_since", - "premium_type", - "premium_usage_flags", - "public_flags", - "purchased_flags", - "relationships", - "rights", - "security_keys", - "sessions", - "system", - "tag", - "username", - "verified", - "webauthn_enabled" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Session": { - "type": "object", - "properties": { - "session_id": { - "type": "string" }, - "user_id": { + "sync_id": { "type": "string" }, - "user": { - "$ref": "#/definitions/User" - }, - "activities": { - "type": "array", - "items": { - "$ref": "#/definitions/Activity" - } - }, - "client_info": { + "metadata": { "type": "object", "properties": { - "platform": { + "button_urls": { + "type": "array", + "items": { + "type": "string" + } + }, + "context_uri": { "type": "string" }, - "os": { + "album_id": { "type": "string" }, - "version": { - "type": "integer" + "artist_ids": { + "type": "array", + "items": { + "type": "string" + } }, - "location": { + "type": { + "enum": [ + "episode", + "track" + ], "type": "string" } }, "additionalProperties": false }, - "client_status": { - "$ref": "#/definitions/ClientStatus" - }, - "status": { - "$ref": "#/definitions/Status" - }, - "is_admin_session": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "last_seen": { - "type": "string", - "format": "date-time" - }, - "last_seen_ip": { - "type": "string" - }, - "last_seen_location": { - "type": "string" - }, - "last_seen_location_info": { - "$ref": "#/definitions/ExtendedLocationInfo" - }, - "session_nickname": { + "session_id": { "type": "string" } }, "additionalProperties": false, "required": [ - "activities", - "client_info", - "client_status", - "created_at", - "is_admin_session", + "flags", + "name", "session_id", - "status", - "user", - "user_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#" }, @@ -10135,6 +9882,18 @@ "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": { @@ -10329,6 +10088,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": { @@ -10936,305 +10727,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" + "max_presences": { + "type": "integer" }, - "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_video_channel_users": { "type": "integer" }, - "secondary_color": { + "member_count": { "type": "integer" }, - "tertiary_color": { + "presence_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": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/Member" + } + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "template_id": { + "type": "string" + }, + "template": { + "$ref": "#/definitions/Template" + }, + "emojis": { + "type": "array", + "items": { + "$ref": "#/definitions/Emoji" + } + }, + "stickers": { + "type": "array", + "items": { + "$ref": "#/definitions/Sticker" + } + }, + "invites": { + "type": "array", + "items": { + "$ref": "#/definitions/Invite" + } + }, + "voice_states": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceState" + } + }, + "webhooks": { + "type": "array", + "items": { + "$ref": "#/definitions/Webhook" + } + }, + "mfa_level": { "type": "integer" }, - "mobile_push": { - "type": "boolean" + "name": { + "type": "string" }, - "mute_config": { - "anyOf": [ - { - "$ref": "#/definitions/MuteConfig" - }, - { - "type": "null" - } - ] + "owner_id": { + "type": "string" }, - "muted": { - "type": "boolean" + "owner": { + "$ref": "#/definitions/User" }, - "suppress_everyone": { - "type": "boolean" + "preferred_locale": { + "type": "string" }, - "suppress_roles": { - "type": "boolean" + "premium_subscription_count": { + "type": "integer" }, - "version": { + "premium_tier": { "type": "integer" }, - "guild_id": { + "public_updates_channel_id": { "type": [ "null", "string" ] }, - "flags": { - "type": "integer" - }, - "mute_scheduled_events": { - "type": "boolean" + "public_updates_channel": { + "$ref": "#/definitions/Channel" }, - "hide_muted_channels": { - "type": "boolean" + "rules_channel_id": { + "type": [ + "null", + "string" + ] }, - "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": { - "type": "integer" + "rules_channel": { + "type": "string" }, - "mute_config": { - "$ref": "#/definitions/MuteConfig" + "region": { + "type": "string" }, - "muted": { - "type": "boolean" + "splash": { + "type": "string" }, - "channel_id": { + "system_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": { + "system_channel": { + "$ref": "#/definitions/Channel" + }, + "system_channel_flags": { "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" }, - "selected_time_window": { + "unavailable": { + "type": "boolean", + "default": false + }, + "verification_level": { "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": { + }, + "welcome_screen": { + "$ref": "#/definitions/GuildWelcomeScreen", + "description": "DEPRECATED: Look at the new Guild onboarding screens." + }, + "widget_channel_id": { "type": "string" }, - "deny": { + "widget_channel": { + "$ref": "#/definitions/Channel" + }, + "widget_enabled": { + "type": "boolean", + "default": true + }, + "nsfw_level": { + "type": "integer" + }, + "nsfw": { + "type": "boolean", + "default": false + }, + "parent": { "type": "string" }, + "permissions": { + "type": "integer" + }, + "premium_progress_bar_enabled": { + "type": "boolean", + "default": false + }, + "channel_ordering": { + "type": "array", + "items": { + "type": "string" + } + }, + "discovery_weight": { + "type": "integer", + "default": 0 + }, + "discovery_excluded": { + "type": "boolean", + "default": false + }, "id": { "type": "string" - }, - "type": { - "$ref": "#/definitions/ChannelPermissionOverwriteType" } }, "additionalProperties": false, "required": [ - "allow", - "deny", + "bans", + "channel_ordering", + "channels", + "discovery_excluded", + "discovery_weight", + "emojis", + "features", "id", - "type" + "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#" }, - "Invite": { + "Ban": { "type": "object", "properties": { - "code": { + "user_id": { "type": "string" }, - "temporary": { - "type": "boolean" - }, - "uses": { - "type": "integer" - }, - "max_uses": { - "type": "integer" - }, - "max_age": { - "type": "integer" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "expires_at": { - "type": "string", - "format": "date-time" + "user": { + "$ref": "#/definitions/User" }, "guild_id": { "type": "string" @@ -11242,297 +11004,90 @@ "guild": { "$ref": "#/definitions/Guild" }, - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "inviter_id": { + "executor_id": { "type": "string" }, - "inviter": { + "executor": { "$ref": "#/definitions/User" }, - "target_user_id": { + "ip": { "type": "string" }, - "target_user": { + "reason": { "type": "string" }, - "target_user_type": { - "type": "integer" - }, - "vanity_url": { - "type": "boolean" - }, - "flags": { - "type": "integer" + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "channel", - "channel_id", - "code", - "created_at", - "flags", + "executor", + "executor_id", "guild", "guild_id", - "inviter", - "max_age", - "max_uses", - "target_user_id", - "temporary", - "uses" + "id", + "user", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Message": { + "Role": { "type": "object", "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "thread_id": { - "type": "string" - }, - "thread": { - "$ref": "#/definitions/Channel" - }, "guild_id": { "type": "string" }, "guild": { "$ref": "#/definitions/Guild" }, - "author_id": { - "type": "string" + "color": { + "type": "integer" }, - "author": { - "$ref": "#/definitions/User" + "hoist": { + "type": "boolean" }, - "member_id": { - "type": "string" + "managed": { + "type": "boolean" }, - "member": { - "$ref": "#/definitions/Member" + "mentionable": { + "type": "boolean" }, - "webhook_id": { + "name": { "type": "string" }, - "webhook": { - "$ref": "#/definitions/Webhook" - }, - "application_id": { + "permissions": { "type": "string" }, - "application": { - "$ref": "#/definitions/Application" + "position": { + "type": "integer" }, - "content": { + "icon": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "unicode_emoji": { + "type": "string" }, - "edited_timestamp": { - "type": "string", - "format": "date-time" - }, - "tts": { - "type": "boolean" - }, - "mention_everyone": { - "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": { - "type": "boolean" - }, - "type": { - "$ref": "#/definitions/MessageType" - }, - "activity": { - "type": "object", - "properties": { - "type": { - "type": "integer" - }, - "party_id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "party_id", - "type" - ] + "tags": { + "type": "object", + "properties": { + "bot_id": { + "type": "string" + }, + "integration_id": { + "type": "string" + }, + "premium_subscriber": { + "type": "boolean" + } + }, + "additionalProperties": false }, "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": {}, - "additionalProperties": true - }, - "name": { - "type": "string" - }, - "command_type": { - "$ref": "#/definitions/ApplicationCommandType" - } - }, - "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" - }, - "avatar": { - "type": "string" - }, - "message_snapshots": { - "type": "array", - "items": { - "$ref": "#/definitions/MessageSnapshot" - } + "colors": { + "$ref": "#/definitions/RoleColors" }, "id": { "type": "string" @@ -11540,59 +11095,68 @@ }, "additionalProperties": false, "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" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Webhook": { + "RoleColors": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/WebhookType" + "primary_color": { + "type": "integer" }, - "name": { - "type": "string" + "secondary_color": { + "type": "integer" }, - "avatar": { + "tertiary_color": { + "type": "integer" + } + }, + "additionalProperties": false, + "required": [ + "primary_color" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Template": { + "type": "object", + "properties": { + "code": { "type": "string" }, - "token": { + "name": { "type": "string" }, - "guild_id": { + "description": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" + "usage_count": { + "type": "integer" }, - "channel_id": { + "creator_id": { "type": "string" }, - "channel": { - "$ref": "#/definitions/Channel" + "creator": { + "$ref": "#/definitions/User" }, - "application_id": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "application": { - "$ref": "#/definitions/Application" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/User" + "updated_at": { + "type": "string", + "format": "date-time" }, "source_guild_id": { "type": "string" @@ -11600,14 +11164,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,160 +11173,120 @@ }, "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": { + "user_id": { "type": "string" }, - "team": { - "$ref": "#/definitions/Team" + "user": { + "$ref": "#/definitions/User" + }, + "type": { + "$ref": "#/definitions/StickerType" + }, + "format_type": { + "$ref": "#/definitions/StickerFormatType" }, "id": { "type": "string" @@ -11776,45 +11294,37 @@ }, "additionalProperties": false, "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" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Team": { + "StickerPack": { "type": "object", "properties": { - "icon": { + "name": { "type": "string" }, - "members": { + "description": { + "type": "string" + }, + "banner_asset_id": { + "type": "string" + }, + "stickers": { "type": "array", "items": { - "$ref": "#/definitions/TeamMember" + "$ref": "#/definitions/Sticker" } }, - "name": { - "type": "string" - }, - "owner_user_id": { + "cover_sticker_id": { "type": "string" }, - "owner_user": { - "$ref": "#/definitions/User" + "cover_sticker": { + "$ref": "#/definitions/Sticker" }, "id": { "type": "string" @@ -11823,58 +11333,12 @@ "additionalProperties": false, "required": [ "id", - "members", "name", - "owner_user", - "owner_user_id" + "stickers" ], "$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": { + "StickerType": { "type": "number", "enum": [ 1, @@ -11882,35 +11346,41 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "TeamMemberRole": { - "type": "string", + "StickerFormatType": { + "type": "number", "enum": [ - "admin", - "developer", - "read_only" + 1, + 2, + 3, + 4 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "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": "#/definitions/StickerPack" + "max_age": { + "type": "integer" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "expires_at": { + "type": "string", + "format": "date-time" }, "guild_id": { "type": "string" @@ -11918,115 +11388,106 @@ "guild": { "$ref": "#/definitions/Guild" }, - "user_id": { + "channel_id": { "type": "string" }, - "user": { - "$ref": "#/definitions/User" + "channel": { + "$ref": "#/definitions/Channel" }, - "type": { - "$ref": "#/definitions/StickerType" + "inviter_id": { + "type": "string" }, - "format_type": { - "$ref": "#/definitions/StickerFormatType" + "inviter": { + "$ref": "#/definitions/User" }, - "id": { + "target_user_id": { + "type": "string" + }, + "target_user": { "type": "string" + }, + "target_user_type": { + "type": "integer" + }, + "vanity_url": { + "type": "boolean" + }, + "flags": { + "type": "integer" } }, "additionalProperties": false, "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" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "StickerPack": { + "VoiceState": { "type": "object", "properties": { - "name": { + "guild_id": { "type": "string" }, - "description": { - "type": "string" + "guild": { + "$ref": "#/definitions/Guild" }, - "banner_asset_id": { + "channel_id": { "type": "string" }, - "stickers": { - "type": "array", - "items": { - "$ref": "#/definitions/Sticker" - } + "channel": { + "$ref": "#/definitions/Channel" }, - "cover_sticker_id": { + "user_id": { "type": "string" }, - "cover_sticker": { - "$ref": "#/definitions/Sticker" + "user": { + "$ref": "#/definitions/User" }, - "id": { + "member": { + "$ref": "#/definitions/Member" + }, + "session_id": { "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name", - "stickers" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "StickerType": { - "type": "number", - "enum": [ - 1, - 2 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "StickerFormatType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "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": "#/definitions/Message" + "suppress": { + "type": "boolean" }, - "channel": { - "$ref": "#/definitions/Channel" + "request_to_speak_timestamp": { + "type": "string", + "format": "date-time" }, "id": { "type": "string" @@ -12036,1000 +11497,1044 @@ "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" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Embed": { + "Webhook": { "type": "object", "properties": { - "title": { + "type": { + "$ref": "#/definitions/WebhookType" + }, + "name": { "type": "string" }, - "type": { - "enum": [ - "article", - "gifv", - "image", - "link", - "rich", - "video" - ], + "avatar": { "type": "string" }, - "description": { + "token": { "type": "string" }, - "url": { + "guild_id": { "type": "string" }, - "timestamp": { - "type": "string", - "format": "date-time" + "guild": { + "$ref": "#/definitions/Guild" }, - "color": { - "type": "integer" + "channel_id": { + "type": "string" }, - "footer": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "text" - ] + "channel": { + "$ref": "#/definitions/Channel" }, - "image": { - "$ref": "#/definitions/EmbedImage" + "application_id": { + "type": "string" }, - "thumbnail": { - "$ref": "#/definitions/EmbedImage" + "application": { + "$ref": "#/definitions/Application" }, - "video": { - "$ref": "#/definitions/EmbedImage" + "user_id": { + "type": "string" }, - "provider": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "additionalProperties": false + "user": { + "$ref": "#/definitions/User" }, - "author": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "icon_url": { - "type": "string" - }, - "proxy_icon_url": { - "type": "string" - } - }, - "additionalProperties": false + "source_guild_id": { + "type": "string" }, - "fields": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - }, - "inline": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name", - "value" - ] - } + "source_guild": { + "$ref": "#/definitions/Guild" + }, + "source_channel_id": { + "type": "string" + }, + "source_channel": { + "$ref": "#/definitions/Channel" + }, + "url": { + "type": "string" + }, + "id": { + "type": "string" } }, "additionalProperties": false, + "required": [ + "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#" }, - "EmbedImage": { + "WebhookType": { + "type": "number", + "enum": [ + 1, + 2, + 3 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "Application": { "type": "object", "properties": { - "url": { + "name": { "type": "string" }, - "proxy_url": { + "icon": { "type": "string" }, - "height": { - "type": "integer" + "description": { + "type": "string" }, - "width": { - "type": "integer" - } - }, - "additionalProperties": false, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Reaction": { - "type": "object", - "properties": { - "count": { - "type": "integer" + "summary": { + "type": "string", + "default": "" }, - "emoji": { - "$ref": "#/definitions/PartialEmoji" + "type": { + "type": "object", + "properties": {}, + "additionalProperties": true }, - "user_ids": { + "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": "#/definitions/User" + }, + "flags": { + "type": "integer", + "default": 0 + }, + "redirect_uris": { + "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": { "type": "array", "items": { "type": "string" } - } - }, - "additionalProperties": false, - "required": [ - "count", - "emoji", - "user_ids" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "PartialEmoji": { - "anyOf": [ - { + }, + "cover_image": { + "type": "string" + }, + "install_params": { "type": "object", "properties": { - "id": { - "type": "string" + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - "name": { + "permissions": { "type": "string" - }, - "animated": { - "type": "boolean" } }, "additionalProperties": false, "required": [ - "name" + "permissions", + "scopes" ] }, - { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "id" - ] - } - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "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 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ApplicationCommandType": { - "type": "number", - "enum": [ - 1, - 2, - 3, - 4 - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "BaseMessageComponents": { - "anyOf": [ - { - "$ref": "#/definitions/SectionComponent" + "terms_of_service_url": { + "type": "string" }, - { - "$ref": "#/definitions/TextDisplayComponent" + "privacy_policy_url": { + "type": "string" }, - { - "$ref": "#/definitions/MediaGalleryComponent" + "guild_id": { + "type": "string" }, - { - "$ref": "#/definitions/FileComponent" + "guild": { + "$ref": "#/definitions/Guild" }, - { - "$ref": "#/definitions/SeperatorComponent" + "custom_install_url": { + "type": "string" }, - { - "$ref": "#/definitions/ActionRowComponent" + "team": { + "$ref": "#/definitions/Team" }, - { - "$ref": "#/definitions/ContainerComponent" + "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#" }, - "SectionComponent": { + "Team": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Section" + "icon": { + "type": "string" }, - "components": { + "members": { "type": "array", "items": { - "$ref": "#/definitions/TextDisplayComponent" + "$ref": "#/definitions/TeamMember" } }, - "accessory": { - "anyOf": [ - { - "$ref": "#/definitions/ThumbnailComponent" - }, - { - "$ref": "#/definitions/ButtonComponent" - } - ] + "name": { + "type": "string" + }, + "owner_user_id": { + "type": "string" + }, + "owner_user": { + "$ref": "#/definitions/User" }, "id": { - "type": "integer" + "type": "string" } }, "additionalProperties": false, "required": [ - "accessory", - "components", - "type" + "id", + "members", + "name", + "owner_user", + "owner_user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Section": { - "type": "number", - "const": 9, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "TextDisplayComponent": { + "TeamMember": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.TextDisplay" + "membership_state": { + "$ref": "#/definitions/TeamMemberState" }, - "content": { + "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": "integer" + "type": "string" } }, "additionalProperties": false, "required": [ - "content", - "type" + "id", + "membership_state", + "permissions", + "role", + "team", + "team_id", + "user", + "user_id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.TextDisplay": { + "TeamMemberState": { "type": "number", - "const": 10, + "enum": [ + 1, + 2 + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ThumbnailComponent": { + "TeamMemberRole": { + "type": "string", + "enum": [ + "admin", + "developer", + "read_only" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildWelcomeScreen": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Thumbnail" + "enabled": { + "type": "boolean" }, "description": { "type": "string" }, - "media": { - "$ref": "#/definitions/UnfurledMediaItem" - }, - "spoiler": { - "type": "boolean" - }, - "id": { - "type": "integer" + "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" + ] + } } }, "additionalProperties": false, "required": [ - "media", - "type" + "description", + "enabled", + "welcome_channels" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Thumbnail": { - "type": "number", - "const": 11, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "UnfurledMediaItem": { + "UserGuildSettings": { "type": "object", "properties": { - "id": { - "type": "string" + "channel_overrides": { + "anyOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ChannelOverride" + } + }, + { + "type": "null" + } + ] }, - "url": { - "type": "string" + "message_notifications": { + "type": "integer" }, - "proxy_url": { - "type": "string" + "mobile_push": { + "type": "boolean" }, - "height": { - "type": "integer" + "mute_config": { + "anyOf": [ + { + "$ref": "#/definitions/MuteConfig" + }, + { + "type": "null" + } + ] }, - "width": { - "type": "integer" + "muted": { + "type": "boolean" }, - "flags": { - "type": "integer" + "suppress_everyone": { + "type": "boolean" }, - "content_type": { - "type": "string" + "suppress_roles": { + "type": "boolean" }, - "content_scan_metadata": {}, - "placeholder_version": { + "version": { "type": "integer" }, - "placeholder": { - "type": "string" + "guild_id": { + "type": [ + "null", + "string" + ] }, - "loading_state": { + "flags": { "type": "integer" }, - "attachment_id": { - "type": "string" + "mute_scheduled_events": { + "type": "boolean" + }, + "hide_muted_channels": { + "type": "boolean" + }, + "notify_highlights": { + "type": "integer", + "const": 0 } }, "additionalProperties": false, "required": [ - "url" + "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#" }, - "ButtonComponent": { + "ChannelOverride": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Button" + "message_notifications": { + "type": "integer" }, - "style": { - "$ref": "#/definitions/ButtonStyle" + "mute_config": { + "$ref": "#/definitions/MuteConfig" }, - "label": { - "type": "string" + "muted": { + "type": "boolean" }, - "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" - ] - } + "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" }, - "custom_id": { - "type": "string" - }, - "sku_id": { - "type": "string" - }, - "url": { - "type": "string" - }, - "disabled": { - "type": "boolean" - }, - "id": { + "selected_time_window": { "type": "integer" } }, "additionalProperties": false, "required": [ - "style", - "type" + "end_time", + "selected_time_window" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Button": { - "type": "number", - "const": 2, + "ThreadMemberMuteConfig": { + "type": "object", + "properties": { + "end_time": { + "type": "string", + "format": "date-time" + }, + "selected_time_window": { + "type": "integer" + } + }, + "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }, - "ButtonStyle": { + "ThreadMemberFlags": { "type": "number", "enum": [ + 0, 1, 2, - 3, 4, - 5, - 6 + 8 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MediaGalleryComponent": { + "ChannelPermissionOverwrite": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.MediaGallery" + "allow": { + "type": "string" }, - "items": { - "type": "array", - "items": { - "type": "object", - "properties": { - "media": { - "$ref": "#/definitions/UnfurledMediaItem" - }, - "description": { - "type": "string" - }, - "spoiler": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "media" - ] - } + "deny": { + "type": "string" }, "id": { - "type": "integer" + "type": "string" + }, + "type": { + "$ref": "#/definitions/ChannelPermissionOverwriteType" } }, "additionalProperties": false, "required": [ - "items", + "allow", + "deny", + "id", "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.MediaGallery": { + "ChannelPermissionOverwriteType": { "type": "number", - "const": 12, + "enum": [ + 0, + 1, + 2 + ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "FileComponent": { + "Message": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.File" - }, - "file": { - "$ref": "#/definitions/UnfurledMediaItem" + "channel_id": { + "type": "string" }, - "spoiler": { - "type": "boolean" + "channel": { + "$ref": "#/definitions/Channel" }, - "name": { + "thread_id": { "type": "string" }, - "size": { - "type": "integer" + "thread": { + "$ref": "#/definitions/Channel" }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "file", - "name", - "size", - "spoiler", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.File": { - "type": "number", - "const": 13, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SeperatorComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Separator" + "guild_id": { + "type": "string" }, - "divider": { - "type": "boolean" + "guild": { + "$ref": "#/definitions/Guild" }, - "spacing": { - "enum": [ - 1, - 2 - ], - "type": "number" + "author_id": { + "type": "string" }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.Separator": { - "type": "number", - "const": 14, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ActionRowComponent": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.ActionRow" + "author": { + "$ref": "#/definitions/User" }, - "components": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/definitions/ButtonComponent" - }, - { - "$ref": "#/definitions/SelectMenuComponent" - }, - { - "$ref": "#/definitions/StringSelectMenuComponent" - }, - { - "$ref": "#/definitions/TextInputComponent" - } - ] - } + "member_id": { + "type": "string" }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "components", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "MessageComponentType.ActionRow": { - "type": "number", - "const": 1, - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SelectMenuComponent": { - "type": "object", - "properties": { - "type": { - "enum": [ - 3, - 5, - 6, - 7, - 8 - ], - "type": "number" + "member": { + "$ref": "#/definitions/Member" }, - "custom_id": { + "webhook_id": { "type": "string" }, - "channel_types": { - "type": "array", - "items": { - "type": "integer" - } + "webhook": { + "$ref": "#/definitions/Webhook" }, - "placeholder": { + "application_id": { "type": "string" }, - "default_values": { - "type": "array", - "items": { - "$ref": "#/definitions/SelectMenuDefaultOption" - } + "application": { + "$ref": "#/definitions/Application" }, - "min_values": { - "type": "integer" + "content": { + "type": "string" }, - "max_values": { - "type": "integer" + "timestamp": { + "type": "string", + "format": "date-time" }, - "disabled": { + "edited_timestamp": { + "type": "string", + "format": "date-time" + }, + "tts": { "type": "boolean" }, - "id": { - "type": "integer" - } - }, - "additionalProperties": false, - "required": [ - "custom_id", - "type" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "SelectMenuDefaultOption": { - "type": "object", - "properties": { - "id": { - "type": "string" + "mention_everyone": { + "type": "boolean" }, - "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" + "mentions": { + "type": "array", + "items": { + "$ref": "#/definitions/User" + } }, - "options": { + "mention_roles": { "type": "array", "items": { - "$ref": "#/definitions/SelectMenuOption" + "$ref": "#/definitions/Role" } }, - "custom_id": { - "type": "string" + "mention_channels": { + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } }, - "channel_types": { + "sticker_items": { "type": "array", "items": { - "type": "integer" + "$ref": "#/definitions/Sticker" } }, - "placeholder": { - "type": "string" + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment" + } }, - "default_values": { + "embeds": { "type": "array", "items": { - "$ref": "#/definitions/SelectMenuDefaultOption" + "$ref": "#/definitions/Embed" } }, - "min_values": { - "type": "integer" + "reactions": { + "type": "array", + "items": { + "$ref": "#/definitions/Reaction" + } }, - "max_values": { - "type": "integer" + "nonce": { + "type": "string" }, - "disabled": { + "pinned_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] + }, + "pinned": { "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": { - "type": "string" + "type": { + "$ref": "#/definitions/MessageType" }, - "value": { - "type": "string" + "activity": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "party_id": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "party_id", + "type" + ] }, - "description": { - "type": "string" + "flags": { + "type": "integer" }, - "emoji": { + "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": [ { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "animated": { - "type": "boolean" - } - }, - "additionalProperties": false, - "required": [ - "name" - ] + "$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" ] }, - "default": { - "type": "boolean" + "components": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseMessageComponents" + } + }, + "poll": { + "$ref": "#/definitions/Poll" + }, + "username": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "message_snapshots": { + "type": "array", + "items": { + "$ref": "#/definitions/MessageSnapshot" + } + }, + "id": { + "type": "string" } }, "additionalProperties": false, "required": [ - "label", - "value" + "channel", + "embeds", + "flags", + "id", + "mention_channels", + "mention_roles", + "mentions", + "message_snapshots", + "pinned", + "reactions", + "timestamp", + "type" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "TextInputComponent": { + "Attachment": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.TextInput" - }, - "custom_id": { + "filename": { "type": "string" }, - "style": { - "$ref": "#/definitions/TextInputStyle" - }, - "label": { - "type": "string" + "size": { + "type": "integer" }, - "min_length": { + "height": { "type": "integer" }, - "max_length": { + "width": { "type": "integer" }, - "required": { - "type": "boolean" + "content_type": { + "type": "string" }, - "value": { + "message_id": { "type": "string" }, - "placeholder": { + "channel_id": { "type": "string" }, + "message": { + "$ref": "#/definitions/Message" + }, + "channel": { + "$ref": "#/definitions/Channel" + }, "id": { - "type": "integer" + "type": "string" } }, "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 + "channel", + "channel_id", + "filename", + "id", + "message", + "message_id", + "size" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "ContainerComponent": { + "Reaction": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/MessageComponentType.Container" + "count": { + "type": "integer" }, - "components": { + "emoji": { + "$ref": "#/definitions/PartialEmoji" + }, + "user_ids": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/definitions/SectionComponent" - }, - { - "$ref": "#/definitions/TextDisplayComponent" - }, - { - "$ref": "#/definitions/MediaGalleryComponent" - }, - { - "$ref": "#/definitions/FileComponent" - }, - { - "$ref": "#/definitions/SeperatorComponent" - }, - { - "$ref": "#/definitions/ActionRowComponent" - } - ] + "type": "string" } - }, - "accent_color": { - "type": "integer" - }, - "spoiler": { - "type": "boolean" - }, - "id": { - "type": "integer" } }, "additionalProperties": false, "required": [ - "components", - "type" + "count", + "emoji", + "user_ids" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "MessageComponentType.Container": { + "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" + ] + } + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "MessageType": { "type": "number", - "const": 17, + "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 + ], "$schema": "http://json-schema.org/draft-07/schema#" }, "Poll": { @@ -13438,15 +12943,9 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "VoiceState": { + "ReadState": { "type": "object", "properties": { - "guild_id": { - "type": "string" - }, - "guild": { - "$ref": "#/definitions/Guild" - }, "channel_id": { "type": "string" }, @@ -13459,118 +12958,45 @@ "user": { "$ref": "#/definitions/User" }, - "member": { - "$ref": "#/definitions/Member" - }, - "session_id": { + "last_message_id": { "type": "string" }, - "token": { + "last_acked_id": { "type": "string" }, - "deaf": { - "type": "boolean" - }, - "mute": { - "type": "boolean" - }, - "self_deaf": { - "type": "boolean" - }, - "self_mute": { - "type": "boolean" - }, - "self_stream": { - "type": "boolean" + "notifications_cursor": { + "type": "string" }, - "self_video": { - "type": "boolean" + "mention_count": { + "type": "integer" }, - "suppress": { - "type": "boolean" + "badge_count": { + "type": "integer" }, - "request_to_speak_timestamp": { + "last_pin_timestamp": { "type": "string", "format": "date-time" }, + "read_state_type": { + "$ref": "#/definitions/ReadStateType" + }, + "flags": { + "$ref": "#/definitions/ReadStateFlags" + }, "id": { "type": "string" } }, "additionalProperties": false, "required": [ + "badge_count", "channel", "channel_id", - "deaf", - "guild_id", + "flags", "id", - "member", - "mute", - "self_deaf", - "self_mute", - "self_video", - "session_id", - "suppress", - "token", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "ReadState": { - "type": "object", - "properties": { - "channel_id": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/Channel" - }, - "user_id": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/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": "#/definitions/ReadStateType" - }, - "flags": { - "$ref": "#/definitions/ReadStateFlags" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "badge_count", - "channel", - "channel_id", - "flags", - "id", - "mention_count", - "notifications_cursor", - "read_state_type", + "mention_count", + "notifications_cursor", + "read_state_type", "user", "user_id" ], @@ -13665,948 +13091,1365 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Ban": { + "PublicMember": { + "additionalProperties": false, "type": "object", "properties": { - "user_id": { + "id": { "type": "string" }, - "user": { - "$ref": "#/definitions/User" - }, "guild_id": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" - }, - "executor_id": { - "type": "string" - }, - "executor": { - "$ref": "#/definitions/User" + "flags": { + "type": "integer" }, - "ip": { + "nick": { "type": "string" }, - "reason": { - "type": "string" + "joined_at": { + "type": "string", + "format": "date-time" }, - "id": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "executor", - "executor_id", - "guild", - "guild_id", - "id", - "user", - "user_id" - ], - "$schema": "http://json-schema.org/draft-07/schema#" - }, - "Template": { - "type": "object", - "properties": { - "code": { - "type": "string" + "pending": { + "type": "boolean" }, - "name": { - "type": "string" + "deaf": { + "type": "boolean" }, - "description": { - "type": "string" + "mute": { + "type": "boolean" }, - "usage_count": { + "premium_since": { "type": "integer" }, - "creator_id": { + "avatar": { "type": "string" }, - "creator": { - "$ref": "#/definitions/User" + "banner": { + "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" + "bio": { + "type": "string" }, - "updated_at": { - "type": "string", - "format": "date-time" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "source_guild_id": { + "pronouns": { "type": "string" }, - "source_guild": { - "$ref": "#/definitions/Guild" + "communication_disabled_until": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ] }, - "serialized_source_guild": { - "$ref": "#/definitions/Guild" + "user": { + "$ref": "#/definitions/PublicUser" }, - "id": { - "type": "string" + "roles": { + "type": "array", + "items": { + "type": "string" + } } }, - "additionalProperties": false, "required": [ - "code", - "created_at", - "creator", - "creator_id", + "banner", + "bio", + "communication_disabled_until", + "deaf", + "flags", + "guild_id", "id", - "name", - "serialized_source_guild", - "source_guild", - "source_guild_id", - "updated_at" + "joined_at", + "mute", + "pending", + "roles", + "user" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "Emoji": { + "PublicUser": { "type": "object", "properties": { - "animated": { - "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" }, - "available": { - "type": "boolean" + "premium_since": { + "type": "string", + "format": "date-time" }, - "guild_id": { + "avatar": { "type": "string" }, - "guild": { - "$ref": "#/definitions/Guild" + "banner": { + "type": "string" }, - "user_id": { + "bio": { "type": "string" }, - "user": { - "$ref": "#/definitions/User" + "theme_colors": { + "type": "array", + "items": { + "type": "integer" + } }, - "managed": { - "type": "boolean" + "pronouns": { + "type": "string" }, - "name": { + "username": { "type": "string" }, - "require_colons": { + "discriminator": { + "type": "string" + }, + "public_flags": { + "type": "integer" + }, + "accent_color": { + "type": "integer" + }, + "bot": { "type": "boolean" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } + "premium_type": { + "type": "integer" }, - "groups": { + "badge_ids": { "type": "array", "items": { "type": "string" } }, - "id": { - "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": [ - "animated", - "available", - "groups", - "guild", - "guild_id", + "bio", + "bot", + "discriminator", "id", - "managed", - "name", - "require_colons", - "roles", - "user", - "user_id" + "premium_since", + "premium_type", + "public_flags", + "username" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildWelcomeScreen": { + "InstanceUserDeleteSchemaContent": { "type": "object", "properties": { - "enabled": { - "type": "boolean" - }, - "description": { + "reason": { "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" - ] - } + "persistInstanceBan": { + "type": "boolean" } }, "additionalProperties": false, - "required": [ - "description", - "enabled", - "welcome_channels" - ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PartialMessage": { - "description": "https://docs.discord.food/resources/message#partial-message-structure", + "GameActivity": { "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" - }, - "content": { - "type": "string" - }, - "author": { - "$ref": "#/definitions/PartialUser" - }, - "flags": { + "activity_level": { "type": "integer" }, - "application_id": { - "type": "string" + "activity_score": { + "type": "integer" } }, "additionalProperties": false, "required": [ - "author", - "channel_id", - "content", - "id", - "type" + "activity_level", + "activity_score" ], "$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" + "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#" }, - "EmojiGuild": { + "GuildTrait": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "icon": { + "emoji_id": { "type": [ "null", "string" ] }, - "description": { + "emoji_name": { "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" + "emoji_animated": { + "type": "boolean" }, - "approximate_member_count": { - "type": "integer" + "label": { + "type": "string" }, - "approximate_presence_count": { + "position": { "type": "integer" } }, "additionalProperties": false, "required": [ - "emojis", - "features", - "id", - "name", - "premium_tier" + "emoji_animated", + "emoji_id", + "emoji_name", + "label", + "position" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "EmojiApplication": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false, - "required": [ - "id", - "name" + "GuildVisibilityLevel": { + "type": "number", + "enum": [ + 1, + 2, + 3 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildMessagesSearchMessage": { + "Classification": { "type": "object", "properties": { "id": { "type": "string" }, - "type": { - "$ref": "#/definitions/MessageType" + "classification_type": { + "$ref": "#/definitions/ClassificationType" }, - "content": { + "description": { "type": "string" }, - "channel_id": { + "explainer_link": { "type": "string" }, - "author": { - "$ref": "#/definitions/PublicUser" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicAttachment" - } - }, - "embeds": { + "actions": { "type": "array", "items": { - "$ref": "#/definitions/Embed" + "$ref": "#/definitions/ClassificationAction" } }, - "mentions": { - "type": "array", - "items": { - "$ref": "#/definitions/PublicUser" - } + "max_expiration_time": { + "type": "string" }, - "mention_roles": { + "flagged_content": { "type": "array", - "items": { - "$ref": "#/definitions/Role" - } + "items": {} }, - "pinned": { - "type": "boolean" + "appeal_status": { + "$ref": "#/definitions/AppealStatus" }, - "mention_everyone": { + "is_coppa": { "type": "boolean" }, - "tts": { + "is_spam": { "type": "boolean" }, - "timestamp": { - "type": "string" - }, - "edited_timestamp": { - "type": [ - "null", - "string" - ] - }, - "flags": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/BaseMessageComponents" - } - }, - "poll": { - "$ref": "#/definitions/Poll" - }, - "hit": { - "type": "boolean", - "const": true - } + "appeal_ingestion_type": { + "$ref": "#/definitions/AppealIngestionType" + } }, "additionalProperties": false, "required": [ - "attachments", - "author", - "channel_id", - "components", - "edited_timestamp", - "embeds", - "flags", - "hit", + "actions", + "appeal_ingestion_type", + "appeal_status", + "classification_type", + "description", + "explainer_link", + "flagged_content", "id", - "mention_roles", - "mentions", - "pinned", - "poll", - "timestamp", - "tts", - "type" + "is_coppa", + "is_spam", + "max_expiration_time" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PublicUser": { + "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": { "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": { - "type": "string" - }, - "premium_since": { - "type": "string", - "format": "date-time" - }, - "avatar": { - "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" + "action_type": { + "$ref": "#/definitions/ClassificationActionType" }, - "badge_ids": { + "descriptions": { "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" + "action_type", + "descriptions", + "id" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "PublicAttachment_1": { - "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" + "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#" }, - "GuildVanityUrl": { + "AppealStatus": { "type": "object", "properties": { - "code": { - "type": "string" - }, - "uses": { - "type": "integer" + "status": { + "$ref": "#/definitions/AppealStatusValue" } }, "additionalProperties": false, "required": [ - "code", - "uses" + "status" ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "GuildVanityUrlNoInvite": { - "type": "object", - "properties": { - "code": { - "type": "null" - } - }, - "additionalProperties": false, - "required": [ - "code" + "AppealStatusValue": { + "type": "number", + "enum": [ + 1, + 2, + 3 ], "$schema": "http://json-schema.org/draft-07/schema#" }, - "HubDirectoryEntry": { + "AppealIngestionType": { + "type": "number", + "enum": [ + 0, + 1, + 2 + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildClassification": { "type": "object", "properties": { - "author_id": { - "type": "string" + "guild_metadata": { + "$ref": "#/definitions/GuildMetadata" }, - "created_at": { + "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" - } - }, - "additionalProperties": false, - "required": [ - "author_id", - "created_at", - "description", - "directory_channel_id", - "guild", - "primary_category_id", - "type" + "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#" }, - "RefreshedUrl": { + "ProductItem": { "type": "object", "properties": { - "original": { + "type": { + "type": "integer" + }, + "id": { "type": "string" }, - "refreshed": { + "sku_id": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "label": { + "type": "string" + }, + "palette": { "type": "string" } }, "additionalProperties": false, "required": [ - "original", - "refreshed" + "id", + "sku_id", + "type" ], "$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.", + "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": { - "$ref": "#/definitions/JsonValue" + "type": "object", + "properties": { + "country_prices": { + "$ref": "#/definitions/CountryPrice" + } + }, + "additionalProperties": false, + "required": [ + "country_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" - } - } - } - }, - "required": [ - "__@unscopables@698", - "length" + "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 +14457,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 +14971,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 +15000,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 +15044,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 +15093,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 +15122,8 @@ "type": "object", "properties": { "enabled": { - "type": "boolean" + "type": "boolean", + "default": false }, "ip": { "$ref": "#/definitions/RateLimitOptions" @@ -15366,13 +15234,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/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts index aea54b1d2..f41543c90 100644 --- a/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts +++ b/src/api/routes/guilds/#guild_id/roles/#role_id/members.ts @@ -17,15 +17,28 @@ */ import { Router, Request, Response } from "express"; -import { DiscordApiErrors, Member, arrayPartition } from "@spacebar/util"; -import { route } from "@spacebar/api"; +import { RoleMembersUpdateSchema } from "@spacebar/schemas"; +import { DiscordApiErrors, Member } from "@spacebar/util"; +import { calculateRoleMemberAdditions, calculateRoleMemberReplacement, route } from "@spacebar/api"; const router = Router({ mergeParams: true }); +type RoleMemberUpdateMode = "add" | "replace"; -router.patch("/", route({ permission: "MANAGE_ROLES" }), async (req: Request, res: Response) => { - // Payload is JSON containing a list of member_ids, the new list of members to have the role +const routeOptions = route({ + permission: "MANAGE_ROLES", + requestBody: "RoleMembersUpdateSchema", + responses: { + 204: {}, + 403: { + body: "APIErrorResponse", + }, + }, +}); + +async function updateRoleMembers(req: Request, res: Response, mode: RoleMemberUpdateMode) { + // Payload is JSON containing a list of member_ids to add (PATCH) or set as the exact role membership (PUT) const { guild_id, role_id } = req.params as { [key: string]: string }; - const { member_ids } = req.body; + const { member_ids } = req.body as RoleMembersUpdateSchema; // don't mess with @everyone if (role_id == guild_id) throw DiscordApiErrors.INVALID_ROLE; @@ -35,12 +48,19 @@ router.patch("/", route({ permission: "MANAGE_ROLES" }), async (req: Request, re relations: { roles: true }, }); - const [add, remove] = arrayPartition(members, (member) => member_ids.includes(member.id) && !member.roles.map((role) => role.id).includes(role_id)); + const { addMemberIds, removeMemberIds } = + mode === "replace" ? calculateRoleMemberReplacement(members, member_ids, role_id) : calculateRoleMemberAdditions(members, member_ids, role_id); // TODO (erkin): have a bulk add/remove function that adds the roles in a single txn - await Promise.all([...add.map((member) => Member.addRole(member.id, guild_id, role_id)), ...remove.map((member) => Member.removeRole(member.id, guild_id, role_id))]); + await Promise.all([ + ...addMemberIds.map((memberId) => Member.addRole(memberId, guild_id, role_id)), + ...removeMemberIds.map((memberId) => Member.removeRole(memberId, guild_id, role_id)), + ]); res.sendStatus(204); -}); +} + +router.patch("/", routeOptions, (req: Request, res: Response) => updateRoleMembers(req, res, "add")); +router.put("/", routeOptions, (req: Request, res: Response) => updateRoleMembers(req, res, "replace")); export default router; diff --git a/src/api/util/index.ts b/src/api/util/index.ts index cb26d4f54..c6c1f012a 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/RoleMembers"; diff --git a/src/api/util/utility/RoleMemberRoutes.test.ts b/src/api/util/utility/RoleMemberRoutes.test.ts new file mode 100644 index 000000000..f0011810e --- /dev/null +++ b/src/api/util/utility/RoleMemberRoutes.test.ts @@ -0,0 +1,18 @@ +import assert from "node:assert/strict"; +import fs from "node:fs"; +import path from "node:path"; +import { describe, test } from "node:test"; + +function getRoleMembersRouteSource() { + return fs.readFileSync(path.join(process.cwd(), "src/api/routes/guilds/#guild_id/roles/#role_id/members.ts"), "utf8"); +} + +describe("role member update route", () => { + test("registers PATCH additive and PUT replacement endpoints with the shared schema", () => { + const source = getRoleMembersRouteSource(); + + assert.ok(source.includes('requestBody: "RoleMembersUpdateSchema"')); + assert.ok(source.includes('router.patch("/", routeOptions, (req: Request, res: Response) => updateRoleMembers(req, res, "add"));')); + assert.ok(source.includes('router.put("/", routeOptions, (req: Request, res: Response) => updateRoleMembers(req, res, "replace"));')); + }); +}); diff --git a/src/api/util/utility/RoleMembers.test.ts b/src/api/util/utility/RoleMembers.test.ts new file mode 100644 index 000000000..edf069fee --- /dev/null +++ b/src/api/util/utility/RoleMembers.test.ts @@ -0,0 +1,73 @@ +import assert from "node:assert/strict"; +import { describe, test } from "node:test"; +import { calculateRoleMemberAdditions, calculateRoleMemberReplacement } from "./RoleMembers"; + +describe("role member update helpers", () => { + const roleId = "role"; + const otherRoleId = "other"; + const members = [ + { id: "already-desired", roles: [{ id: roleId }] }, + { id: "needs-add", roles: [{ id: otherRoleId }] }, + { id: "needs-remove", roles: [{ id: roleId }, { id: otherRoleId }] }, + { id: "unrelated", roles: [] }, + ]; + + test("PATCH additions add missing desired members without removing omitted current holders", () => { + const changes = calculateRoleMemberAdditions(members, ["already-desired", "needs-add"], roleId); + + assert.deepEqual(changes, { + addMemberIds: ["needs-add"], + removeMemberIds: [], + }); + }); + + test("PATCH additions keep existing holders that were omitted", () => { + const changes = calculateRoleMemberAdditions(members, ["needs-add"], roleId); + + assert.deepEqual(changes, { + addMemberIds: ["needs-add"], + removeMemberIds: [], + }); + }); + + test("PATCH additions deduplicate desired member ids through set semantics", () => { + const changes = calculateRoleMemberAdditions(members, ["needs-add", "needs-add"], roleId); + + assert.deepEqual(changes, { + addMemberIds: ["needs-add"], + removeMemberIds: [], + }); + }); + + test("PUT replacement adds missing desired members and removes omitted current holders", () => { + const changes = calculateRoleMemberReplacement(members, ["already-desired", "needs-add"], roleId); + + assert.deepEqual(changes, { + addMemberIds: ["needs-add"], + removeMemberIds: ["needs-remove"], + }); + }); + + test("PUT replacement keeps desired current holders and unrelated non-holders unchanged", () => { + const changes = calculateRoleMemberReplacement(members, ["already-desired"], roleId); + + assert.equal(changes.addMemberIds.includes("already-desired"), false); + assert.equal(changes.removeMemberIds.includes("already-desired"), false); + assert.equal(changes.removeMemberIds.includes("unrelated"), false); + }); + + test("deduplicates desired member ids through set semantics", () => { + const changes = calculateRoleMemberReplacement(members, ["needs-add", "needs-add"], roleId); + + assert.deepEqual(changes.addMemberIds, ["needs-add"]); + }); + + test("empty PUT replacement desired list removes only current role holders", () => { + const changes = calculateRoleMemberReplacement(members, [], roleId); + + assert.deepEqual(changes, { + addMemberIds: [], + removeMemberIds: ["already-desired", "needs-remove"], + }); + }); +}); diff --git a/src/api/util/utility/RoleMembers.ts b/src/api/util/utility/RoleMembers.ts new file mode 100644 index 000000000..a5d0e1a67 --- /dev/null +++ b/src/api/util/utility/RoleMembers.ts @@ -0,0 +1,41 @@ +type RoleMember = { + id: string; + roles: { id: string }[]; +}; + +export type RoleMemberChanges = { + addMemberIds: string[]; + removeMemberIds: string[]; +}; + +function memberHasRole(member: RoleMember, roleId: string) { + return member.roles.some((role) => role.id === roleId); +} + +export function calculateRoleMemberAdditions(members: RoleMember[], memberIds: string[], roleId: string): RoleMemberChanges { + const desiredMemberIds = new Set(memberIds); + const addMemberIds: string[] = []; + + for (const member of members) { + const hasRole = memberHasRole(member, roleId); + const shouldHaveRole = desiredMemberIds.has(member.id); + + if (shouldHaveRole && !hasRole) addMemberIds.push(member.id); + } + + return { addMemberIds, removeMemberIds: [] }; +} + +export function calculateRoleMemberReplacement(members: RoleMember[], memberIds: string[], roleId: string): RoleMemberChanges { + const changes = calculateRoleMemberAdditions(members, memberIds, roleId); + const desiredMemberIds = new Set(memberIds); + + for (const member of members) { + const hasRole = memberHasRole(member, roleId); + const shouldHaveRole = desiredMemberIds.has(member.id); + + if (!shouldHaveRole && hasRole) changes.removeMemberIds.push(member.id); + } + + return changes; +} diff --git a/src/schemas/uncategorised/RoleMembersUpdateSchema.test.ts b/src/schemas/uncategorised/RoleMembersUpdateSchema.test.ts new file mode 100644 index 000000000..82ef5f8d7 --- /dev/null +++ b/src/schemas/uncategorised/RoleMembersUpdateSchema.test.ts @@ -0,0 +1,25 @@ +import assert from "node:assert/strict"; +import { describe, test } from "node:test"; +import { ajv, validateSchema } from "../Validator"; + +describe("RoleMembersUpdateSchema", () => { + test("accepts a member_ids array", () => { + assert.deepEqual(validateSchema("RoleMembersUpdateSchema", { member_ids: ["123", "456"] }), { member_ids: ["123", "456"] }); + }); + + test("accepts an empty member_ids array for full replacement clears", () => { + assert.deepEqual(validateSchema("RoleMembersUpdateSchema", { member_ids: [] }), { member_ids: [] }); + }); + + test("rejects missing member_ids", () => { + assert.equal(ajv.validate("RoleMembersUpdateSchema", {}), false); + }); + + test("rejects non-array member_ids", () => { + assert.equal(ajv.validate("RoleMembersUpdateSchema", { member_ids: "123" }), false); + }); + + test("rejects additional properties", () => { + assert.equal(ajv.validate("RoleMembersUpdateSchema", { member_ids: ["123"], extra: true }), false); + }); +}); diff --git a/src/schemas/uncategorised/RoleMembersUpdateSchema.ts b/src/schemas/uncategorised/RoleMembersUpdateSchema.ts new file mode 100644 index 000000000..a0ad1c6d9 --- /dev/null +++ b/src/schemas/uncategorised/RoleMembersUpdateSchema.ts @@ -0,0 +1,5 @@ +import { Snowflake } from "../Identifiers"; + +export interface RoleMembersUpdateSchema { + member_ids: Snowflake[]; +} diff --git a/src/schemas/uncategorised/index.ts b/src/schemas/uncategorised/index.ts index 28ac51d5a..90994d662 100644 --- a/src/schemas/uncategorised/index.ts +++ b/src/schemas/uncategorised/index.ts @@ -67,6 +67,7 @@ export * from "./RelationshipPatchSchema"; export * from "./RelationshipPutSchema"; export * from "./RequestGuildMembersSchema"; export * from "./RoleModifySchema"; +export * from "./RoleMembersUpdateSchema"; export * from "./RolePositionUpdateSchema"; export * from "./SelectProtocolSchema"; export * from "./SettingsProtoUpdateSchema";