diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index d8576514..f102f9d0 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -98,362 +98,264 @@
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "MessageCreateSchema": {
+ "ActivitySchema": {
"type": "object",
"properties": {
- "type": {
- "type": "integer"
- },
- "content": {
- "type": "string"
- },
- "nonce": {
- "type": "string"
- },
- "channel_id": {
- "type": "string"
- },
- "tts": {
+ "afk": {
"type": "boolean"
},
- "flags": {
- "type": "string"
+ "status": {
+ "$ref": "#/definitions/Status"
},
- "embeds": {
+ "activities": {
"type": "array",
"items": {
- "$ref": "#/definitions/Embed"
+ "$ref": "#/definitions/Activity"
}
},
- "embed": {
- "$ref": "#/definitions/Embed"
- },
- "allowed_mentions": {
- "type": "object",
- "properties": {
- "parse": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "users": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "replied_user": {
- "type": "boolean"
- }
- },
- "additionalProperties": false
- },
- "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": [
- "channel_id",
- "message_id"
- ]
- },
- "payload_json": {
- "type": "string"
- },
- "file": {},
- "attachments": {
- "description": "TODO: we should create an interface for attachments\nTODO: OpenWAAO<-->attachment-style metadata conversion",
- "type": "array",
- "items": {}
- },
- "sticker_ids": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "since": {
+ "type": "integer"
}
},
"additionalProperties": false,
+ "required": [
+ "afk",
+ "status"
+ ],
"definitions": {
- "Embed": {
+ "Status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
+ "type": "string"
+ },
+ "Activity": {
"type": "object",
"properties": {
- "title": {
+ "name": {
"type": "string"
},
"type": {
- "enum": [
- "article",
- "gifv",
- "image",
- "link",
- "rich",
- "video"
- ],
- "type": "string"
- },
- "description": {
- "type": "string"
+ "$ref": "#/definitions/ActivityType"
},
"url": {
"type": "string"
},
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "color": {
+ "created_at": {
"type": "integer"
},
- "footer": {
+ "timestamps": {
"type": "object",
"properties": {
- "text": {
- "type": "string"
- },
- "icon_url": {
- "type": "string"
+ "start": {
+ "type": "integer"
},
- "proxy_icon_url": {
- "type": "string"
+ "end": {
+ "type": "integer"
}
},
"additionalProperties": false,
"required": [
- "text"
+ "end",
+ "start"
]
},
- "image": {
- "$ref": "#/definitions/EmbedImage"
+ "application_id": {
+ "type": "string"
},
- "thumbnail": {
- "$ref": "#/definitions/EmbedImage"
+ "details": {
+ "type": "string"
},
- "video": {
- "$ref": "#/definitions/EmbedImage"
+ "state": {
+ "type": "string"
},
- "provider": {
+ "emoji": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
- "url": {
+ "id": {
+ "type": "string"
+ },
+ "animated": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "animated",
+ "name"
+ ]
+ },
+ "party": {
+ "type": "object",
+ "properties": {
+ "id": {
"type": "string"
+ },
+ "size": {
+ "type": "array",
+ "items": [
+ {
+ "type": "integer"
+ }
+ ],
+ "minItems": 1,
+ "maxItems": 1
}
},
"additionalProperties": false
},
- "author": {
+ "assets": {
"type": "object",
"properties": {
- "name": {
+ "large_image": {
"type": "string"
},
- "url": {
+ "large_text": {
"type": "string"
},
- "icon_url": {
+ "small_image": {
"type": "string"
},
- "proxy_icon_url": {
+ "small_text": {
"type": "string"
}
},
"additionalProperties": false
},
- "fields": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- },
- "inline": {
- "type": "boolean"
- }
+ "secrets": {
+ "type": "object",
+ "properties": {
+ "join": {
+ "type": "string"
},
- "additionalProperties": false,
- "required": [
- "name",
- "value"
- ]
- }
- }
- },
- "additionalProperties": false
- },
- "EmbedImage": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "proxy_url": {
- "type": "string"
+ "spectate": {
+ "type": "string"
+ },
+ "match": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
},
- "height": {
- "type": "integer"
+ "instance": {
+ "type": "boolean"
},
- "width": {
- "type": "integer"
+ "flags": {
+ "type": "string"
}
},
- "additionalProperties": false
+ "additionalProperties": false,
+ "required": [
+ "flags",
+ "name",
+ "type"
+ ]
+ },
+ "ActivityType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 4,
+ 5
+ ],
+ "type": "number"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "RouteResponse": {
+ "BanCreateSchema": {
"type": "object",
"properties": {
- "status": {
- "type": "integer"
- },
- "body": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "delete_message_days": {
+ "type": "string"
},
- "headers": {
- "$ref": "#/definitions/Record<string,string>"
+ "reason": {
+ "type": "string"
}
},
"additionalProperties": false,
- "definitions": {
- "Record<string,string>": {
- "type": "object",
- "additionalProperties": false
- }
- },
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "LoginSchema": {
+ "BanModeratorSchema": {
"type": "object",
"properties": {
- "login": {
+ "id": {
"type": "string"
},
- "password": {
+ "user_id": {
"type": "string"
},
- "undelete": {
- "type": "boolean"
- },
- "captcha_key": {
+ "guild_id": {
"type": "string"
},
- "login_source": {
+ "executor_id": {
"type": "string"
},
- "gift_code_sku_id": {
+ "reason": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "login",
- "password"
+ "executor_id",
+ "guild_id",
+ "id",
+ "user_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "TotpSchema": {
+ "BanRegistrySchema": {
"type": "object",
"properties": {
- "code": {
+ "id": {
"type": "string"
},
- "ticket": {
+ "user_id": {
"type": "string"
},
- "gift_code_sku_id": {
- "type": [
- "null",
- "string"
- ]
+ "guild_id": {
+ "type": "string"
},
- "login_source": {
- "type": [
- "null",
- "string"
- ]
+ "executor_id": {
+ "type": "string"
+ },
+ "ip": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "code",
- "ticket"
+ "executor_id",
+ "guild_id",
+ "id",
+ "user_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "RegisterSchema": {
+ "BulkDeleteSchema": {
"type": "object",
"properties": {
- "username": {
- "minLength": 2,
- "maxLength": 32,
- "type": "string"
- },
- "password": {
- "minLength": 1,
- "maxLength": 72,
- "type": "string"
- },
- "consent": {
- "type": "boolean"
- },
- "email": {
- "format": "email",
- "type": "string"
- },
- "fingerprint": {
- "type": "string"
- },
- "invite": {
- "type": "string"
- },
- "date_of_birth": {
- "type": "string"
- },
- "gift_code_sku_id": {
- "type": "string"
- },
- "captcha_key": {
- "type": "string"
- },
- "promotional_email_opt_in": {
- "type": "boolean"
+ "messages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "consent",
- "username"
+ "messages"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
@@ -573,69 +475,6 @@
},
"$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"
- }
- },
- "additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "MessageAcknowledgeSchema": {
- "type": "object",
- "properties": {
- "manual": {
- "type": "boolean"
- },
- "mention_count": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BulkDeleteSchema": {
- "type": "object",
- "properties": {
- "messages": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": false,
- "required": [
- "messages"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
"ChannelPermissionOverwriteSchema": {
"type": "object",
"properties": {
@@ -671,192 +510,25 @@
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "PurgeSchema": {
- "type": "object",
- "properties": {
- "before": {
- "type": "string"
- },
- "after": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "after",
- "before"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "WebhookCreateSchema": {
+ "DmChannelCreateSchema": {
"type": "object",
"properties": {
"name": {
- "maxLength": 80,
"type": "string"
},
- "avatar": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GatewayBotResponse": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- },
- "shards": {
- "type": "integer"
- },
- "session_start_limit": {
- "type": "object",
- "properties": {
- "total": {
- "type": "integer"
- },
- "remaining": {
- "type": "integer"
- },
- "reset_after": {
- "type": "integer"
- },
- "max_concurrency": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "max_concurrency",
- "remaining",
- "reset_after",
- "total"
- ]
- }
- },
- "additionalProperties": false,
- "required": [
- "session_start_limit",
- "shards",
- "url"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "GatewayResponse": {
- "type": "object",
- "properties": {
- "url": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "url"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanCreateSchema": {
- "type": "object",
- "properties": {
- "delete_message_days": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanRegistrySchema": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "user_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "executor_id": {
- "type": "string"
- },
- "ip": {
- "type": "string"
- },
- "reason": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "executor_id",
- "guild_id",
- "id",
- "user_id"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "BanModeratorSchema": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "user_id": {
- "type": "string"
- },
- "guild_id": {
- "type": "string"
- },
- "executor_id": {
- "type": "string"
- },
- "reason": {
- "type": "string"
+ "recipients": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
"additionalProperties": false,
"required": [
- "executor_id",
- "guild_id",
- "id",
- "user_id"
+ "recipients"
],
"$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": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "id"
- ]
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
"EmojiCreateSchema": {
"type": "object",
"properties": {
@@ -1054,6 +726,25 @@
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
+ "GuildTemplateCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": [
+ "null",
+ "string"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
"GuildUpdateSchema": {
"type": "object",
"properties": {
@@ -1130,470 +821,892 @@
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "MemberChangeSchema": {
+ "GuildUpdateWelcomeScreenSchema": {
"type": "object",
"properties": {
- "roles": {
+ "welcome_channels": {
"type": "array",
"items": {
- "type": "string"
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "emoji_id": {
+ "type": "string"
+ },
+ "emoji_name": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "description",
+ "emoji_name"
+ ]
}
- }
- },
- "additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "MemberNickChangeSchema": {
- "type": "object",
- "properties": {
- "nick": {
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "description": {
"type": "string"
}
},
"additionalProperties": false,
- "required": [
- "nick"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "PruneSchema": {
- "type": "object",
- "properties": {
- "days": {
- "type": "integer"
- }
- },
- "additionalProperties": false,
- "required": [
- "days"
- ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "RoleModifySchema": {
+ "IdentifySchema": {
"type": "object",
"properties": {
- "name": {
+ "token": {
"type": "string"
},
- "permissions": {
- "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": {},
+ "client_version": {
+ "type": "string"
+ },
+ "system_locale": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
},
- "color": {
- "type": "integer"
+ "intents": {
+ "type": "bigint"
},
- "hoist": {
+ "presence": {
+ "$ref": "#/definitions/ActivitySchema"
+ },
+ "compress": {
"type": "boolean"
},
- "mentionable": {
+ "large_threshold": {
+ "type": "integer"
+ },
+ "shard": {
+ "type": "array",
+ "items": [
+ {
+ "type": "bigint"
+ },
+ {
+ "type": "bigint"
+ }
+ ],
+ "minItems": 2,
+ "maxItems": 2
+ },
+ "guild_subscriptions": {
"type": "boolean"
},
- "position": {
+ "capabilities": {
"type": "integer"
},
- "icon": {
- "type": "string"
+ "client_state": {
+ "type": "object",
+ "properties": {
+ "guild_hashes": {},
+ "highest_last_message_id": {
+ "type": "string"
+ },
+ "read_state_version": {
+ "type": "integer"
+ },
+ "user_guild_settings_version": {
+ "type": "integer"
+ },
+ "user_settings_version": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
},
- "unicode_emoji": {
- "type": "string"
+ "v": {
+ "type": "integer"
}
},
"additionalProperties": false,
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "RolePositionUpdateSchema": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
+ "required": [
+ "properties",
+ "token"
+ ],
+ "definitions": {
+ "ActivitySchema": {
+ "type": "object",
+ "properties": {
+ "afk": {
+ "type": "boolean"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "activities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Activity"
+ }
+ },
+ "since": {
+ "type": "integer"
+ }
},
- "position": {
- "type": "integer"
- }
+ "additionalProperties": false,
+ "required": [
+ "afk",
+ "status"
+ ]
},
- "additionalProperties": false,
- "required": [
- "id",
- "position"
- ]
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "ModifyGuildStickerSchema": {
- "type": "object",
- "properties": {
- "name": {
- "minLength": 2,
- "maxLength": 30,
+ "Status": {
+ "enum": [
+ "dnd",
+ "idle",
+ "invisible",
+ "offline",
+ "online"
+ ],
"type": "string"
},
- "description": {
- "maxLength": 100,
- "type": "string"
+ "Activity": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/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"
+ }
+ ],
+ "minItems": 1,
+ "maxItems": 1
+ }
+ },
+ "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"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "flags",
+ "name",
+ "type"
+ ]
},
- "tags": {
- "maxLength": 200,
- "type": "string"
+ "ActivityType": {
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 4,
+ 5
+ ],
+ "type": "number"
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "tags"
- ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "TemplateCreateSchema": {
+ "InviteCreateSchema": {
"type": "object",
"properties": {
- "name": {
+ "target_user_id": {
"type": "string"
},
- "description": {
- "type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "TemplateModifySchema": {
- "type": "object",
- "properties": {
- "name": {
+ "target_type": {
"type": "string"
},
- "description": {
+ "validate": {
"type": "string"
- }
- },
- "additionalProperties": false,
- "required": [
- "name"
- ],
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "VanityUrlSchema": {
- "type": "object",
- "properties": {
- "code": {
- "minLength": 1,
- "maxLength": 20,
+ },
+ "max_age": {
+ "type": "integer"
+ },
+ "max_uses": {
+ "type": "integer"
+ },
+ "temporary": {
+ "type": "boolean"
+ },
+ "unique": {
+ "type": "boolean"
+ },
+ "target_user": {
"type": "string"
+ },
+ "target_user_type": {
+ "type": "integer"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "VoiceStateUpdateSchema": {
+ "LoginSchema": {
"type": "object",
"properties": {
- "channel_id": {
+ "login": {
"type": "string"
},
- "guild_id": {
+ "password": {
"type": "string"
},
- "suppress": {
+ "undelete": {
"type": "boolean"
},
- "request_to_speak_timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "self_mute": {
- "type": "boolean"
+ "captcha_key": {
+ "type": "string"
},
- "self_deaf": {
- "type": "boolean"
+ "login_source": {
+ "type": "string"
},
- "self_video": {
- "type": "boolean"
+ "gift_code_sku_id": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "channel_id"
+ "login",
+ "password"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "GuildUpdateWelcomeScreenSchema": {
+ "MemberChangeSchema": {
"type": "object",
"properties": {
- "welcome_channels": {
+ "roles": {
"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",
- "emoji_name"
- ]
+ "type": "string"
}
- },
- "enabled": {
- "type": "boolean"
- },
- "description": {
- "type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "WidgetModifySchema": {
+ "MemberNickChangeSchema": {
"type": "object",
"properties": {
- "enabled": {
- "type": "boolean"
- },
- "channel_id": {
+ "nick": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
- "channel_id",
- "enabled"
+ "nick"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "GuildTemplateCreateSchema": {
+ "MessageAcknowledgeSchema": {
"type": "object",
"properties": {
- "name": {
- "type": "string"
+ "manual": {
+ "type": "boolean"
},
- "avatar": {
- "type": [
- "null",
- "string"
- ]
+ "mention_count": {
+ "type": "integer"
}
},
"additionalProperties": false,
- "required": [
- "name"
- ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "UserProfileResponse": {
+ "MessageCreateSchema": {
"type": "object",
"properties": {
- "user": {
- "$ref": "#/definitions/UserPublic"
+ "type": {
+ "type": "integer"
},
- "connected_accounts": {
- "$ref": "#/definitions/PublicConnectedAccount"
+ "content": {
+ "type": "string"
},
- "premium_guild_since": {
- "type": "string",
- "format": "date-time"
+ "nonce": {
+ "type": "string"
},
- "premium_since": {
- "type": "string",
- "format": "date-time"
- }
- },
- "additionalProperties": false,
- "required": [
- "connected_accounts",
- "user"
- ],
- "definitions": {
- "UserPublic": {
+ "channel_id": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "flags": {
+ "type": "string"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Embed"
+ }
+ },
+ "embed": {
+ "$ref": "#/definitions/Embed"
+ },
+ "allowed_mentions": {
"type": "object",
"properties": {
- "username": {
- "type": "string"
- },
- "discriminator": {
- "type": "string"
+ "parse": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "id": {
- "type": "string"
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "public_flags": {
- "type": "integer"
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
},
- "avatar": {
+ "replied_user": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false
+ },
+ "message_reference": {
+ "type": "object",
+ "properties": {
+ "message_id": {
"type": "string"
},
- "accent_color": {
- "type": "integer"
- },
- "banner": {
+ "channel_id": {
"type": "string"
},
- "bio": {
+ "guild_id": {
"type": "string"
},
- "bot": {
+ "fail_if_not_exists": {
"type": "boolean"
- },
- "premium_since": {
- "type": "string",
- "format": "date-time"
}
},
"additionalProperties": false,
"required": [
- "bio",
- "bot",
- "discriminator",
- "id",
- "premium_since",
- "public_flags",
- "username"
+ "channel_id",
+ "message_id"
]
},
- "PublicConnectedAccount": {
+ "payload_json": {
+ "type": "string"
+ },
+ "file": {},
+ "attachments": {
+ "description": "TODO: we should create an interface for attachments\nTODO: OpenWAAO<-->attachment-style metadata conversion",
+ "type": "array",
+ "items": {}
+ },
+ "sticker_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "Embed": {
"type": "object",
"properties": {
- "name": {
+ "title": {
"type": "string"
},
"type": {
+ "enum": [
+ "article",
+ "gifv",
+ "image",
+ "link",
+ "rich",
+ "video"
+ ],
"type": "string"
},
- "verified": {
- "type": "boolean"
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "color": {
+ "type": "integer"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "thumbnail": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "video": {
+ "$ref": "#/definitions/EmbedImage"
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "author": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ },
+ "proxy_icon_url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "value"
+ ]
+ }
}
},
- "additionalProperties": false,
- "required": [
- "name",
- "type",
- "verified"
- ]
- }
- },
- "$schema": "http://json-schema.org/draft-07/schema#"
- },
- "UserRelationsResponse": {
- "type": "object",
- "properties": {
- "object": {
+ "additionalProperties": false
+ },
+ "EmbedImage": {
"type": "object",
"properties": {
- "id": {
- "type": "string"
- },
- "username": {
+ "url": {
"type": "string"
},
- "avatar": {
+ "proxy_url": {
"type": "string"
},
- "discriminator": {
- "type": "string"
+ "height": {
+ "type": "integer"
},
- "public_flags": {
+ "width": {
"type": "integer"
}
},
"additionalProperties": false
}
},
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "MfaCodesSchema": {
+ "type": "object",
+ "properties": {
+ "password": {
+ "type": "string"
+ },
+ "regenerate": {
+ "type": "boolean"
+ }
+ },
"additionalProperties": false,
"required": [
- "object"
+ "password"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "DmChannelCreateSchema": {
+ "ModifyGuildStickerSchema": {
"type": "object",
"properties": {
"name": {
+ "minLength": 2,
+ "maxLength": 30,
"type": "string"
},
- "recipients": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "description": {
+ "maxLength": 100,
+ "type": "string"
+ },
+ "tags": {
+ "maxLength": 200,
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "recipients"
+ "name",
+ "tags"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "UserModifySchema": {
+ "PruneSchema": {
+ "type": "object",
+ "properties": {
+ "days": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "days"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "PurgeSchema": {
+ "type": "object",
+ "properties": {
+ "before": {
+ "type": "string"
+ },
+ "after": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "after",
+ "before"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RegisterSchema": {
"type": "object",
"properties": {
"username": {
+ "minLength": 2,
+ "maxLength": 32,
+ "type": "string"
+ },
+ "password": {
"minLength": 1,
- "maxLength": 100,
+ "maxLength": 72,
+ "type": "string"
+ },
+ "consent": {
+ "type": "boolean"
+ },
+ "email": {
+ "format": "email",
+ "type": "string"
+ },
+ "fingerprint": {
+ "type": "string"
+ },
+ "invite": {
+ "type": "string"
+ },
+ "date_of_birth": {
+ "type": "string"
+ },
+ "gift_code_sku_id": {
+ "type": "string"
+ },
+ "captcha_key": {
"type": "string"
},
+ "promotional_email_opt_in": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "consent",
+ "username"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RelationshipPostSchema": {
+ "type": "object",
+ "properties": {
"discriminator": {
"type": "string"
},
- "avatar": {
- "type": [
- "null",
- "string"
- ]
+ "username": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "discriminator",
+ "username"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RelationshipPutSchema": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RoleModifySchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
},
- "bio": {
- "maxLength": 1024,
+ "permissions": {
"type": "string"
},
- "accent_color": {
+ "color": {
"type": "integer"
},
- "banner": {
- "type": [
- "null",
- "string"
- ]
+ "hoist": {
+ "type": "boolean"
},
- "password": {
+ "mentionable": {
+ "type": "boolean"
+ },
+ "position": {
+ "type": "integer"
+ },
+ "icon": {
"type": "string"
},
- "new_password": {
+ "unicode_emoji": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "TemplateCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
"type": "string"
},
- "code": {
+ "description": {
"type": "string"
}
},
"additionalProperties": false,
+ "required": [
+ "name"
+ ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "MfaCodesSchema": {
+ "TemplateModifySchema": {
"type": "object",
"properties": {
- "password": {
+ "name": {
"type": "string"
},
- "regenerate": {
- "type": "boolean"
+ "description": {
+ "type": "string"
}
},
"additionalProperties": false,
"required": [
- "password"
+ "name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
@@ -1629,37 +1742,76 @@
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "RelationshipPutSchema": {
+ "TotpSchema": {
"type": "object",
"properties": {
- "type": {
- "enum": [
- 1,
- 2,
- 3,
- 4
- ],
- "type": "number"
+ "code": {
+ "type": "string"
+ },
+ "ticket": {
+ "type": "string"
+ },
+ "gift_code_sku_id": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "login_source": {
+ "type": [
+ "null",
+ "string"
+ ]
}
},
"additionalProperties": false,
+ "required": [
+ "code",
+ "ticket"
+ ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
- "RelationshipPostSchema": {
+ "UserModifySchema": {
"type": "object",
"properties": {
+ "username": {
+ "minLength": 1,
+ "maxLength": 100,
+ "type": "string"
+ },
"discriminator": {
"type": "string"
},
- "username": {
+ "avatar": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "bio": {
+ "maxLength": 1024,
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": [
+ "null",
+ "string"
+ ]
+ },
+ "password": {
+ "type": "string"
+ },
+ "new_password": {
+ "type": "string"
+ },
+ "code": {
"type": "string"
}
},
"additionalProperties": false,
- "required": [
- "discriminator",
- "username"
- ],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"UserSettingsSchema": {
@@ -1880,5 +2032,332 @@
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "VanityUrlSchema": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "minLength": 1,
+ "maxLength": 20,
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "VoiceStateUpdateSchema": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "guild_id": {
+ "type": "string"
+ },
+ "suppress": {
+ "type": "boolean"
+ },
+ "request_to_speak_timestamp": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "self_mute": {
+ "type": "boolean"
+ },
+ "self_deaf": {
+ "type": "boolean"
+ },
+ "self_video": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "WebhookCreateSchema": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "WidgetModifySchema": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "channel_id": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "channel_id",
+ "enabled"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RouteResponse": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "integer"
+ },
+ "body": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "headers": {
+ "$ref": "#/definitions/Record<string,string>"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "Record<string,string>": {
+ "type": "object",
+ "additionalProperties": false
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "GatewayBotResponse": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "shards": {
+ "type": "integer"
+ },
+ "session_start_limit": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "type": "integer"
+ },
+ "remaining": {
+ "type": "integer"
+ },
+ "reset_after": {
+ "type": "integer"
+ },
+ "max_concurrency": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "max_concurrency",
+ "remaining",
+ "reset_after",
+ "total"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "session_start_limit",
+ "shards",
+ "url"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "GatewayResponse": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "url"
+ ],
+ "$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": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id"
+ ]
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "RolePositionUpdateSchema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "position": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "position"
+ ]
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "UserProfileResponse": {
+ "type": "object",
+ "properties": {
+ "user": {
+ "$ref": "#/definitions/UserPublic"
+ },
+ "connected_accounts": {
+ "$ref": "#/definitions/PublicConnectedAccount"
+ },
+ "premium_guild_since": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "connected_accounts",
+ "user"
+ ],
+ "definitions": {
+ "UserPublic": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "accent_color": {
+ "type": "integer"
+ },
+ "banner": {
+ "type": "string"
+ },
+ "bio": {
+ "type": "string"
+ },
+ "bot": {
+ "type": "boolean"
+ },
+ "premium_since": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "bio",
+ "bot",
+ "discriminator",
+ "id",
+ "premium_since",
+ "public_flags",
+ "username"
+ ]
+ },
+ "PublicConnectedAccount": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "verified": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "type",
+ "verified"
+ ]
+ }
+ },
+ "$schema": "http://json-schema.org/draft-07/schema#"
+ },
+ "UserRelationsResponse": {
+ "type": "object",
+ "properties": {
+ "object": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "avatar": {
+ "type": "string"
+ },
+ "discriminator": {
+ "type": "string"
+ },
+ "public_flags": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "object"
+ ],
+ "$schema": "http://json-schema.org/draft-07/schema#"
}
}
\ No newline at end of file
|