summary refs log tree commit diff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/checkLocale.js90
-rw-r--r--assets/developers.html76
-rw-r--r--assets/fosscord-login.css12
-rw-r--r--assets/fosscord.css68
-rw-r--r--assets/index.html154
-rw-r--r--assets/schemas.json2746
-rw-r--r--assets/user.css2
7 files changed, 1495 insertions, 1653 deletions
diff --git a/assets/checkLocale.js b/assets/checkLocale.js
index 016d66c8..091add1f 100644
--- a/assets/checkLocale.js
+++ b/assets/checkLocale.js
@@ -1,47 +1,47 @@
-			const localStorage = window.localStorage;
-			// TODO: remote auth
-			// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
-			localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
-			localStorage.setItem(
-				"DeveloperOptionsStore",
-				`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
-			);
+const localStorage = window.localStorage;
+// TODO: remote auth
+// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
+localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
+localStorage.setItem(
+	"DeveloperOptionsStore",
+	`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
+);
 
-			const supportedLocales = [
-				"bg",
-				"cs",
-				"da",
-				"de",
-				"el",
-				"en-GB",
-				"es-ES",
-				"fi",
-				"fr",
-				"hi",
-				"hr",
-				"hu",
-				"it",
-				"ja",
-				"ko",
-				"lt",
-				"nl",
-				"no",
-				"pl",
-				"pt-BR",
-				"ro",
-				"ru",
-				"sv-SE",
-				"th",
-				"tr",
-				"uk",
-				"vi",
-				"zh-CN",
-				"zh-TW"
-			];
+const supportedLocales = [
+	"bg",
+	"cs",
+	"da",
+	"de",
+	"el",
+	"en-GB",
+	"es-ES",
+	"fi",
+	"fr",
+	"hi",
+	"hr",
+	"hu",
+	"it",
+	"ja",
+	"ko",
+	"lt",
+	"nl",
+	"no",
+	"pl",
+	"pt-BR",
+	"ro",
+	"ru",
+	"sv-SE",
+	"th",
+	"tr",
+	"uk",
+	"vi",
+	"zh-CN",
+	"zh-TW"
+];
 
-			const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
-			if (settings && !supportedLocales.includes(settings.locale)) {
-				// fix client locale wrong and client not loading at all
-				settings.locale = "en-US";
-				localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
-			}
\ No newline at end of file
+const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
+if (settings && !supportedLocales.includes(settings.locale)) {
+	// fix client locale wrong and client not loading at all
+	settings.locale = "en-US";
+	localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
+}
diff --git a/assets/developers.html b/assets/developers.html
index 87595e77..b33009dd 100644
--- a/assets/developers.html
+++ b/assets/developers.html
@@ -1,44 +1,42 @@
 <!DOCTYPE html>
 <html class="theme-dark" data-theme="dark">
+	<head>
+		<meta charset="utf-8" />
+		<meta content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" name="viewport" />
 
-<head>
-	<meta charset="utf-8" />
-	<meta content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" name="viewport" />
+		<link rel="stylesheet" href="/assets/532.03aaeef88460fae60534.css" integrity="" />
+		<link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" />
+		<title>Discord Test Client Developer Portal</title>
+		<meta charset="utf-8" data-react-helmet="true" />
+	</head>
 
-	<link rel="stylesheet" href="/assets/532.03aaeef88460fae60534.css" integrity="" />
-	<link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" />
-	<title>Discord Test Client Developer Portal</title>
-	<meta charset="utf-8" data-react-helmet="true" />
-</head>
+	<body>
+		<div id="app-mount"></div>
+		<script>
+			window.GLOBAL_ENV = {
+				API_VERSION: 9,
+				API_ENDPOINT: "/api",
+				WEBAPP_ENDPOINT: "",
+				CDN_HOST: `${location.hostname}:3003`,
 
-<body>
-	<div id="app-mount"></div>
-	<script>
-		window.GLOBAL_ENV = {
-			API_VERSION: 9,
-			API_ENDPOINT: "/api",
-			WEBAPP_ENDPOINT: "",
-			CDN_HOST: `${location.hostname}:3003`,
-
-			BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
-			STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
-			MARKETING_ENDPOINT: "//discord.com",
-			RELEASE_CHANNEL: "stable",
-			ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
-		};
-		GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
-		const localStorage = window.localStorage;
-		// TODO: remote auth
-		// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
-		localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
-		localStorage.setItem(
-			"DeveloperOptionsStore",
-			`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
-		);
-	</script>
-	<script src="/assets/38f40c32d3c8a2fdf73b.js" integrity=""></script>
-	<script src="/assets/aa190934324e05fcc35c.js" integrity=""></script>
-	<script src="/assets/45664a0209e828a528b4.js" integrity=""></script>
-</body>
-
-</html>
\ No newline at end of file
+				BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
+				STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
+				MARKETING_ENDPOINT: "//discord.com",
+				RELEASE_CHANNEL: "stable",
+				ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
+			};
+			GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
+			const localStorage = window.localStorage;
+			// TODO: remote auth
+			// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
+			localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
+			localStorage.setItem(
+				"DeveloperOptionsStore",
+				`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
+			);
+		</script>
+		<script src="/assets/38f40c32d3c8a2fdf73b.js" integrity=""></script>
+		<script src="/assets/aa190934324e05fcc35c.js" integrity=""></script>
+		<script src="/assets/45664a0209e828a528b4.js" integrity=""></script>
+	</body>
+</html>
diff --git a/assets/fosscord-login.css b/assets/fosscord-login.css
index d507c545..975bf908 100644
--- a/assets/fosscord-login.css
+++ b/assets/fosscord-login.css
@@ -1,12 +1,12 @@
 /* replace tos acceptance popup */
 #app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK {
-    visibility: hidden;
+	visibility: hidden;
 }
-#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after{
-    visibility: visible;
-    display: block;
-    content: "You need to agree to this instance's rules to continue";
-    margin-top: -32px;
+#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after {
+	visibility: visible;
+	display: block;
+	content: "You need to agree to this instance's rules to continue";
+	margin-top: -32px;
 }
 /* replace login header */
 #app-mount > div.app-1q1i1E > div > div > div > div > form > div > div > div.mainLoginContainer-1ddwnR > h3 {
diff --git a/assets/fosscord.css b/assets/fosscord.css
index 6078fdeb..fa503d39 100644
--- a/assets/fosscord.css
+++ b/assets/fosscord.css
@@ -1,4 +1,3 @@
-
 /* loading spinner */
 #app-mount > div.app-1q1i1E > div.container-16j22k.fixClipping-3qAKRb > div.content-1-zrf2 > video {
 	filter: opacity(1);
@@ -11,14 +10,62 @@
 }
 
 /* home button icon */
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div
-{
-    background-image: url(https://raw.githubusercontent.com/fosscord/fosscord/master/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg);
-    background-size: contain;
-    border-radius: 50%;
+#app-mount
+	> div.app-1q1i1E
+	> div
+	> div.layers-3iHuyZ.layers-3q14ss
+	> div
+	> div
+	> nav
+	> ul
+	> div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+	> div.tutorialContainer-2sGCg9
+	> div
+	> div.listItemWrapper-KhRmzM
+	> div
+	> svg
+	> foreignObject
+	> div
+	> div {
+	background-image: url(https://raw.githubusercontent.com/fosscord/fosscord/master/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg);
+	background-size: contain;
+	border-radius: 50%;
 }
 
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div, #app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div:hover {
+#app-mount
+	> div.app-1q1i1E
+	> div
+	> div.layers-3iHuyZ.layers-3q14ss
+	> div
+	> div
+	> nav
+	> ul
+	> div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+	> div.tutorialContainer-2sGCg9
+	> div
+	> div.listItemWrapper-KhRmzM
+	> div
+	> svg
+	> foreignObject
+	> div
+	> div,
+#app-mount
+	> div.app-1q1i1E
+	> div
+	> div.layers-3iHuyZ.layers-3q14ss
+	> div
+	> div
+	> nav
+	> ul
+	> div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih
+	> div.tutorialContainer-2sGCg9
+	> div
+	> div.listItemWrapper-KhRmzM
+	> div
+	> svg
+	> foreignObject
+	> div
+	> div:hover {
 	background-color: white;
 }
 /* Login QR */
@@ -40,7 +87,6 @@
 /* Thread permissions etc popups */
 #app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > div > div.content-98HsJk > div.sidebar-2K8pFh.hasNotice-1XRy4h > nav > div.container-3O_wAf,
 /* home button icon */
-#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div > svg
-{
-    display: none;
-}
\ No newline at end of file
+#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div > svg {
+	display: none;
+}
diff --git a/assets/index.html b/assets/index.html
index 64a2bdbf..1d4e4543 100644
--- a/assets/index.html
+++ b/assets/index.html
@@ -1,84 +1,82 @@
 <!DOCTYPE html>
 <html lang="en">
+	<head>
+		<meta charset="UTF-8" />
+		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
+		<title>Discord Test Client</title>
+		<link rel="stylesheet" href="/assets/fosscord.css" />
+		<link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css" />
+		<link id="customcss" rel="stylesheet" href="/assets/user.css" />
+		<!-- inline plugin marker -->
+		<!-- preload plugin marker -->
+	</head>
 
-<head>
-	<meta charset="UTF-8" />
-	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
-	<title>Discord Test Client</title>
-	<link rel="stylesheet" href="/assets/fosscord.css" />
-	<link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css" />
-	<link id="customcss" rel="stylesheet" href="/assets/user.css" />
-	<!-- inline plugin marker -->
-	<!-- preload plugin marker -->
-</head>
+	<body>
+		<div id="app-mount"></div>
+		<script>
+			window.__OVERLAY__ = /overlay/.test(location.pathname);
+			window.__BILLING_STANDALONE__ = /^\/billing/.test(location.pathname);
+			window.GLOBAL_ENV = {
+				API_ENDPOINT: "/api",
+				API_VERSION: 9,
+				GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.host}`,
+				WEBAPP_ENDPOINT: "",
+				CDN_HOST: `${location.hostname}:3003`,
+				ASSET_ENDPOINT: "",
+				MEDIA_PROXY_ENDPOINT: "https://media.discordapp.net",
+				WIDGET_ENDPOINT: `//${location.host}/widget`,
+				INVITE_HOST: `${location.hostname}/invite`,
+				GUILD_TEMPLATE_HOST: "${location.host}",
+				GIFT_CODE_HOST: "${location.hostname}",
+				RELEASE_CHANNEL: "stable",
+				MARKETING_ENDPOINT: "//discord.com",
+				BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
+				STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
+				NETWORKING_ENDPOINT: "//router.discordapp.net",
+				RTC_LATENCY_ENDPOINT: "//${location.hostname}/rtc",
+				ACTIVITY_APPLICATION_HOST: "discordsays.com",
+				PROJECT_ENV: "production",
+				REMOTE_AUTH_ENDPOINT: "//localhost:3020",
+				SENTRY_TAGS: { buildId: "75e36d9", buildType: "normal" },
+				MIGRATION_SOURCE_ORIGIN: "https://${location.hostname}",
+				MIGRATION_DESTINATION_ORIGIN: "https://${location.hostname}",
+				HTML_TIMESTAMP: Date.now(),
+				ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0"
+			};
+			GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
+			const localStorage = window.localStorage;
+			// TODO: remote auth
+			// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
+			localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
+			localStorage.setItem(
+				"DeveloperOptionsStore",
+				`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
+			);
 
-<body>
-	<div id="app-mount"></div>
-	<script>
-		window.__OVERLAY__ = /overlay/.test(location.pathname);
-		window.__BILLING_STANDALONE__ = /^\/billing/.test(location.pathname);
-		window.GLOBAL_ENV = {
-			API_ENDPOINT: "/api",
-			API_VERSION: 9,
-			GATEWAY_ENDPOINT: `${location.protocol === "https:" ? "wss://" : "ws://"}${location.host}`,
-			WEBAPP_ENDPOINT: "",
-			CDN_HOST: `${location.hostname}:3003`,
-			ASSET_ENDPOINT: "",
-			MEDIA_PROXY_ENDPOINT: "https://media.discordapp.net",
-			WIDGET_ENDPOINT: `//${location.host}/widget`,
-			INVITE_HOST: `${location.hostname}/invite`,
-			GUILD_TEMPLATE_HOST: "${location.host}",
-			GIFT_CODE_HOST: "${location.hostname}",
-			RELEASE_CHANNEL: "stable",
-			MARKETING_ENDPOINT: "//discord.com",
-			BRAINTREE_KEY: "production_5st77rrc_49pp2rp4phym7387",
-			STRIPE_KEY: "pk_live_CUQtlpQUF0vufWpnpUmQvcdi",
-			NETWORKING_ENDPOINT: "//router.discordapp.net",
-			RTC_LATENCY_ENDPOINT: "//${location.hostname}/rtc",
-			ACTIVITY_APPLICATION_HOST: 'discordsays.com',
-			PROJECT_ENV: "production",
-			REMOTE_AUTH_ENDPOINT: "//localhost:3020",
-			SENTRY_TAGS: { buildId: "75e36d9", buildType: "normal" },
-			MIGRATION_SOURCE_ORIGIN: "https://${location.hostname}",
-			MIGRATION_DESTINATION_ORIGIN: "https://${location.hostname}",
-			HTML_TIMESTAMP: Date.now(),
-			ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0",
-		};
-		GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST;
-		const localStorage = window.localStorage;
-		// TODO: remote auth
-		// window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, "");
-		localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT);
-		localStorage.setItem(
-			"DeveloperOptionsStore",
-			`{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}`
-		);
-
-		setInterval(() => {
-			let token = JSON.parse(localStorage.getItem("token"));
-			if (token) {
-				let logincss = document.querySelector('#logincss'),
-					canRemove = logincss ? logincss : "";
-				if (canRemove !== "") {
-					document.querySelector("#logincss").remove();
-					canRemove = "";
+			setInterval(() => {
+				let token = JSON.parse(localStorage.getItem("token"));
+				if (token) {
+					let logincss = document.querySelector("#logincss"),
+						canRemove = logincss ? logincss : "";
+					if (canRemove !== "") {
+						document.querySelector("#logincss").remove();
+						canRemove = "";
+					}
 				}
-			}
-		}, 1000)
+			}, 1000);
 
-		const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
-		if (settings && settings.locale.length <= 2) {
-			// fix client locale wrong and client not loading at all
-			settings.locale = "en-US";
-			localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
-		}
-	</script>
-	<script src="/assets/checkLocale.js"></script>
-	<script src="/assets/2f2e0c25e45eb2f5a6f1.js"></script>
-	<script src="/assets/006e72c08a4c69cb66fc.js"></script>
-	<script src="/assets/2f94a3ba801087653a38.js"></script>
-	<script src="/assets/f7703f092bdbfc607cc7.js"></script>
-	<!-- plugin marker -->
-</body>
-
-</html>
\ No newline at end of file
+			const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
+			if (settings && settings.locale.length <= 2) {
+				// fix client locale wrong and client not loading at all
+				settings.locale = "en-US";
+				localStorage.setItem("UserSettingsStore", JSON.stringify(settings));
+			}
+		</script>
+		<script src="/assets/checkLocale.js"></script>
+		<script src="/assets/2f2e0c25e45eb2f5a6f1.js"></script>
+		<script src="/assets/006e72c08a4c69cb66fc.js"></script>
+		<script src="/assets/2f94a3ba801087653a38.js"></script>
+		<script src="/assets/f7703f092bdbfc607cc7.js"></script>
+		<!-- plugin marker -->
+	</body>
+</html>
diff --git a/assets/schemas.json b/assets/schemas.json
index edb5f9f0..05650a4e 100644
--- a/assets/schemas.json
+++ b/assets/schemas.json
@@ -1,1474 +1,1274 @@
 {
-    "ActivitySchema": {
-        "type": "object",
-        "properties": {
-            "afk": {
-                "type": "boolean"
-            },
-            "status": {},
-            "activities": {
-                "type": "array",
-                "items": {}
-            },
-            "since": {
-                "type": "integer"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "afk",
-            "status"
-        ],
-        "$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#"
-    },
-    "BanModeratorSchema": {
-        "type": "object",
-        "properties": {
-            "id": {
-                "type": "string"
-            },
-            "user_id": {
-                "type": "string"
-            },
-            "guild_id": {
-                "type": "string"
-            },
-            "executor_id": {
-                "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": {
-                "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#"
-    },
-    "BulkDeleteSchema": {
-        "type": "object",
-        "properties": {
-            "messages": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "messages"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ts.server.TypingInstallerResponse": {
-        "type": "object",
-        "properties": {
-            "kind": {
-                "enum": [
-                    "action::invalidate",
-                    "action::packageInstalled",
-                    "action::set",
-                    "event::beginInstallTypes",
-                    "event::endInstallTypes",
-                    "event::initializationFailed",
-                    "event::typesRegistry"
-                ],
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "kind"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ts.server.PackageInstalledResponse": {
-        "type": "object",
-        "properties": {
-            "kind": {
-                "type": "string",
-                "enum": [
-                    "action::packageInstalled"
-                ]
-            },
-            "success": {
-                "type": "boolean"
-            },
-            "message": {
-                "type": "string"
-            },
-            "projectName": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "kind",
-            "message",
-            "projectName",
-            "success"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ts.server.InitializationFailedResponse": {
-        "type": "object",
-        "properties": {
-            "kind": {
-                "type": "string",
-                "enum": [
-                    "event::initializationFailed"
-                ]
-            },
-            "message": {
-                "type": "string"
-            },
-            "stack": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "kind",
-            "message"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ts.server.ProjectResponse": {
-        "type": "object",
-        "properties": {
-            "projectName": {
-                "type": "string"
-            },
-            "kind": {
-                "enum": [
-                    "action::invalidate",
-                    "action::packageInstalled",
-                    "action::set",
-                    "event::beginInstallTypes",
-                    "event::endInstallTypes",
-                    "event::initializationFailed",
-                    "event::typesRegistry"
-                ],
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "kind",
-            "projectName"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ChannelPermissionOverwriteSchema": {
-        "type": "object",
-        "additionalProperties": false,
-        "$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#"
-    },
-    "DmChannelCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "recipients": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "recipients"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "EmojiCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "image": {
-                "type": "string"
-            },
-            "require_colons": {
-                "type": [
-                    "null",
-                    "boolean"
-                ]
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "image"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "EmojiModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "GuildCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "region": {
-                "type": "string"
-            },
-            "icon": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "channels": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/ChannelModifySchema"
-                }
-            },
-            "guild_template_code": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            14,
-                            15,
-                            2,
-                            255,
-                            3,
-                            33,
-                            34,
-                            35,
-                            4,
-                            5,
-                            6,
-                            64,
-                            7,
-                            8,
-                            9
-                        ],
-                        "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"
-                    },
-                    "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"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    },
-                    "flags": {
-                        "type": "integer"
-                    },
-                    "default_thread_rate_limit_per_user": {
-                        "type": "integer"
-                    }
-                },
-                "additionalProperties": false
-            },
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1,
-                    2
-                ],
-                "type": "number"
-            }
-        },
-        "$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": {
-            "name": {
-                "type": "string"
-            },
-            "banner": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "splash": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "description": {
-                "type": "string"
-            },
-            "features": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            },
-            "verification_level": {
-                "type": "integer"
-            },
-            "default_message_notifications": {
-                "type": "integer"
-            },
-            "system_channel_flags": {
-                "type": "integer"
-            },
-            "explicit_content_filter": {
-                "type": "integer"
-            },
-            "public_updates_channel_id": {
-                "type": "string"
-            },
-            "afk_timeout": {
-                "type": "integer"
-            },
-            "afk_channel_id": {
-                "type": "string"
-            },
-            "preferred_locale": {
-                "type": "string"
-            },
-            "premium_progress_bar_enabled": {
-                "type": "boolean"
-            },
-            "region": {
-                "type": "string"
-            },
-            "icon": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "guild_template_code": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            }
-        },
-        "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",
-                        "emoji_name"
-                    ]
-                }
-            },
-            "enabled": {
-                "type": "boolean"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "IdentifySchema": {
-        "type": "object",
-        "properties": {
-            "token": {
-                "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
-            },
-            "intents": {
-                "type": "string"
-            },
-            "presence": {
-                "$ref": "#/definitions/ActivitySchema"
-            },
-            "compress": {
-                "type": "boolean"
-            },
-            "large_threshold": {
-                "type": "integer"
-            },
-            "shard": {
-                "type": "array",
-                "items": [
-                    {
-                        "type": "integer"
-                    },
-                    {
-                        "type": "integer"
-                    }
-                ],
-                "minItems": 2,
-                "maxItems": 2
-            },
-            "guild_subscriptions": {
-                "type": "boolean"
-            },
-            "capabilities": {
-                "type": "integer"
-            },
-            "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
-            },
-            "v": {
-                "type": "integer"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "properties",
-            "token"
-        ],
-        "definitions": {
-            "ActivitySchema": {
-                "type": "object",
-                "properties": {
-                    "afk": {
-                        "type": "boolean"
-                    },
-                    "status": {},
-                    "activities": {
-                        "type": "array",
-                        "items": {}
-                    },
-                    "since": {
-                        "type": "integer"
-                    }
-                },
-                "additionalProperties": false,
-                "required": [
-                    "afk",
-                    "status"
-                ]
-            }
-        },
-        "$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#"
-    },
-    "LoginSchema": {
-        "type": "object",
-        "properties": {
-            "login": {
-                "type": "string"
-            },
-            "password": {
-                "type": "string"
-            },
-            "undelete": {
-                "type": "boolean"
-            },
-            "captcha_key": {
-                "type": "string"
-            },
-            "login_source": {
-                "type": "string"
-            },
-            "gift_code_sku_id": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "login",
-            "password"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MemberChangeSchema": {
-        "type": "object",
-        "properties": {
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MemberNickChangeSchema": {
-        "type": "object",
-        "properties": {
-            "nick": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "nick"
-        ],
-        "$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#"
-    },
-    "MessageCreateSchema": {
-        "type": "object",
-        "properties": {
-            "type": {
-                "type": "integer"
-            },
-            "content": {
-                "type": "string"
-            },
-            "nonce": {
-                "type": "string"
-            },
-            "channel_id": {
-                "type": "string"
-            },
-            "tts": {
-                "type": "boolean"
-            },
-            "flags": {
-                "type": "string"
-            },
-            "embeds": {
-                "type": "array",
-                "items": {}
-            },
-            "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"
-                }
-            }
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MfaCodesSchema": {
-        "type": "object",
-        "properties": {
-            "password": {
-                "type": "string"
-            },
-            "regenerate": {
-                "type": "boolean"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "password"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ModifyGuildStickerSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "minLength": 2,
-                "maxLength": 30,
-                "type": "string"
-            },
-            "description": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "tags": {
-                "maxLength": 200,
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "name",
-            "tags"
-        ],
-        "$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#"
-    },
-    "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": 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"
-            },
-            "username": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "discriminator",
-            "username"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RelationshipPutSchema": {
-        "type": "object",
-        "properties": {
-            "type": {}
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RoleModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "permissions": {
-                "type": "string"
-            },
-            "color": {
-                "type": "integer"
-            },
-            "hoist": {
-                "type": "boolean"
-            },
-            "mentionable": {
-                "type": "boolean"
-            },
-            "position": {
-                "type": "integer"
-            },
-            "icon": {
-                "type": "string"
-            },
-            "unicode_emoji": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "$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#"
-    },
-    "TemplateCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "name"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TemplateModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "name"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TotpDisableSchema": {
-        "type": "object",
-        "properties": {
-            "code": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "code"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TotpEnableSchema": {
-        "type": "object",
-        "properties": {
-            "password": {
-                "type": "string"
-            },
-            "code": {
-                "type": "string"
-            },
-            "secret": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "password"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TotpSchema": {
-        "type": "object",
-        "properties": {
-            "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#"
-    },
-    "UserModifySchema": {
-        "type": "object",
-        "properties": {
-            "username": {
-                "minLength": 1,
-                "maxLength": 100,
-                "type": "string"
-            },
-            "discriminator": {
-                "type": "string"
-            },
-            "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"
-            },
-            "email": {
-                "type": "string"
-            }
-        },
-        "additionalProperties": false,
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "UserSettingsSchema": {
-        "type": "object",
-        "additionalProperties": false,
-        "$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#"
-    },
-    "ChannelModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "type": {
-                "enum": [
-                    0,
-                    1,
-                    10,
-                    11,
-                    12,
-                    13,
-                    14,
-                    15,
-                    2,
-                    255,
-                    3,
-                    33,
-                    34,
-                    35,
-                    4,
-                    5,
-                    6,
-                    64,
-                    7,
-                    8,
-                    9
-                ],
-                "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"
-            },
-            "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"
-                    ]
-                }
-            },
-            "parent_id": {
-                "type": "string"
-            },
-            "id": {
-                "type": "string"
-            },
-            "nsfw": {
-                "type": "boolean"
-            },
-            "rtc_region": {
-                "type": "string"
-            },
-            "default_auto_archive_duration": {
-                "type": "integer"
-            },
-            "flags": {
-                "type": "integer"
-            },
-            "default_thread_rate_limit_per_user": {
-                "type": "integer"
-            }
-        },
-        "additionalProperties": false,
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1,
-                    2
-                ],
-                "type": "number"
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    }
-}
\ No newline at end of file
+	"ActivitySchema": {
+		"type": "object",
+		"properties": {
+			"afk": {
+				"type": "boolean"
+			},
+			"status": {},
+			"activities": {
+				"type": "array",
+				"items": {}
+			},
+			"since": {
+				"type": "integer"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["afk", "status"],
+		"$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#"
+	},
+	"BanModeratorSchema": {
+		"type": "object",
+		"properties": {
+			"id": {
+				"type": "string"
+			},
+			"user_id": {
+				"type": "string"
+			},
+			"guild_id": {
+				"type": "string"
+			},
+			"executor_id": {
+				"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": {
+				"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#"
+	},
+	"BulkDeleteSchema": {
+		"type": "object",
+		"properties": {
+			"messages": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"required": ["messages"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ts.server.TypingInstallerResponse": {
+		"type": "object",
+		"properties": {
+			"kind": {
+				"enum": [
+					"action::invalidate",
+					"action::packageInstalled",
+					"action::set",
+					"event::beginInstallTypes",
+					"event::endInstallTypes",
+					"event::initializationFailed",
+					"event::typesRegistry"
+				],
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["kind"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ts.server.PackageInstalledResponse": {
+		"type": "object",
+		"properties": {
+			"kind": {
+				"type": "string",
+				"enum": ["action::packageInstalled"]
+			},
+			"success": {
+				"type": "boolean"
+			},
+			"message": {
+				"type": "string"
+			},
+			"projectName": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["kind", "message", "projectName", "success"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ts.server.InitializationFailedResponse": {
+		"type": "object",
+		"properties": {
+			"kind": {
+				"type": "string",
+				"enum": ["event::initializationFailed"]
+			},
+			"message": {
+				"type": "string"
+			},
+			"stack": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["kind", "message"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ts.server.ProjectResponse": {
+		"type": "object",
+		"properties": {
+			"projectName": {
+				"type": "string"
+			},
+			"kind": {
+				"enum": [
+					"action::invalidate",
+					"action::packageInstalled",
+					"action::set",
+					"event::beginInstallTypes",
+					"event::endInstallTypes",
+					"event::initializationFailed",
+					"event::typesRegistry"
+				],
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["kind", "projectName"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ChannelPermissionOverwriteSchema": {
+		"type": "object",
+		"additionalProperties": false,
+		"$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#"
+	},
+	"DmChannelCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"recipients": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"required": ["recipients"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"EmojiCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"image": {
+				"type": "string"
+			},
+			"require_colons": {
+				"type": ["null", "boolean"]
+			},
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"required": ["image"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"EmojiModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"GuildCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"region": {
+				"type": "string"
+			},
+			"icon": {
+				"type": ["null", "string"]
+			},
+			"channels": {
+				"type": "array",
+				"items": {
+					"$ref": "#/definitions/ChannelModifySchema"
+				}
+			},
+			"guild_template_code": {
+				"type": "string"
+			},
+			"system_channel_id": {
+				"type": "string"
+			},
+			"rules_channel_id": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["name"],
+		"definitions": {
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 14, 15, 2, 255, 3, 33, 34, 35, 4, 5, 6, 64, 7, 8, 9],
+						"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"
+					},
+					"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"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					},
+					"flags": {
+						"type": "integer"
+					},
+					"default_thread_rate_limit_per_user": {
+						"type": "integer"
+					}
+				},
+				"additionalProperties": false
+			},
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1, 2],
+				"type": "number"
+			}
+		},
+		"$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": {
+			"name": {
+				"type": "string"
+			},
+			"banner": {
+				"type": ["null", "string"]
+			},
+			"splash": {
+				"type": ["null", "string"]
+			},
+			"description": {
+				"type": "string"
+			},
+			"features": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			},
+			"verification_level": {
+				"type": "integer"
+			},
+			"default_message_notifications": {
+				"type": "integer"
+			},
+			"system_channel_flags": {
+				"type": "integer"
+			},
+			"explicit_content_filter": {
+				"type": "integer"
+			},
+			"public_updates_channel_id": {
+				"type": "string"
+			},
+			"afk_timeout": {
+				"type": "integer"
+			},
+			"afk_channel_id": {
+				"type": "string"
+			},
+			"preferred_locale": {
+				"type": "string"
+			},
+			"premium_progress_bar_enabled": {
+				"type": "boolean"
+			},
+			"region": {
+				"type": "string"
+			},
+			"icon": {
+				"type": ["null", "string"]
+			},
+			"guild_template_code": {
+				"type": "string"
+			},
+			"system_channel_id": {
+				"type": "string"
+			},
+			"rules_channel_id": {
+				"type": "string"
+			}
+		},
+		"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", "emoji_name"]
+				}
+			},
+			"enabled": {
+				"type": "boolean"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"IdentifySchema": {
+		"type": "object",
+		"properties": {
+			"token": {
+				"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
+			},
+			"intents": {
+				"type": "string"
+			},
+			"presence": {
+				"$ref": "#/definitions/ActivitySchema"
+			},
+			"compress": {
+				"type": "boolean"
+			},
+			"large_threshold": {
+				"type": "integer"
+			},
+			"shard": {
+				"type": "array",
+				"items": [
+					{
+						"type": "integer"
+					},
+					{
+						"type": "integer"
+					}
+				],
+				"minItems": 2,
+				"maxItems": 2
+			},
+			"guild_subscriptions": {
+				"type": "boolean"
+			},
+			"capabilities": {
+				"type": "integer"
+			},
+			"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
+			},
+			"v": {
+				"type": "integer"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["properties", "token"],
+		"definitions": {
+			"ActivitySchema": {
+				"type": "object",
+				"properties": {
+					"afk": {
+						"type": "boolean"
+					},
+					"status": {},
+					"activities": {
+						"type": "array",
+						"items": {}
+					},
+					"since": {
+						"type": "integer"
+					}
+				},
+				"additionalProperties": false,
+				"required": ["afk", "status"]
+			}
+		},
+		"$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#"
+	},
+	"LoginSchema": {
+		"type": "object",
+		"properties": {
+			"login": {
+				"type": "string"
+			},
+			"password": {
+				"type": "string"
+			},
+			"undelete": {
+				"type": "boolean"
+			},
+			"captcha_key": {
+				"type": "string"
+			},
+			"login_source": {
+				"type": "string"
+			},
+			"gift_code_sku_id": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["login", "password"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MemberChangeSchema": {
+		"type": "object",
+		"properties": {
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MemberNickChangeSchema": {
+		"type": "object",
+		"properties": {
+			"nick": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["nick"],
+		"$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#"
+	},
+	"MessageCreateSchema": {
+		"type": "object",
+		"properties": {
+			"type": {
+				"type": "integer"
+			},
+			"content": {
+				"type": "string"
+			},
+			"nonce": {
+				"type": "string"
+			},
+			"channel_id": {
+				"type": "string"
+			},
+			"tts": {
+				"type": "boolean"
+			},
+			"flags": {
+				"type": "string"
+			},
+			"embeds": {
+				"type": "array",
+				"items": {}
+			},
+			"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"
+				}
+			}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MfaCodesSchema": {
+		"type": "object",
+		"properties": {
+			"password": {
+				"type": "string"
+			},
+			"regenerate": {
+				"type": "boolean"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["password"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ModifyGuildStickerSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"minLength": 2,
+				"maxLength": 30,
+				"type": "string"
+			},
+			"description": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"tags": {
+				"maxLength": 200,
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["name", "tags"],
+		"$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#"
+	},
+	"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": 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"
+			},
+			"username": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["discriminator", "username"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RelationshipPutSchema": {
+		"type": "object",
+		"properties": {
+			"type": {}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RoleModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"permissions": {
+				"type": "string"
+			},
+			"color": {
+				"type": "integer"
+			},
+			"hoist": {
+				"type": "boolean"
+			},
+			"mentionable": {
+				"type": "boolean"
+			},
+			"position": {
+				"type": "integer"
+			},
+			"icon": {
+				"type": "string"
+			},
+			"unicode_emoji": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"$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#"
+	},
+	"TemplateCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["name"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TemplateModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["name"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TotpDisableSchema": {
+		"type": "object",
+		"properties": {
+			"code": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["code"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TotpEnableSchema": {
+		"type": "object",
+		"properties": {
+			"password": {
+				"type": "string"
+			},
+			"code": {
+				"type": "string"
+			},
+			"secret": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"required": ["password"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TotpSchema": {
+		"type": "object",
+		"properties": {
+			"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#"
+	},
+	"UserModifySchema": {
+		"type": "object",
+		"properties": {
+			"username": {
+				"minLength": 1,
+				"maxLength": 100,
+				"type": "string"
+			},
+			"discriminator": {
+				"type": "string"
+			},
+			"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"
+			},
+			"email": {
+				"type": "string"
+			}
+		},
+		"additionalProperties": false,
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"UserSettingsSchema": {
+		"type": "object",
+		"additionalProperties": false,
+		"$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#"
+	},
+	"ChannelModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"type": {
+				"enum": [0, 1, 10, 11, 12, 13, 14, 15, 2, 255, 3, 33, 34, 35, 4, 5, 6, 64, 7, 8, 9],
+				"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"
+			},
+			"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"]
+				}
+			},
+			"parent_id": {
+				"type": "string"
+			},
+			"id": {
+				"type": "string"
+			},
+			"nsfw": {
+				"type": "boolean"
+			},
+			"rtc_region": {
+				"type": "string"
+			},
+			"default_auto_archive_duration": {
+				"type": "integer"
+			},
+			"flags": {
+				"type": "integer"
+			},
+			"default_thread_rate_limit_per_user": {
+				"type": "integer"
+			}
+		},
+		"additionalProperties": false,
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1, 2],
+				"type": "number"
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	}
+}
diff --git a/assets/user.css b/assets/user.css
index a7e5c4f3..652306af 100644
--- a/assets/user.css
+++ b/assets/user.css
@@ -1 +1 @@
-/* Your custom CSS goes here, enjoy! */
\ No newline at end of file
+/* Your custom CSS goes here, enjoy! */