summary refs log tree commit diff
diff options
context:
space:
mode:
authorPuyodead1 <puyodead@protonmail.com>2023-09-08 21:33:04 -0400
committerPuyodead1 <puyodead@protonmail.com>2023-12-23 16:38:15 -0500
commit4d027a424e442f10371d205e68aa3bf63d0eba0e (patch)
treecfce10a0f47f497ce89f4f18ec31cc685cb2941a
parentupdate user modify for unique usernames (diff)
downloadserver-4d027a424e442f10371d205e68aa3bf63d0eba0e.tar.xz
Implement Pomelo Registration
-rw-r--r--assets/locales/en/auth.json3
-rw-r--r--assets/openapi.json213
-rw-r--r--assets/schemas.json3734
-rw-r--r--src/api/routes/auth/register.ts11
-rw-r--r--src/api/routes/unique-username/username-attempt-unauthed.ts33
-rw-r--r--src/api/routes/unique-username/username-suggestions-unauthed.ts37
-rw-r--r--src/api/routes/users/@me/index.ts6
-rw-r--r--src/util/entities/User.ts40
-rw-r--r--src/util/schemas/UsernameAttemptUnauthedSchema.ts3
-rw-r--r--src/util/schemas/index.ts1
-rw-r--r--src/util/schemas/responses/UsernameAttemptResponse.ts3
11 files changed, 1835 insertions, 2249 deletions
diff --git a/assets/locales/en/auth.json b/assets/locales/en/auth.json
index 2415c657..a4595662 100644
--- a/assets/locales/en/auth.json
+++ b/assets/locales/en/auth.json
@@ -15,7 +15,8 @@
 		"CONSENT_REQUIRED": "You must agree to the Terms of Service and Privacy Policy.",
 		"USERNAME_TOO_MANY_USERS": "Too many users have this username, please try another",
 		"GUESTS_DISABLED": "Guest users are disabled",
-		"TOO_MANY_REGISTRATIONS": "Too many registrations, please try again later"
+		"TOO_MANY_REGISTRATIONS": "Too many registrations, please try again later",
+		"UNIQUE_USERNAMES_DISABLED": "The Unique Usernames feature is disabled on this instance"
 	},
 	"password_reset": {
 		"EMAIL_DOES_NOT_EXIST": "Email does not exist.",
diff --git a/assets/openapi.json b/assets/openapi.json
index 7b2243e9..c3e1419d 100644
--- a/assets/openapi.json
+++ b/assets/openapi.json
@@ -3499,9 +3499,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -6014,6 +6011,17 @@
                     }
                 }
             },
+            "UsernameAttemptUnauthedSchema": {
+                "type": "object",
+                "properties": {
+                    "username": {
+                        "type": "string"
+                    }
+                },
+                "required": [
+                    "username"
+                ]
+            },
             "VanityUrlSchema": {
                 "type": "object",
                 "properties": {
@@ -7040,9 +7048,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -7163,9 +7168,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -8025,6 +8027,17 @@
                     "days"
                 ]
             },
+            "UsernameAttemptResponse": {
+                "type": "object",
+                "properties": {
+                    "taken": {
+                        "type": "boolean"
+                    }
+                },
+                "required": [
+                    "taken"
+                ]
+            },
             "VerifyEmailSchema": {
                 "type": "object",
                 "properties": {
@@ -8131,6 +8144,9 @@
             "name": "track"
         },
         {
+            "name": "unique-username"
+        },
+        {
             "name": "updates"
         },
         {
@@ -9775,6 +9791,85 @@
                 ]
             }
         },
+        "/unique-username/username-suggestions-unauthed/": {
+            "get": {
+                "security": [
+                    {
+                        "bearer": []
+                    }
+                ],
+                "responses": {
+                    "400": {
+                        "description": "",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/APIErrorResponse"
+                                }
+                            }
+                        }
+                    }
+                },
+                "parameters": [
+                    {
+                        "name": "global_name",
+                        "in": "query",
+                        "required": false,
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                ],
+                "tags": [
+                    "unique-username"
+                ]
+            }
+        },
+        "/unique-username/username-attempt-unauthed/": {
+            "post": {
+                "security": [
+                    {
+                        "bearer": []
+                    }
+                ],
+                "description": "Check if a username is available",
+                "requestBody": {
+                    "required": true,
+                    "content": {
+                        "application/json": {
+                            "schema": {
+                                "$ref": "#/components/schemas/UsernameAttemptUnauthedSchema"
+                            }
+                        }
+                    }
+                },
+                "responses": {
+                    "200": {
+                        "description": "",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/UsernameAttemptResponse"
+                                }
+                            }
+                        }
+                    },
+                    "400": {
+                        "description": "",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/APIErrorResponse"
+                                }
+                            }
+                        }
+                    }
+                },
+                "tags": [
+                    "unique-username"
+                ]
+            }
+        },
         "/track/": {
             "post": {
                 "responses": {
@@ -10290,6 +10385,15 @@
                         }
                     }
                 },
+                "parameters": [
+                    {
+                        "name": "client_id",
+                        "in": "query",
+                        "schema": {
+                            "type": "string"
+                        }
+                    }
+                ],
                 "tags": [
                     "oauth2"
                 ]
@@ -10366,6 +10470,30 @@
                 ]
             }
         },
+        "/oauth2/applications/@me/": {
+            "get": {
+                "security": [
+                    {
+                        "bearer": []
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "",
+                        "content": {
+                            "application/json": {
+                                "schema": {
+                                    "$ref": "#/components/schemas/Application"
+                                }
+                            }
+                        }
+                    }
+                },
+                "tags": [
+                    "oauth2"
+                ]
+            }
+        },
         "/invites/{code}": {
             "get": {
                 "security": [
@@ -13995,71 +14123,6 @@
                 ]
             }
         },
-        "/guilds/{guild_id}/bans/@me": {
-            "put": {
-                "security": [
-                    {
-                        "bearer": []
-                    }
-                ],
-                "requestBody": {
-                    "required": true,
-                    "content": {
-                        "application/json": {
-                            "schema": {
-                                "$ref": "#/components/schemas/BanCreateSchema"
-                            }
-                        }
-                    }
-                },
-                "responses": {
-                    "200": {
-                        "description": "",
-                        "content": {
-                            "application/json": {
-                                "schema": {
-                                    "$ref": "#/components/schemas/Ban"
-                                }
-                            }
-                        }
-                    },
-                    "400": {
-                        "description": "",
-                        "content": {
-                            "application/json": {
-                                "schema": {
-                                    "$ref": "#/components/schemas/APIErrorResponse"
-                                }
-                            }
-                        }
-                    },
-                    "403": {
-                        "description": "",
-                        "content": {
-                            "application/json": {
-                                "schema": {
-                                    "$ref": "#/components/schemas/APIErrorResponse"
-                                }
-                            }
-                        }
-                    }
-                },
-                "parameters": [
-                    {
-                        "name": "guild_id",
-                        "in": "path",
-                        "required": true,
-                        "schema": {
-                            "type": "string"
-                        },
-                        "description": "guild_id"
-                    }
-                ],
-                "tags": [
-                    "guilds"
-                ]
-            }
-        },
         "/guilds/{guild_id}/audit-logs/": {
             "get": {
                 "security": [
@@ -16408,7 +16471,7 @@
         },
         "/auth/generate-registration-tokens/": {
             "get": {
-                "x-right-required": "OPERATOR",
+                "x-right-required": "CREATE_REGISTRATION_TOKENS",
                 "security": [
                     {
                         "bearer": []
diff --git a/assets/schemas.json b/assets/schemas.json
index 0f2602f7..b12357ca 100644
--- a/assets/schemas.json
+++ b/assets/schemas.json
@@ -3663,9 +3663,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -7911,9 +7908,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -12159,9 +12153,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -16402,9 +16393,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -20681,9 +20669,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -24929,9 +24914,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -29168,9 +29150,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -33410,9 +33389,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -37661,9 +37637,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -41900,9 +41873,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -46139,9 +46109,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -50397,9 +50364,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -54639,9 +54603,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -58941,9 +58902,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -63202,9 +63160,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -67604,9 +67559,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -71864,9 +71816,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -76134,9 +76083,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -80386,9 +80332,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -84644,9 +84587,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -88892,9 +88832,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -93128,9 +93065,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -97482,9 +97416,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -101833,9 +101764,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -106072,9 +106000,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -110319,9 +110244,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -114559,9 +114481,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -118799,9 +118718,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -123074,9 +122990,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -127314,9 +127227,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -131553,9 +131463,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -135807,9 +135714,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -140050,9 +139954,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -144367,9 +144268,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -148606,9 +148504,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -152845,9 +152740,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -157081,9 +156973,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -161323,9 +161212,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -165575,9 +165461,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -169811,9 +169694,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -174096,9 +173976,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -178370,9 +178247,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -182606,9 +182480,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -186867,9 +186738,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -191217,9 +191085,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -192147,16 +192012,17 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "VanityUrlSchema": {
+    "UsernameAttemptUnauthedSchema": {
         "type": "object",
         "properties": {
-            "code": {
-                "minLength": 1,
-                "maxLength": 20,
+            "username": {
                 "type": "string"
             }
         },
         "additionalProperties": false,
+        "required": [
+            "username"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -195452,9 +195318,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -196382,55 +196245,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "VoiceIdentifySchema": {
+    "VanityUrlSchema": {
         "type": "object",
         "properties": {
-            "server_id": {
-                "type": "string"
-            },
-            "user_id": {
-                "type": "string"
-            },
-            "session_id": {
-                "type": "string"
-            },
-            "token": {
+            "code": {
+                "minLength": 1,
+                "maxLength": 20,
                 "type": "string"
-            },
-            "video": {
-                "type": "boolean"
-            },
-            "streams": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "type": {
-                            "type": "string"
-                        },
-                        "rid": {
-                            "type": "string"
-                        },
-                        "quality": {
-                            "type": "integer"
-                        }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                        "quality",
-                        "rid",
-                        "type"
-                    ]
-                }
             }
         },
         "additionalProperties": false,
-        "required": [
-            "server_id",
-            "session_id",
-            "token",
-            "user_id"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -199726,9 +199550,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -200656,42 +200477,54 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "VoiceStateUpdateSchema": {
+    "VoiceIdentifySchema": {
         "type": "object",
         "properties": {
-            "guild_id": {
+            "server_id": {
                 "type": "string"
             },
-            "channel_id": {
+            "user_id": {
                 "type": "string"
             },
-            "self_mute": {
-                "type": "boolean"
-            },
-            "self_deaf": {
-                "type": "boolean"
-            },
-            "self_video": {
-                "type": "boolean"
-            },
-            "preferred_region": {
+            "session_id": {
                 "type": "string"
             },
-            "request_to_speak_timestamp": {
-                "type": "string",
-                "format": "date-time"
+            "token": {
+                "type": "string"
             },
-            "suppress": {
+            "video": {
                 "type": "boolean"
             },
-            "flags": {
-                "type": "integer"
+            "streams": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "type": {
+                            "type": "string"
+                        },
+                        "rid": {
+                            "type": "string"
+                        },
+                        "quality": {
+                            "type": "integer"
+                        }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                        "quality",
+                        "rid",
+                        "type"
+                    ]
+                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "self_deaf",
-            "self_mute"
+            "server_id",
+            "session_id",
+            "token",
+            "user_id"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -203988,9 +203821,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -204918,94 +204748,42 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "VoiceVideoSchema": {
+    "VoiceStateUpdateSchema": {
         "type": "object",
         "properties": {
-            "audio_ssrc": {
-                "type": "integer"
+            "guild_id": {
+                "type": "string"
             },
-            "video_ssrc": {
-                "type": "integer"
+            "channel_id": {
+                "type": "string"
             },
-            "rtx_ssrc": {
-                "type": "integer"
+            "self_mute": {
+                "type": "boolean"
             },
-            "user_id": {
+            "self_deaf": {
+                "type": "boolean"
+            },
+            "self_video": {
+                "type": "boolean"
+            },
+            "preferred_region": {
                 "type": "string"
             },
-            "streams": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "type": {
-                            "enum": [
-                                "audio",
-                                "video"
-                            ],
-                            "type": "string"
-                        },
-                        "rid": {
-                            "type": "string"
-                        },
-                        "ssrc": {
-                            "type": "integer"
-                        },
-                        "active": {
-                            "type": "boolean"
-                        },
-                        "quality": {
-                            "type": "integer"
-                        },
-                        "rtx_ssrc": {
-                            "type": "integer"
-                        },
-                        "max_bitrate": {
-                            "type": "integer"
-                        },
-                        "max_framerate": {
-                            "type": "integer"
-                        },
-                        "max_resolution": {
-                            "type": "object",
-                            "properties": {
-                                "type": {
-                                    "type": "string"
-                                },
-                                "width": {
-                                    "type": "integer"
-                                },
-                                "height": {
-                                    "type": "integer"
-                                }
-                            },
-                            "additionalProperties": false,
-                            "required": [
-                                "height",
-                                "type",
-                                "width"
-                            ]
-                        }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                        "active",
-                        "max_bitrate",
-                        "max_framerate",
-                        "max_resolution",
-                        "quality",
-                        "rid",
-                        "rtx_ssrc",
-                        "ssrc",
-                        "type"
-                    ]
-                }
+            "request_to_speak_timestamp": {
+                "type": "string",
+                "format": "date-time"
+            },
+            "suppress": {
+                "type": "boolean"
+            },
+            "flags": {
+                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "audio_ssrc",
-            "video_ssrc"
+            "self_deaf",
+            "self_mute"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -208302,9 +208080,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -209232,16 +209007,94 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GenerateWebAuthnCredentialsSchema": {
+    "VoiceVideoSchema": {
         "type": "object",
         "properties": {
-            "password": {
+            "audio_ssrc": {
+                "type": "integer"
+            },
+            "video_ssrc": {
+                "type": "integer"
+            },
+            "rtx_ssrc": {
+                "type": "integer"
+            },
+            "user_id": {
                 "type": "string"
+            },
+            "streams": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "type": {
+                            "enum": [
+                                "audio",
+                                "video"
+                            ],
+                            "type": "string"
+                        },
+                        "rid": {
+                            "type": "string"
+                        },
+                        "ssrc": {
+                            "type": "integer"
+                        },
+                        "active": {
+                            "type": "boolean"
+                        },
+                        "quality": {
+                            "type": "integer"
+                        },
+                        "rtx_ssrc": {
+                            "type": "integer"
+                        },
+                        "max_bitrate": {
+                            "type": "integer"
+                        },
+                        "max_framerate": {
+                            "type": "integer"
+                        },
+                        "max_resolution": {
+                            "type": "object",
+                            "properties": {
+                                "type": {
+                                    "type": "string"
+                                },
+                                "width": {
+                                    "type": "integer"
+                                },
+                                "height": {
+                                    "type": "integer"
+                                }
+                            },
+                            "additionalProperties": false,
+                            "required": [
+                                "height",
+                                "type",
+                                "width"
+                            ]
+                        }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                        "active",
+                        "max_bitrate",
+                        "max_framerate",
+                        "max_resolution",
+                        "quality",
+                        "rid",
+                        "rtx_ssrc",
+                        "ssrc",
+                        "type"
+                    ]
+                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "password"
+            "audio_ssrc",
+            "video_ssrc"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -212538,9 +212391,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -213468,24 +213318,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "CreateWebAuthnCredentialSchema": {
+    "GenerateWebAuthnCredentialsSchema": {
         "type": "object",
         "properties": {
-            "credential": {
-                "type": "string"
-            },
-            "name": {
-                "type": "string"
-            },
-            "ticket": {
+            "password": {
                 "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "credential",
-            "name",
-            "ticket"
+            "password"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -216782,9 +216624,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -217712,14 +217551,24 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebAuthnPostSchema": {
-        "anyOf": [
-            {
-                "$ref": "#/definitions/GenerateWebAuthnCredentialsSchema"
+    "CreateWebAuthnCredentialSchema": {
+        "type": "object",
+        "properties": {
+            "credential": {
+                "type": "string"
             },
-            {
-                "$ref": "#/definitions/CreateWebAuthnCredentialSchema"
+            "name": {
+                "type": "string"
+            },
+            "ticket": {
+                "type": "string"
             }
+        },
+        "additionalProperties": false,
+        "required": [
+            "credential",
+            "name",
+            "ticket"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -221016,9 +220865,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -221946,20 +221792,14 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebAuthnTotpSchema": {
-        "type": "object",
-        "properties": {
-            "code": {
-                "type": "string"
+    "WebAuthnPostSchema": {
+        "anyOf": [
+            {
+                "$ref": "#/definitions/GenerateWebAuthnCredentialsSchema"
             },
-            "ticket": {
-                "type": "string"
+            {
+                "$ref": "#/definitions/CreateWebAuthnCredentialSchema"
             }
-        },
-        "additionalProperties": false,
-        "required": [
-            "code",
-            "ticket"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -225256,9 +225096,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -226186,20 +226023,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebhookCreateSchema": {
+    "WebAuthnTotpSchema": {
         "type": "object",
         "properties": {
-            "name": {
-                "maxLength": 80,
+            "code": {
                 "type": "string"
             },
-            "avatar": {
+            "ticket": {
                 "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "name"
+            "code",
+            "ticket"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -229496,9 +229333,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -230426,20 +230260,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WidgetModifySchema": {
+    "WebhookCreateSchema": {
         "type": "object",
         "properties": {
-            "enabled": {
-                "type": "boolean"
+            "name": {
+                "maxLength": 80,
+                "type": "string"
             },
-            "channel_id": {
+            "avatar": {
                 "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "channel_id",
-            "enabled"
+            "name"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -233736,9 +233570,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -234666,52 +234497,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIErrorResponse": {
+    "WidgetModifySchema": {
         "type": "object",
         "properties": {
-            "code": {
-                "type": "integer"
+            "enabled": {
+                "type": "boolean"
             },
-            "message": {
+            "channel_id": {
                 "type": "string"
-            },
-            "errors": {
-                "type": "object",
-                "additionalProperties": {
-                    "type": "object",
-                    "properties": {
-                        "_errors": {
-                            "type": "array",
-                            "items": {
-                                "type": "object",
-                                "properties": {
-                                    "message": {
-                                        "type": "string"
-                                    },
-                                    "code": {
-                                        "type": "string"
-                                    }
-                                },
-                                "additionalProperties": false,
-                                "required": [
-                                    "code",
-                                    "message"
-                                ]
-                            }
-                        }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                        "_errors"
-                    ]
-                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "code",
-            "errors",
-            "message"
+            "channel_id",
+            "enabled"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -238008,9 +237807,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -238938,24 +238734,52 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "CaptchaRequiredResponse": {
+    "APIErrorResponse": {
         "type": "object",
         "properties": {
-            "captcha_key": {
-                "type": "string"
+            "code": {
+                "type": "integer"
             },
-            "captcha_sitekey": {
+            "message": {
                 "type": "string"
             },
-            "captcha_service": {
-                "type": "string"
+            "errors": {
+                "type": "object",
+                "additionalProperties": {
+                    "type": "object",
+                    "properties": {
+                        "_errors": {
+                            "type": "array",
+                            "items": {
+                                "type": "object",
+                                "properties": {
+                                    "message": {
+                                        "type": "string"
+                                    },
+                                    "code": {
+                                        "type": "string"
+                                    }
+                                },
+                                "additionalProperties": false,
+                                "required": [
+                                    "code",
+                                    "message"
+                                ]
+                            }
+                        }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                        "_errors"
+                    ]
+                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "captcha_key",
-            "captcha_service",
-            "captcha_sitekey"
+            "code",
+            "errors",
+            "message"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -242252,9 +242076,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -243182,14 +243003,24 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIErrorOrCaptchaResponse": {
-        "anyOf": [
-            {
-                "$ref": "#/definitions/APIErrorResponse"
+    "CaptchaRequiredResponse": {
+        "type": "object",
+        "properties": {
+            "captcha_key": {
+                "type": "string"
             },
-            {
-                "$ref": "#/definitions/CaptchaRequiredResponse"
+            "captcha_sitekey": {
+                "type": "string"
+            },
+            "captcha_service": {
+                "type": "string"
             }
+        },
+        "additionalProperties": false,
+        "required": [
+            "captcha_key",
+            "captcha_service",
+            "captcha_sitekey"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -246486,9 +246317,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -247416,20 +247244,14 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "BackupCodesChallengeResponse": {
-        "type": "object",
-        "properties": {
-            "nonce": {
-                "type": "string"
+    "APIErrorOrCaptchaResponse": {
+        "anyOf": [
+            {
+                "$ref": "#/definitions/APIErrorResponse"
             },
-            "regenerate_nonce": {
-                "type": "string"
+            {
+                "$ref": "#/definitions/CaptchaRequiredResponse"
             }
-        },
-        "additionalProperties": false,
-        "required": [
-            "nonce",
-            "regenerate_nonce"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -250726,9 +250548,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -251656,31 +251475,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "DiscoverableGuildsResponse": {
+    "BackupCodesChallengeResponse": {
         "type": "object",
         "properties": {
-            "total": {
-                "type": "integer"
-            },
-            "guilds": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Guild"
-                }
-            },
-            "offset": {
-                "type": "integer"
+            "nonce": {
+                "type": "string"
             },
-            "limit": {
-                "type": "integer"
+            "regenerate_nonce": {
+                "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "guilds",
-            "limit",
-            "offset",
-            "total"
+            "nonce",
+            "regenerate_nonce"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -254977,9 +254785,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -255907,45 +255712,31 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GatewayBotResponse": {
+    "DiscoverableGuildsResponse": {
         "type": "object",
         "properties": {
-            "url": {
-                "type": "string"
+            "total": {
+                "type": "integer"
             },
-            "shards": {
+            "guilds": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Guild"
+                }
+            },
+            "offset": {
                 "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"
-                ]
+            "limit": {
+                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "session_start_limit",
-            "shards",
-            "url"
+            "guilds",
+            "limit",
+            "offset",
+            "total"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -259242,9 +259033,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -260172,15 +259960,44 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GatewayResponse": {
+    "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"
         ],
         "definitions": {
@@ -263478,9 +263295,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -264408,19 +264222,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GenerateRegistrationTokensResponse": {
+    "GatewayResponse": {
         "type": "object",
         "properties": {
-            "tokens": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
+            "url": {
+                "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "tokens"
+            "url"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -267717,9 +267528,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -268647,51 +268455,19 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildBansResponse": {
+    "GenerateRegistrationTokensResponse": {
         "type": "object",
         "properties": {
-            "reason": {
-                "type": "string"
-            },
-            "user": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "global_name": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "avatar": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    }
-                },
-                "additionalProperties": false,
-                "required": [
-                    "avatar",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
+            "tokens": {
+                "type": "array",
+                "items": {
+                    "type": "string"
+                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "reason",
-            "user"
+            "tokens"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -271988,9 +271764,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -272918,16 +272691,51 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildCreateResponse": {
+    "GuildBansResponse": {
         "type": "object",
         "properties": {
-            "id": {
+            "reason": {
                 "type": "string"
+            },
+            "user": {
+                "type": "object",
+                "properties": {
+                    "username": {
+                        "type": "string"
+                    },
+                    "discriminator": {
+                        "type": "string"
+                    },
+                    "global_name": {
+                        "type": "string"
+                    },
+                    "id": {
+                        "type": "string"
+                    },
+                    "avatar": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
+                    },
+                    "public_flags": {
+                        "type": "integer"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "avatar",
+                    "discriminator",
+                    "id",
+                    "public_flags",
+                    "username"
+                ]
             }
         },
         "additionalProperties": false,
         "required": [
-            "id"
+            "reason",
+            "user"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -276224,9 +276032,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -277154,95 +276959,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildDiscoveryRequirementsResponse": {
+    "GuildCreateResponse": {
         "type": "object",
         "properties": {
-            "uild_id": {
+            "id": {
                 "type": "string"
-            },
-            "safe_environment": {
-                "type": "boolean"
-            },
-            "healthy": {
-                "type": "boolean"
-            },
-            "health_score_pending": {
-                "type": "boolean"
-            },
-            "size": {
-                "type": "boolean"
-            },
-            "nsfw_properties": {},
-            "protected": {
-                "type": "boolean"
-            },
-            "sufficient": {
-                "type": "boolean"
-            },
-            "sufficient_without_grace_period": {
-                "type": "boolean"
-            },
-            "valid_rules_channel": {
-                "type": "boolean"
-            },
-            "retention_healthy": {
-                "type": "boolean"
-            },
-            "engagement_healthy": {
-                "type": "boolean"
-            },
-            "age": {
-                "type": "boolean"
-            },
-            "minimum_age": {
-                "type": "integer"
-            },
-            "health_score": {
-                "type": "object",
-                "properties": {
-                    "avg_nonnew_participators": {
-                        "type": "integer"
-                    },
-                    "avg_nonnew_communicators": {
-                        "type": "integer"
-                    },
-                    "num_intentful_joiners": {
-                        "type": "integer"
-                    },
-                    "perc_ret_w1_intentful": {
-                        "type": "integer"
-                    }
-                },
-                "additionalProperties": false,
-                "required": [
-                    "avg_nonnew_communicators",
-                    "avg_nonnew_participators",
-                    "num_intentful_joiners",
-                    "perc_ret_w1_intentful"
-                ]
-            },
-            "minimum_size": {
-                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "age",
-            "engagement_healthy",
-            "health_score",
-            "health_score_pending",
-            "healthy",
-            "minimum_age",
-            "minimum_size",
-            "nsfw_properties",
-            "protected",
-            "retention_healthy",
-            "safe_environment",
-            "size",
-            "sufficient",
-            "sufficient_without_grace_period",
-            "uild_id",
-            "valid_rules_channel"
+            "id"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -280539,9 +280265,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -281469,23 +281192,95 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildMessagesSearchResponse": {
+    "GuildDiscoveryRequirementsResponse": {
         "type": "object",
         "properties": {
-            "messages": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/GuildMessagesSearchMessage"
-                }
+            "uild_id": {
+                "type": "string"
             },
-            "total_results": {
+            "safe_environment": {
+                "type": "boolean"
+            },
+            "healthy": {
+                "type": "boolean"
+            },
+            "health_score_pending": {
+                "type": "boolean"
+            },
+            "size": {
+                "type": "boolean"
+            },
+            "nsfw_properties": {},
+            "protected": {
+                "type": "boolean"
+            },
+            "sufficient": {
+                "type": "boolean"
+            },
+            "sufficient_without_grace_period": {
+                "type": "boolean"
+            },
+            "valid_rules_channel": {
+                "type": "boolean"
+            },
+            "retention_healthy": {
+                "type": "boolean"
+            },
+            "engagement_healthy": {
+                "type": "boolean"
+            },
+            "age": {
+                "type": "boolean"
+            },
+            "minimum_age": {
+                "type": "integer"
+            },
+            "health_score": {
+                "type": "object",
+                "properties": {
+                    "avg_nonnew_participators": {
+                        "type": "integer"
+                    },
+                    "avg_nonnew_communicators": {
+                        "type": "integer"
+                    },
+                    "num_intentful_joiners": {
+                        "type": "integer"
+                    },
+                    "perc_ret_w1_intentful": {
+                        "type": "integer"
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "avg_nonnew_communicators",
+                    "avg_nonnew_participators",
+                    "num_intentful_joiners",
+                    "perc_ret_w1_intentful"
+                ]
+            },
+            "minimum_size": {
                 "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "messages",
-            "total_results"
+            "age",
+            "engagement_healthy",
+            "health_score",
+            "health_score_pending",
+            "healthy",
+            "minimum_age",
+            "minimum_size",
+            "nsfw_properties",
+            "protected",
+            "retention_healthy",
+            "safe_environment",
+            "size",
+            "sufficient",
+            "sufficient_without_grace_period",
+            "uild_id",
+            "valid_rules_channel"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -284782,9 +284577,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -285712,16 +285504,23 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildPruneResponse": {
+    "GuildMessagesSearchResponse": {
         "type": "object",
         "properties": {
-            "pruned": {
+            "messages": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/GuildMessagesSearchMessage"
+                }
+            },
+            "total_results": {
                 "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "pruned"
+            "messages",
+            "total_results"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -289018,9 +288817,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -289948,16 +289744,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildPurgeResponse": {
+    "GuildPruneResponse": {
         "type": "object",
         "properties": {
-            "purged": {
+            "pruned": {
                 "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "purged"
+            "pruned"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -293254,9 +293050,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -294184,23 +293977,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildRecommendationsResponse": {
+    "GuildPurgeResponse": {
         "type": "object",
         "properties": {
-            "recommended_guilds": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Guild"
-                }
-            },
-            "load_id": {
-                "type": "string"
+            "purged": {
+                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "load_id",
-            "recommended_guilds"
+            "purged"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -297497,9 +297283,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -298427,20 +298210,23 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildVanityUrlResponse": {
-        "anyOf": [
-            {
-                "$ref": "#/definitions/GuildVanityUrl"
-            },
-            {
-                "$ref": "#/definitions/GuildVanityUrlNoInvite"
-            },
-            {
+    "GuildRecommendationsResponse": {
+        "type": "object",
+        "properties": {
+            "recommended_guilds": {
                 "type": "array",
                 "items": {
-                    "$ref": "#/definitions/GuildVanityUrl"
+                    "$ref": "#/definitions/Guild"
                 }
+            },
+            "load_id": {
+                "type": "string"
             }
+        },
+        "additionalProperties": false,
+        "required": [
+            "load_id",
+            "recommended_guilds"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -301737,9 +301523,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -302667,16 +302450,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildVanityUrlCreateResponse": {
-        "type": "object",
-        "properties": {
-            "code": {
-                "type": "string"
+    "GuildVanityUrlResponse": {
+        "anyOf": [
+            {
+                "$ref": "#/definitions/GuildVanityUrl"
+            },
+            {
+                "$ref": "#/definitions/GuildVanityUrlNoInvite"
+            },
+            {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/GuildVanityUrl"
+                }
             }
-        },
-        "additionalProperties": false,
-        "required": [
-            "code"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -305973,9 +305760,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -306903,98 +306687,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildWidgetJsonResponse": {
+    "GuildVanityUrlCreateResponse": {
         "type": "object",
         "properties": {
-            "id": {
-                "type": "string"
-            },
-            "name": {
-                "type": "string"
-            },
-            "instant_invite": {
+            "code": {
                 "type": "string"
-            },
-            "channels": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "id": {
-                            "type": "string"
-                        },
-                        "name": {
-                            "type": "string"
-                        },
-                        "position": {
-                            "type": "integer"
-                        }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                        "id",
-                        "name",
-                        "position"
-                    ]
-                }
-            },
-            "members": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "id": {
-                            "type": "string"
-                        },
-                        "username": {
-                            "type": "string"
-                        },
-                        "global_name": {
-                            "type": [
-                                "null",
-                                "string"
-                            ]
-                        },
-                        "discriminator": {
-                            "type": "string"
-                        },
-                        "avatar": {
-                            "type": [
-                                "null",
-                                "string"
-                            ]
-                        },
-                        "status": {
-                            "$ref": "#/definitions/ClientStatus"
-                        },
-                        "avatar_url": {
-                            "type": "string"
-                        }
-                    },
-                    "additionalProperties": false,
-                    "required": [
-                        "avatar",
-                        "avatar_url",
-                        "discriminator",
-                        "global_name",
-                        "id",
-                        "status",
-                        "username"
-                    ]
-                }
-            },
-            "presence_count": {
-                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "channels",
-            "id",
-            "instant_invite",
-            "members",
-            "name",
-            "presence_count"
+            "code"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -310291,9 +309993,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -311221,27 +310920,98 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "GuildWidgetSettingsResponse": {
+    "GuildWidgetJsonResponse": {
         "type": "object",
         "properties": {
-            "enabled": {
-                "type": "boolean"
+            "id": {
+                "type": "string"
             },
-            "channel_id": {
-                "anyOf": [
-                    {
-                        "$ref": "#/definitions/Snowflake"
+            "name": {
+                "type": "string"
+            },
+            "instant_invite": {
+                "type": "string"
+            },
+            "channels": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "id": {
+                            "type": "string"
+                        },
+                        "name": {
+                            "type": "string"
+                        },
+                        "position": {
+                            "type": "integer"
+                        }
                     },
-                    {
-                        "type": "null"
-                    }
-                ]
+                    "additionalProperties": false,
+                    "required": [
+                        "id",
+                        "name",
+                        "position"
+                    ]
+                }
+            },
+            "members": {
+                "type": "array",
+                "items": {
+                    "type": "object",
+                    "properties": {
+                        "id": {
+                            "type": "string"
+                        },
+                        "username": {
+                            "type": "string"
+                        },
+                        "global_name": {
+                            "type": [
+                                "null",
+                                "string"
+                            ]
+                        },
+                        "discriminator": {
+                            "type": "string"
+                        },
+                        "avatar": {
+                            "type": [
+                                "null",
+                                "string"
+                            ]
+                        },
+                        "status": {
+                            "$ref": "#/definitions/ClientStatus"
+                        },
+                        "avatar_url": {
+                            "type": "string"
+                        }
+                    },
+                    "additionalProperties": false,
+                    "required": [
+                        "avatar",
+                        "avatar_url",
+                        "discriminator",
+                        "global_name",
+                        "id",
+                        "status",
+                        "username"
+                    ]
+                }
+            },
+            "presence_count": {
+                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "channel_id",
-            "enabled"
+            "channels",
+            "id",
+            "instant_invite",
+            "members",
+            "name",
+            "presence_count"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -314538,9 +314308,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -315468,28 +315235,27 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "InstanceDomainsResponse": {
+    "GuildWidgetSettingsResponse": {
         "type": "object",
         "properties": {
-            "cdn": {
-                "type": "string"
-            },
-            "gateway": {
-                "type": "string"
-            },
-            "defaultApiVersion": {
-                "type": "string"
+            "enabled": {
+                "type": "boolean"
             },
-            "apiEndpoint": {
-                "type": "string"
+            "channel_id": {
+                "anyOf": [
+                    {
+                        "$ref": "#/definitions/Snowflake"
+                    },
+                    {
+                        "type": "null"
+                    }
+                ]
             }
         },
         "additionalProperties": false,
         "required": [
-            "apiEndpoint",
-            "cdn",
-            "defaultApiVersion",
-            "gateway"
+            "channel_id",
+            "enabled"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -318786,9 +318552,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -319716,78 +319479,28 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "InstancePingResponse": {
+    "InstanceDomainsResponse": {
         "type": "object",
         "properties": {
-            "ping": {
-                "type": "string",
-                "enum": [
-                    "pong!"
-                ]
+            "cdn": {
+                "type": "string"
             },
-            "instance": {
-                "type": "object",
-                "properties": {
-                    "id": {
-                        "type": "string"
-                    },
-                    "name": {
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "image": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "correspondenceEmail": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "correspondenceUserID": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "frontPage": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "tosPage": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    }
-                },
-                "additionalProperties": false,
-                "required": [
-                    "correspondenceEmail",
-                    "correspondenceUserID",
-                    "description",
-                    "frontPage",
-                    "id",
-                    "image",
-                    "name",
-                    "tosPage"
-                ]
+            "gateway": {
+                "type": "string"
+            },
+            "defaultApiVersion": {
+                "type": "string"
+            },
+            "apiEndpoint": {
+                "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "instance",
-            "ping"
+            "apiEndpoint",
+            "cdn",
+            "defaultApiVersion",
+            "gateway"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -323084,9 +322797,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -324014,37 +323724,78 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "InstanceStatsResponse": {
+    "InstancePingResponse": {
         "type": "object",
         "properties": {
-            "counts": {
+            "ping": {
+                "type": "string",
+                "enum": [
+                    "pong!"
+                ]
+            },
+            "instance": {
                 "type": "object",
                 "properties": {
-                    "user": {
-                        "type": "integer"
+                    "id": {
+                        "type": "string"
                     },
-                    "guild": {
-                        "type": "integer"
+                    "name": {
+                        "type": "string"
                     },
-                    "message": {
-                        "type": "integer"
+                    "description": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
                     },
-                    "members": {
-                        "type": "integer"
+                    "image": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
+                    },
+                    "correspondenceEmail": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
+                    },
+                    "correspondenceUserID": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
+                    },
+                    "frontPage": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
+                    },
+                    "tosPage": {
+                        "type": [
+                            "null",
+                            "string"
+                        ]
                     }
                 },
                 "additionalProperties": false,
                 "required": [
-                    "guild",
-                    "members",
-                    "message",
-                    "user"
+                    "correspondenceEmail",
+                    "correspondenceUserID",
+                    "description",
+                    "frontPage",
+                    "id",
+                    "image",
+                    "name",
+                    "tosPage"
                 ]
             }
         },
         "additionalProperties": false,
         "required": [
-            "counts"
+            "instance",
+            "ping"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -327341,9 +327092,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -328271,43 +328019,37 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "LocationMetadataResponse": {
+    "InstanceStatsResponse": {
         "type": "object",
         "properties": {
-            "consent_required": {
-                "type": "boolean"
-            },
-            "country_code": {
-                "type": "string"
-            },
-            "promotional_email_opt_in": {
+            "counts": {
                 "type": "object",
                 "properties": {
-                    "required": {
-                        "type": "boolean",
-                        "enum": [
-                            true
-                        ]
+                    "user": {
+                        "type": "integer"
                     },
-                    "pre_checked": {
-                        "type": "boolean",
-                        "enum": [
-                            false
-                        ]
+                    "guild": {
+                        "type": "integer"
+                    },
+                    "message": {
+                        "type": "integer"
+                    },
+                    "members": {
+                        "type": "integer"
                     }
                 },
                 "additionalProperties": false,
                 "required": [
-                    "pre_checked",
-                    "required"
+                    "guild",
+                    "members",
+                    "message",
+                    "user"
                 ]
             }
         },
         "additionalProperties": false,
         "required": [
-            "consent_required",
-            "country_code",
-            "promotional_email_opt_in"
+            "counts"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -331604,9 +331346,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -332534,37 +332273,43 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "MemberJoinGuildResponse": {
+    "LocationMetadataResponse": {
         "type": "object",
         "properties": {
-            "guild": {
-                "$ref": "#/definitions/Guild"
-            },
-            "emojis": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Emoji"
-                }
+            "consent_required": {
+                "type": "boolean"
             },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Role"
-                }
+            "country_code": {
+                "type": "string"
             },
-            "stickers": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Sticker"
-                }
+            "promotional_email_opt_in": {
+                "type": "object",
+                "properties": {
+                    "required": {
+                        "type": "boolean",
+                        "enum": [
+                            true
+                        ]
+                    },
+                    "pre_checked": {
+                        "type": "boolean",
+                        "enum": [
+                            false
+                        ]
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "pre_checked",
+                    "required"
+                ]
             }
         },
         "additionalProperties": false,
         "required": [
-            "emojis",
-            "guild",
-            "roles",
-            "stickers"
+            "consent_required",
+            "country_code",
+            "promotional_email_opt_in"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -335861,9 +335606,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -336791,16 +336533,37 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "OAuthAuthorizeResponse": {
+    "MemberJoinGuildResponse": {
         "type": "object",
         "properties": {
-            "location": {
-                "type": "string"
+            "guild": {
+                "$ref": "#/definitions/Guild"
+            },
+            "emojis": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Emoji"
+                }
+            },
+            "roles": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Role"
+                }
+            },
+            "stickers": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Sticker"
+                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "location"
+            "emojis",
+            "guild",
+            "roles",
+            "stickers"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -340097,9 +339860,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -341027,44 +340787,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TenorGifResponse": {
+    "OAuthAuthorizeResponse": {
         "type": "object",
         "properties": {
-            "id": {
-                "type": "string"
-            },
-            "title": {
-                "type": "string"
-            },
-            "url": {
-                "type": "string"
-            },
-            "src": {
-                "type": "string"
-            },
-            "gif_src": {
-                "type": "string"
-            },
-            "width": {
-                "type": "integer"
-            },
-            "height": {
-                "type": "integer"
-            },
-            "preview": {
+            "location": {
                 "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "gif_src",
-            "height",
-            "id",
-            "preview",
-            "src",
-            "title",
-            "url",
-            "width"
+            "location"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -344361,9 +344093,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -345291,56 +345020,44 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TenorTrendingResponse": {
+    "TenorGifResponse": {
         "type": "object",
         "properties": {
-            "categories": {
-                "type": "object",
-                "properties": {
-                    "tags": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "searchterm": {
-                                    "type": "string"
-                                },
-                                "path": {
-                                    "type": "string"
-                                },
-                                "image": {
-                                    "type": "string"
-                                },
-                                "name": {
-                                    "type": "string"
-                                }
-                            },
-                            "additionalProperties": false,
-                            "required": [
-                                "image",
-                                "name",
-                                "path",
-                                "searchterm"
-                            ]
-                        }
-                    }
-                },
-                "additionalProperties": false,
-                "required": [
-                    "tags"
-                ]
+            "id": {
+                "type": "string"
             },
-            "gifs": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/TenorGifResponse"
-                }
+            "title": {
+                "type": "string"
+            },
+            "url": {
+                "type": "string"
+            },
+            "src": {
+                "type": "string"
+            },
+            "gif_src": {
+                "type": "string"
+            },
+            "width": {
+                "type": "integer"
+            },
+            "height": {
+                "type": "integer"
+            },
+            "preview": {
+                "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
-            "categories",
-            "gifs"
+            "gif_src",
+            "height",
+            "id",
+            "preview",
+            "src",
+            "title",
+            "url",
+            "width"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -348637,9 +348354,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -349567,11 +349281,57 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TenorGifsResponse": {
-        "type": "array",
-        "items": {
-            "$ref": "#/definitions/TenorGifResponse"
+    "TenorTrendingResponse": {
+        "type": "object",
+        "properties": {
+            "categories": {
+                "type": "object",
+                "properties": {
+                    "tags": {
+                        "type": "array",
+                        "items": {
+                            "type": "object",
+                            "properties": {
+                                "searchterm": {
+                                    "type": "string"
+                                },
+                                "path": {
+                                    "type": "string"
+                                },
+                                "image": {
+                                    "type": "string"
+                                },
+                                "name": {
+                                    "type": "string"
+                                }
+                            },
+                            "additionalProperties": false,
+                            "required": [
+                                "image",
+                                "name",
+                                "path",
+                                "searchterm"
+                            ]
+                        }
+                    }
+                },
+                "additionalProperties": false,
+                "required": [
+                    "tags"
+                ]
+            },
+            "gifs": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/TenorGifResponse"
+                }
+            }
         },
+        "additionalProperties": false,
+        "required": [
+            "categories",
+            "gifs"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -352867,9 +352627,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -353797,21 +353554,11 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TokenResponse": {
-        "type": "object",
-        "properties": {
-            "token": {
-                "type": "string"
-            },
-            "settings": {
-                "$ref": "#/definitions/UserSettings"
-            }
+    "TenorGifsResponse": {
+        "type": "array",
+        "items": {
+            "$ref": "#/definitions/TenorGifResponse"
         },
-        "additionalProperties": false,
-        "required": [
-            "settings",
-            "token"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -357107,9 +356854,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -358037,15 +357781,19 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TokenOnlyResponse": {
+    "TokenResponse": {
         "type": "object",
         "properties": {
             "token": {
                 "type": "string"
+            },
+            "settings": {
+                "$ref": "#/definitions/UserSettings"
             }
         },
         "additionalProperties": false,
         "required": [
+            "settings",
             "token"
         ],
         "definitions": {
@@ -361343,9 +361091,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -362273,22 +362018,15 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "TokenWithBackupCodesResponse": {
+    "TokenOnlyResponse": {
         "type": "object",
         "properties": {
             "token": {
                 "type": "string"
-            },
-            "backup_codes": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/BackupCode"
-                }
             }
         },
         "additionalProperties": false,
         "required": [
-            "backup_codes",
             "token"
         ],
         "definitions": {
@@ -365586,9 +365324,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -366516,227 +366251,23 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIGuild": {
+    "TokenWithBackupCodesResponse": {
         "type": "object",
         "properties": {
-            "name": {
-                "type": "string"
-            },
-            "id": {
-                "type": "string"
-            },
-            "icon": {
-                "type": "string"
-            },
-            "parent": {
-                "type": "string"
-            },
-            "owner_id": {
-                "type": "string"
-            },
-            "nsfw": {
-                "type": "boolean"
-            },
-            "invites": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Invite"
-                }
-            },
-            "voice_states": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/VoiceState"
-                }
-            },
-            "webhooks": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Webhook"
-                }
-            },
-            "_do_validate": {
-                "type": "object",
-                "additionalProperties": false
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Role"
-                }
-            },
-            "banner": {
-                "type": "string"
-            },
-            "description": {
-                "type": "string"
-            },
-            "unavailable": {
-                "type": "boolean"
-            },
-            "channels": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Channel"
-                }
-            },
-            "region": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            },
-            "afk_timeout": {
-                "type": "integer"
-            },
-            "explicit_content_filter": {
-                "type": "integer"
-            },
-            "afk_channel_id": {
-                "type": "string"
-            },
-            "bans": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Ban"
-                }
-            },
-            "default_message_notifications": {
-                "type": "integer"
-            },
-            "discovery_splash": {
-                "type": "string"
-            },
-            "features": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            },
-            "primary_category_id": {
-                "type": "string"
-            },
-            "large": {
-                "type": "boolean"
-            },
-            "max_members": {
-                "type": "integer"
-            },
-            "max_presences": {
-                "type": "integer"
-            },
-            "max_video_channel_users": {
-                "type": "integer"
-            },
-            "member_count": {
-                "type": "integer"
-            },
-            "presence_count": {
-                "type": "integer"
-            },
-            "members": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Member"
-                }
-            },
-            "template_id": {
-                "type": "string"
-            },
-            "emojis": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Emoji"
-                }
-            },
-            "stickers": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Sticker"
-                }
-            },
-            "mfa_level": {
-                "type": "integer"
-            },
-            "preferred_locale": {
-                "type": "string"
-            },
-            "premium_subscription_count": {
-                "type": "integer"
-            },
-            "premium_tier": {
-                "type": "integer"
-            },
-            "public_updates_channel_id": {
-                "type": "string"
-            },
-            "splash": {
-                "type": "string"
-            },
-            "system_channel_flags": {
-                "type": "integer"
-            },
-            "verification_level": {
-                "type": "integer"
-            },
-            "welcome_screen": {
-                "$ref": "#/definitions/GuildWelcomeScreen"
-            },
-            "widget_channel_id": {
+            "token": {
                 "type": "string"
             },
-            "widget_enabled": {
-                "type": "boolean"
-            },
-            "nsfw_level": {
-                "type": "integer"
-            },
-            "permissions": {
-                "type": "integer"
-            },
-            "premium_progress_bar_enabled": {
-                "type": "boolean"
-            },
-            "channel_ordering": {
+            "backup_codes": {
                 "type": "array",
                 "items": {
-                    "type": "string"
+                    "$ref": "#/definitions/BackupCode"
                 }
             }
         },
         "additionalProperties": false,
         "required": [
-            "_do_validate",
-            "assign",
-            "bans",
-            "channel_ordering",
-            "channels",
-            "emojis",
-            "features",
-            "hasId",
-            "id",
-            "invites",
-            "members",
-            "name",
-            "nsfw",
-            "premium_progress_bar_enabled",
-            "public_updates_channel_id",
-            "recover",
-            "reload",
-            "remove",
-            "roles",
-            "save",
-            "softRemove",
-            "stickers",
-            "toJSON",
-            "unavailable",
-            "voice_states",
-            "webhooks",
-            "welcome_screen",
-            "widget_enabled"
+            "backup_codes",
+            "token"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -370033,9 +369564,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -370963,8 +370491,228 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIPublicUser": {
-        "$ref": "#/definitions/PublicUser",
+    "APIGuild": {
+        "type": "object",
+        "properties": {
+            "name": {
+                "type": "string"
+            },
+            "id": {
+                "type": "string"
+            },
+            "icon": {
+                "type": "string"
+            },
+            "parent": {
+                "type": "string"
+            },
+            "owner_id": {
+                "type": "string"
+            },
+            "nsfw": {
+                "type": "boolean"
+            },
+            "invites": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Invite"
+                }
+            },
+            "voice_states": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/VoiceState"
+                }
+            },
+            "webhooks": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Webhook"
+                }
+            },
+            "_do_validate": {
+                "type": "object",
+                "additionalProperties": false
+            },
+            "roles": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Role"
+                }
+            },
+            "banner": {
+                "type": "string"
+            },
+            "description": {
+                "type": "string"
+            },
+            "unavailable": {
+                "type": "boolean"
+            },
+            "channels": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Channel"
+                }
+            },
+            "region": {
+                "type": "string"
+            },
+            "system_channel_id": {
+                "type": "string"
+            },
+            "rules_channel_id": {
+                "type": "string"
+            },
+            "afk_timeout": {
+                "type": "integer"
+            },
+            "explicit_content_filter": {
+                "type": "integer"
+            },
+            "afk_channel_id": {
+                "type": "string"
+            },
+            "bans": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Ban"
+                }
+            },
+            "default_message_notifications": {
+                "type": "integer"
+            },
+            "discovery_splash": {
+                "type": "string"
+            },
+            "features": {
+                "type": "array",
+                "items": {
+                    "type": "string"
+                }
+            },
+            "primary_category_id": {
+                "type": "string"
+            },
+            "large": {
+                "type": "boolean"
+            },
+            "max_members": {
+                "type": "integer"
+            },
+            "max_presences": {
+                "type": "integer"
+            },
+            "max_video_channel_users": {
+                "type": "integer"
+            },
+            "member_count": {
+                "type": "integer"
+            },
+            "presence_count": {
+                "type": "integer"
+            },
+            "members": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Member"
+                }
+            },
+            "template_id": {
+                "type": "string"
+            },
+            "emojis": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Emoji"
+                }
+            },
+            "stickers": {
+                "type": "array",
+                "items": {
+                    "$ref": "#/definitions/Sticker"
+                }
+            },
+            "mfa_level": {
+                "type": "integer"
+            },
+            "preferred_locale": {
+                "type": "string"
+            },
+            "premium_subscription_count": {
+                "type": "integer"
+            },
+            "premium_tier": {
+                "type": "integer"
+            },
+            "public_updates_channel_id": {
+                "type": "string"
+            },
+            "splash": {
+                "type": "string"
+            },
+            "system_channel_flags": {
+                "type": "integer"
+            },
+            "verification_level": {
+                "type": "integer"
+            },
+            "welcome_screen": {
+                "$ref": "#/definitions/GuildWelcomeScreen"
+            },
+            "widget_channel_id": {
+                "type": "string"
+            },
+            "widget_enabled": {
+                "type": "boolean"
+            },
+            "nsfw_level": {
+                "type": "integer"
+            },
+            "permissions": {
+                "type": "integer"
+            },
+            "premium_progress_bar_enabled": {
+                "type": "boolean"
+            },
+            "channel_ordering": {
+                "type": "array",
+                "items": {
+                    "type": "string"
+                }
+            }
+        },
+        "additionalProperties": false,
+        "required": [
+            "_do_validate",
+            "assign",
+            "bans",
+            "channel_ordering",
+            "channels",
+            "emojis",
+            "features",
+            "hasId",
+            "id",
+            "invites",
+            "members",
+            "name",
+            "nsfw",
+            "premium_progress_bar_enabled",
+            "public_updates_channel_id",
+            "recover",
+            "reload",
+            "remove",
+            "roles",
+            "save",
+            "softRemove",
+            "stickers",
+            "toJSON",
+            "unavailable",
+            "voice_states",
+            "webhooks",
+            "welcome_screen",
+            "widget_enabled"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -374260,9 +374008,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -375190,108 +374935,8 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIPrivateUser": {
-        "type": "object",
-        "properties": {
-            "id": {
-                "type": "string"
-            },
-            "flags": {
-                "type": "integer"
-            },
-            "premium_since": {
-                "type": "string",
-                "format": "date-time"
-            },
-            "avatar": {
-                "type": "string"
-            },
-            "verified": {
-                "type": "boolean"
-            },
-            "username": {
-                "type": "string"
-            },
-            "global_name": {
-                "type": "string"
-            },
-            "legacy_username": {
-                "type": "string"
-            },
-            "discriminator": {
-                "type": "string"
-            },
-            "public_flags": {
-                "type": "integer"
-            },
-            "accent_color": {
-                "type": "integer"
-            },
-            "banner": {
-                "type": "string"
-            },
-            "bio": {
-                "type": "string"
-            },
-            "bot": {
-                "type": "boolean"
-            },
-            "premium_type": {
-                "type": "integer"
-            },
-            "theme_colors": {
-                "type": "array",
-                "items": {
-                    "type": "integer"
-                }
-            },
-            "pronouns": {
-                "type": "string"
-            },
-            "mfa_enabled": {
-                "type": "boolean"
-            },
-            "email": {
-                "type": "string"
-            },
-            "phone": {
-                "type": "string"
-            },
-            "nsfw_allowed": {
-                "type": "boolean"
-            },
-            "premium": {
-                "type": "boolean"
-            },
-            "purchased_flags": {
-                "type": "integer"
-            },
-            "premium_usage_flags": {
-                "type": "integer"
-            },
-            "disabled": {
-                "type": "boolean"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "bio",
-            "bot",
-            "disabled",
-            "discriminator",
-            "flags",
-            "id",
-            "mfa_enabled",
-            "nsfw_allowed",
-            "premium",
-            "premium_since",
-            "premium_type",
-            "premium_usage_flags",
-            "public_flags",
-            "purchased_flags",
-            "username",
-            "verified"
-        ],
+    "APIPublicUser": {
+        "$ref": "#/definitions/PublicUser",
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -378587,9 +378232,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -379517,11 +379159,105 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIGuildArray": {
-        "type": "array",
-        "items": {
-            "$ref": "#/definitions/APIGuild"
+    "APIPrivateUser": {
+        "type": "object",
+        "properties": {
+            "id": {
+                "type": "string"
+            },
+            "flags": {
+                "type": "integer"
+            },
+            "premium_since": {
+                "type": "string",
+                "format": "date-time"
+            },
+            "avatar": {
+                "type": "string"
+            },
+            "verified": {
+                "type": "boolean"
+            },
+            "username": {
+                "type": "string"
+            },
+            "global_name": {
+                "type": "string"
+            },
+            "discriminator": {
+                "type": "string"
+            },
+            "public_flags": {
+                "type": "integer"
+            },
+            "accent_color": {
+                "type": "integer"
+            },
+            "banner": {
+                "type": "string"
+            },
+            "bio": {
+                "type": "string"
+            },
+            "bot": {
+                "type": "boolean"
+            },
+            "premium_type": {
+                "type": "integer"
+            },
+            "theme_colors": {
+                "type": "array",
+                "items": {
+                    "type": "integer"
+                }
+            },
+            "pronouns": {
+                "type": "string"
+            },
+            "mfa_enabled": {
+                "type": "boolean"
+            },
+            "email": {
+                "type": "string"
+            },
+            "phone": {
+                "type": "string"
+            },
+            "nsfw_allowed": {
+                "type": "boolean"
+            },
+            "premium": {
+                "type": "boolean"
+            },
+            "purchased_flags": {
+                "type": "integer"
+            },
+            "premium_usage_flags": {
+                "type": "integer"
+            },
+            "disabled": {
+                "type": "boolean"
+            }
         },
+        "additionalProperties": false,
+        "required": [
+            "bio",
+            "bot",
+            "disabled",
+            "discriminator",
+            "flags",
+            "id",
+            "mfa_enabled",
+            "nsfw_allowed",
+            "premium",
+            "premium_since",
+            "premium_type",
+            "premium_usage_flags",
+            "public_flags",
+            "purchased_flags",
+            "username",
+            "verified"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -382817,9 +382553,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -383747,10 +383480,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIDMChannelArray": {
+    "APIGuildArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/DmChannelDTO"
+            "$ref": "#/definitions/APIGuild"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -387047,9 +386780,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -387977,10 +387707,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIBackupCodeArray": {
+    "APIDMChannelArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/BackupCode"
+            "$ref": "#/definitions/DmChannelDTO"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -391277,9 +391007,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -392207,111 +391934,11 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "UserUpdateResponse": {
-        "type": "object",
-        "properties": {
-            "newToken": {
-                "type": "string"
-            },
-            "id": {
-                "type": "string"
-            },
-            "flags": {
-                "type": "integer"
-            },
-            "premium_since": {
-                "type": "string",
-                "format": "date-time"
-            },
-            "avatar": {
-                "type": "string"
-            },
-            "verified": {
-                "type": "boolean"
-            },
-            "username": {
-                "type": "string"
-            },
-            "global_name": {
-                "type": "string"
-            },
-            "legacy_username": {
-                "type": "string"
-            },
-            "discriminator": {
-                "type": "string"
-            },
-            "public_flags": {
-                "type": "integer"
-            },
-            "accent_color": {
-                "type": "integer"
-            },
-            "banner": {
-                "type": "string"
-            },
-            "bio": {
-                "type": "string"
-            },
-            "bot": {
-                "type": "boolean"
-            },
-            "premium_type": {
-                "type": "integer"
-            },
-            "theme_colors": {
-                "type": "array",
-                "items": {
-                    "type": "integer"
-                }
-            },
-            "pronouns": {
-                "type": "string"
-            },
-            "mfa_enabled": {
-                "type": "boolean"
-            },
-            "email": {
-                "type": "string"
-            },
-            "phone": {
-                "type": "string"
-            },
-            "nsfw_allowed": {
-                "type": "boolean"
-            },
-            "premium": {
-                "type": "boolean"
-            },
-            "purchased_flags": {
-                "type": "integer"
-            },
-            "premium_usage_flags": {
-                "type": "integer"
-            },
-            "disabled": {
-                "type": "boolean"
-            }
+    "APIBackupCodeArray": {
+        "type": "array",
+        "items": {
+            "$ref": "#/definitions/BackupCode"
         },
-        "additionalProperties": false,
-        "required": [
-            "bio",
-            "bot",
-            "disabled",
-            "discriminator",
-            "flags",
-            "id",
-            "mfa_enabled",
-            "nsfw_allowed",
-            "premium",
-            "premium_since",
-            "premium_type",
-            "premium_usage_flags",
-            "public_flags",
-            "purchased_flags",
-            "username",
-            "verified"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -395607,9 +395234,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -396537,9 +396161,108 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "ApplicationDetectableResponse": {
-        "type": "array",
-        "items": {},
+    "UserUpdateResponse": {
+        "type": "object",
+        "properties": {
+            "newToken": {
+                "type": "string"
+            },
+            "id": {
+                "type": "string"
+            },
+            "flags": {
+                "type": "integer"
+            },
+            "premium_since": {
+                "type": "string",
+                "format": "date-time"
+            },
+            "avatar": {
+                "type": "string"
+            },
+            "verified": {
+                "type": "boolean"
+            },
+            "username": {
+                "type": "string"
+            },
+            "global_name": {
+                "type": "string"
+            },
+            "discriminator": {
+                "type": "string"
+            },
+            "public_flags": {
+                "type": "integer"
+            },
+            "accent_color": {
+                "type": "integer"
+            },
+            "banner": {
+                "type": "string"
+            },
+            "bio": {
+                "type": "string"
+            },
+            "bot": {
+                "type": "boolean"
+            },
+            "premium_type": {
+                "type": "integer"
+            },
+            "theme_colors": {
+                "type": "array",
+                "items": {
+                    "type": "integer"
+                }
+            },
+            "pronouns": {
+                "type": "string"
+            },
+            "mfa_enabled": {
+                "type": "boolean"
+            },
+            "email": {
+                "type": "string"
+            },
+            "phone": {
+                "type": "string"
+            },
+            "nsfw_allowed": {
+                "type": "boolean"
+            },
+            "premium": {
+                "type": "boolean"
+            },
+            "purchased_flags": {
+                "type": "integer"
+            },
+            "premium_usage_flags": {
+                "type": "integer"
+            },
+            "disabled": {
+                "type": "boolean"
+            }
+        },
+        "additionalProperties": false,
+        "required": [
+            "bio",
+            "bot",
+            "disabled",
+            "discriminator",
+            "flags",
+            "id",
+            "mfa_enabled",
+            "nsfw_allowed",
+            "premium",
+            "premium_since",
+            "premium_type",
+            "premium_usage_flags",
+            "public_flags",
+            "purchased_flags",
+            "username",
+            "verified"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -399835,9 +399558,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -400765,7 +400485,7 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "ApplicationEntitlementsResponse": {
+    "ApplicationDetectableResponse": {
         "type": "array",
         "items": {},
         "definitions": {
@@ -404063,9 +403783,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -404993,7 +404710,7 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "ApplicationSkusResponse": {
+    "ApplicationEntitlementsResponse": {
         "type": "array",
         "items": {},
         "definitions": {
@@ -408291,9 +408008,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -409221,11 +408935,9 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIApplicationArray": {
+    "ApplicationSkusResponse": {
         "type": "array",
-        "items": {
-            "$ref": "#/definitions/Application"
-        },
+        "items": {},
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -412521,9 +412233,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -413451,10 +413160,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIInviteArray": {
+    "APIApplicationArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Invite"
+            "$ref": "#/definitions/Application"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -416751,9 +416460,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -417681,10 +417387,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIMessageArray": {
+    "APIInviteArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Message"
+            "$ref": "#/definitions/Invite"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -420981,9 +420687,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -421911,10 +421614,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIWebhookArray": {
+    "APIMessageArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Webhook"
+            "$ref": "#/definitions/Message"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -425211,9 +424914,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -426141,10 +425841,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIDiscoveryCategoryArray": {
+    "APIWebhookArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Categories"
+            "$ref": "#/definitions/Webhook"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -429441,9 +429141,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -430371,80 +430068,11 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIGeneralConfiguration": {
-        "type": "object",
-        "properties": {
-            "instanceName": {
-                "type": "string",
-                "default": "Spacebar Instance"
-            },
-            "instanceDescription": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": "This is a Spacebar instance made in the pre-release days"
-            },
-            "frontPage": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": null
-            },
-            "tosPage": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": null
-            },
-            "correspondenceEmail": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": null
-            },
-            "correspondenceUserID": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": null
-            },
-            "image": {
-                "type": [
-                    "null",
-                    "string"
-                ],
-                "default": null
-            },
-            "instanceId": {
-                "type": "string"
-            },
-            "autoCreateBotUsers": {
-                "type": "boolean",
-                "default": false
-            },
-            "uniqueUsernames": {
-                "type": "boolean",
-                "default": false
-            }
+    "APIDiscoveryCategoryArray": {
+        "type": "array",
+        "items": {
+            "$ref": "#/definitions/Categories"
         },
-        "additionalProperties": false,
-        "required": [
-            "autoCreateBotUsers",
-            "correspondenceEmail",
-            "correspondenceUserID",
-            "frontPage",
-            "image",
-            "instanceDescription",
-            "instanceId",
-            "instanceName",
-            "tosPage",
-            "uniqueUsernames"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -433740,9 +433368,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -434670,11 +434295,80 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIChannelArray": {
-        "type": "array",
-        "items": {
-            "$ref": "#/definitions/Channel"
+    "APIGeneralConfiguration": {
+        "type": "object",
+        "properties": {
+            "instanceName": {
+                "type": "string",
+                "default": "Spacebar Instance"
+            },
+            "instanceDescription": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": "This is a Spacebar instance made in the pre-release days"
+            },
+            "frontPage": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": null
+            },
+            "tosPage": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": null
+            },
+            "correspondenceEmail": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": null
+            },
+            "correspondenceUserID": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": null
+            },
+            "image": {
+                "type": [
+                    "null",
+                    "string"
+                ],
+                "default": null
+            },
+            "instanceId": {
+                "type": "string"
+            },
+            "autoCreateBotUsers": {
+                "type": "boolean",
+                "default": false
+            },
+            "uniqueUsernames": {
+                "type": "boolean",
+                "default": false
+            }
         },
+        "additionalProperties": false,
+        "required": [
+            "autoCreateBotUsers",
+            "correspondenceEmail",
+            "correspondenceUserID",
+            "frontPage",
+            "image",
+            "instanceDescription",
+            "instanceId",
+            "instanceName",
+            "tosPage",
+            "uniqueUsernames"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -437970,9 +437664,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -438900,10 +438591,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIEmojiArray": {
+    "APIChannelArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Emoji"
+            "$ref": "#/definitions/Channel"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -442200,9 +441891,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -443130,10 +442818,10 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIMemberArray": {
+    "APIEmojiArray": {
         "type": "array",
         "items": {
-            "$ref": "#/definitions/Member"
+            "$ref": "#/definitions/Emoji"
         },
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -446430,9 +446118,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -447360,58 +447045,11 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIPublicMember": {
-        "additionalProperties": false,
-        "type": "object",
-        "properties": {
-            "id": {
-                "type": "string"
-            },
-            "guild_id": {
-                "type": "string"
-            },
-            "nick": {
-                "type": "string"
-            },
-            "joined_at": {
-                "type": "string",
-                "format": "date-time"
-            },
-            "pending": {
-                "type": "boolean"
-            },
-            "deaf": {
-                "type": "boolean"
-            },
-            "mute": {
-                "type": "boolean"
-            },
-            "premium_since": {
-                "type": "integer"
-            },
-            "avatar": {
-                "type": "string"
-            },
-            "user": {
-                "$ref": "#/definitions/PublicUser"
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
+    "APIMemberArray": {
+        "type": "array",
+        "items": {
+            "$ref": "#/definitions/Member"
         },
-        "required": [
-            "deaf",
-            "guild_id",
-            "id",
-            "joined_at",
-            "mute",
-            "pending",
-            "roles",
-            "user"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -448449,8 +448087,10 @@
                         "type": "integer",
                         "default": 0
                     },
-<<<<<<< HEAD
-=======
+                    "position": {
+                        "description": "Must be calculated Channel.calculatePosition",
+                        "type": "integer"
+                    },
                     "id": {
                         "type": "string"
                     }
@@ -448464,6 +448104,7 @@
                     "nsfw",
                     "owner",
                     "parent_id",
+                    "position",
                     "type"
                 ]
             },
@@ -449524,7 +449165,6 @@
                 },
                 "additionalProperties": false,
                 "required": [
-                    "avatar",
                     "banner",
                     "bio",
                     "communication_disabled_until",
@@ -449569,13 +449209,9 @@
                     "permissions": {
                         "type": "string"
                     },
->>>>>>> 99963e1b (update user modify for unique usernames)
                     "position": {
-                        "description": "Must be calculated Channel.calculatePosition",
                         "type": "integer"
                     },
-<<<<<<< HEAD
-=======
                     "icon": {
                         "type": "string"
                     },
@@ -450700,13 +450336,13 @@
                         "type": "string",
                         "format": "date-time"
                     },
-                    "username": {
+                    "avatar": {
                         "type": "string"
                     },
-                    "global_name": {
+                    "username": {
                         "type": "string"
                     },
-                    "legacy_username": {
+                    "global_name": {
                         "type": "string"
                     },
                     "discriminator": {
@@ -450715,9 +450351,6 @@
                     "public_flags": {
                         "type": "integer"
                     },
-                    "avatar": {
-                        "type": "string"
-                    },
                     "accent_color": {
                         "type": "integer"
                     },
@@ -451092,6 +450725,12 @@
                     },
                     "premium_progress_bar_enabled": {
                         "type": "boolean"
+                    },
+                    "channel_ordering": {
+                        "type": "array",
+                        "items": {
+                            "type": "string"
+                        }
                     }
                 },
                 "additionalProperties": false,
@@ -451099,6 +450738,7 @@
                     "_do_validate",
                     "assign",
                     "bans",
+                    "channel_ordering",
                     "channels",
                     "emojis",
                     "features",
@@ -451632,239 +451272,57 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "APIGuildWithJoinedAt": {
+    "APIPublicMember": {
+        "additionalProperties": false,
         "type": "object",
         "properties": {
-            "joined_at": {
-                "type": "string"
-            },
-            "afk_channel_id": {
-                "type": "string"
-            },
-            "afk_channel": {
-                "$ref": "#/definitions/Channel"
-            },
-            "afk_timeout": {
-                "type": "integer"
-            },
-            "bans": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Ban"
-                }
-            },
-            "banner": {
-                "type": "string"
-            },
-            "default_message_notifications": {
-                "type": "integer"
-            },
-            "description": {
-                "type": "string"
-            },
-            "discovery_splash": {
+            "id": {
                 "type": "string"
             },
-            "explicit_content_filter": {
-                "type": "integer"
-            },
-            "features": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                },
-                "default": []
-            },
-            "primary_category_id": {
+            "guild_id": {
                 "type": "string"
             },
-            "icon": {
+            "nick": {
                 "type": "string"
             },
-            "large": {
-                "type": "boolean",
-                "default": false
-            },
-            "max_members": {
-                "type": "integer"
+            "joined_at": {
+                "type": "string",
+                "format": "date-time"
             },
-            "max_presences": {
-                "type": "integer"
+            "pending": {
+                "type": "boolean"
             },
-            "max_video_channel_users": {
-                "type": "integer"
+            "deaf": {
+                "type": "boolean"
             },
-            "member_count": {
-                "type": "integer"
+            "mute": {
+                "type": "boolean"
             },
-            "presence_count": {
+            "premium_since": {
                 "type": "integer"
             },
-            "members": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Member"
-                }
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Role"
-                }
-            },
-            "channels": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Channel"
-                }
-            },
-            "template_id": {
+            "avatar": {
                 "type": "string"
             },
-            "template": {
-                "$ref": "#/definitions/Template"
-            },
-            "emojis": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Emoji"
-                }
-            },
-            "stickers": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Sticker"
-                }
-            },
-            "invites": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Invite"
-                }
-            },
-            "voice_states": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/VoiceState"
-                }
+            "user": {
+                "$ref": "#/definitions/PublicUser"
             },
-            "webhooks": {
+            "roles": {
                 "type": "array",
                 "items": {
-                    "$ref": "#/definitions/Webhook"
+                    "type": "string"
                 }
-            },
-            "mfa_level": {
-                "type": "integer"
-            },
-            "name": {
-                "type": "string"
-            },
-            "owner_id": {
-                "type": "string"
-            },
-            "owner": {
-                "$ref": "#/definitions/User"
-            },
-            "preferred_locale": {
-                "type": "string"
-            },
-            "premium_subscription_count": {
-                "type": "integer"
-            },
-            "premium_tier": {
-                "type": "integer"
-            },
-            "public_updates_channel_id": {
-                "type": "string"
-            },
-            "public_updates_channel": {
-                "$ref": "#/definitions/Channel"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            },
-            "rules_channel": {
-                "type": "string"
-            },
-            "region": {
-                "type": "string"
-            },
-            "splash": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "system_channel": {
-                "$ref": "#/definitions/Channel"
-            },
-            "system_channel_flags": {
-                "type": "integer"
-            },
-            "unavailable": {
-                "type": "boolean",
-                "default": false
-            },
-            "verification_level": {
-                "type": "integer"
-            },
-            "welcome_screen": {
-                "$ref": "#/definitions/GuildWelcomeScreen"
-            },
-            "widget_channel_id": {
-                "type": "string"
-            },
-            "widget_channel": {
-                "$ref": "#/definitions/Channel"
-            },
-            "widget_enabled": {
-                "type": "boolean",
-                "default": true
-            },
-            "nsfw_level": {
-                "type": "integer"
-            },
-            "nsfw": {
-                "type": "boolean",
-                "default": false
-            },
-            "parent": {
-                "type": "string"
-            },
-            "permissions": {
-                "type": "integer"
-            },
-            "premium_progress_bar_enabled": {
-                "type": "boolean",
-                "default": false
-            },
-            "id": {
-                "type": "string"
             }
         },
-        "additionalProperties": false,
         "required": [
-            "bans",
-            "channels",
-            "emojis",
-            "features",
+            "deaf",
+            "guild_id",
             "id",
-            "invites",
             "joined_at",
-            "members",
-            "name",
-            "nsfw",
-            "premium_progress_bar_enabled",
-            "public_updates_channel_id",
+            "mute",
+            "pending",
             "roles",
-            "stickers",
-            "template",
-            "unavailable",
-            "voice_states",
-            "webhooks",
-            "welcome_screen",
-            "widget_enabled"
+            "user"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -452751,6 +452209,12 @@
                         "type": "boolean",
                         "default": false
                     },
+                    "channel_ordering": {
+                        "type": "array",
+                        "items": {
+                            "type": "string"
+                        }
+                    },
                     "id": {
                         "type": "string"
                     }
@@ -452758,6 +452222,7 @@
                 "additionalProperties": false,
                 "required": [
                     "bans",
+                    "channel_ordering",
                     "channels",
                     "emojis",
                     "features",
@@ -452830,9 +452295,6 @@
                     "default_auto_archive_duration": {
                         "type": "integer"
                     },
-                    "position": {
-                        "type": "integer"
-                    },
                     "permission_overwrites": {
                         "type": "array",
                         "items": {
@@ -452899,7 +452361,10 @@
                         "type": "integer",
                         "default": 0
                     },
->>>>>>> 99963e1b (update user modify for unique usernames)
+                    "position": {
+                        "description": "Must be calculated Channel.calculatePosition",
+                        "type": "integer"
+                    },
                     "id": {
                         "type": "string"
                     }
@@ -455154,9 +454619,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -455728,6 +455190,10 @@
                         "type": "integer",
                         "default": 1048576
                     },
+                    "minUsername": {
+                        "type": "integer",
+                        "default": 2
+                    },
                     "maxUsername": {
                         "type": "integer",
                         "default": 32
@@ -455741,7 +455207,8 @@
                 "required": [
                     "maxFriends",
                     "maxGuilds",
-                    "maxUsername"
+                    "maxUsername",
+                    "minUsername"
                 ]
             },
             "GuildLimits": {
@@ -459615,9 +459082,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -463845,9 +463309,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -468075,9 +467536,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -472305,9 +471763,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -476535,9 +475990,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -480791,9 +480243,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -485021,9 +484470,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -489272,9 +488718,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -493516,9 +492959,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -497872,20 +497312,12 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
                     "public_flags": {
                         "type": "integer"
                     },
-<<<<<<< HEAD
-=======
-                    "avatar": {
-                        "type": "string"
-                    },
                     "accent_color": {
                         "type": "integer"
                     },
@@ -498260,6 +497692,12 @@
                     },
                     "premium_progress_bar_enabled": {
                         "type": "boolean"
+                    },
+                    "channel_ordering": {
+                        "type": "array",
+                        "items": {
+                            "type": "string"
+                        }
                     }
                 },
                 "additionalProperties": false,
@@ -498267,6 +497705,7 @@
                     "_do_validate",
                     "assign",
                     "bans",
+                    "channel_ordering",
                     "channels",
                     "emojis",
                     "features",
@@ -498800,29 +498239,38 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "UserRelationshipsResponse": {
-        "type": "object",
-        "properties": {
-            "id": {
-                "type": "string"
-            },
-            "type": {
-                "$ref": "#/definitions/RelationshipType"
-            },
-            "nickname": {
-                "type": "null"
+    "UserRelationsResponse": {
+        "type": "array",
+        "items": {
+            "additionalProperties": false,
+            "type": "object",
+            "properties": {
+                "id": {
+                    "type": "string"
+                },
+                "username": {
+                    "type": "string"
+                },
+                "global_name": {
+                    "type": "string"
+                },
+                "discriminator": {
+                    "type": "string"
+                },
+                "avatar": {
+                    "type": "string"
+                },
+                "public_flags": {
+                    "type": "integer"
+                }
             },
-            "user": {
-                "$ref": "#/definitions/PublicUser"
-            }
+            "required": [
+                "discriminator",
+                "id",
+                "public_flags",
+                "username"
+            ]
         },
-        "additionalProperties": false,
-        "required": [
-            "id",
-            "nickname",
-            "type",
-            "user"
-        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -499708,6 +499156,12 @@
                         "type": "boolean",
                         "default": false
                     },
+                    "channel_ordering": {
+                        "type": "array",
+                        "items": {
+                            "type": "string"
+                        }
+                    },
                     "id": {
                         "type": "string"
                     }
@@ -499715,6 +499169,7 @@
                 "additionalProperties": false,
                 "required": [
                     "bans",
+                    "channel_ordering",
                     "channels",
                     "emojis",
                     "features",
@@ -499787,9 +499242,6 @@
                     "default_auto_archive_duration": {
                         "type": "integer"
                     },
-                    "position": {
-                        "type": "integer"
-                    },
                     "permission_overwrites": {
                         "type": "array",
                         "items": {
@@ -499856,6 +499308,10 @@
                         "type": "integer",
                         "default": 0
                     },
+                    "position": {
+                        "description": "Must be calculated Channel.calculatePosition",
+                        "type": "integer"
+                    },
                     "id": {
                         "type": "string"
                     }
@@ -499869,6 +499325,7 @@
                     "nsfw",
                     "owner",
                     "parent_id",
+                    "position",
                     "type"
                 ]
             },
@@ -500929,7 +500386,6 @@
                 },
                 "additionalProperties": false,
                 "required": [
-                    "avatar",
                     "banner",
                     "bio",
                     "communication_disabled_until",
@@ -502101,13 +501557,13 @@
                         "type": "string",
                         "format": "date-time"
                     },
-                    "username": {
+                    "avatar": {
                         "type": "string"
                     },
-                    "global_name": {
+                    "username": {
                         "type": "string"
                     },
-                    "legacy_username": {
+                    "global_name": {
                         "type": "string"
                     },
                     "discriminator": {
@@ -502116,10 +501572,6 @@
                     "public_flags": {
                         "type": "integer"
                     },
-                    "avatar": {
-                        "type": "string"
-                    },
->>>>>>> 99963e1b (update user modify for unique usernames)
                     "accent_color": {
                         "type": "integer"
                     },
@@ -503041,38 +502493,29 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "UserRelationsResponse": {
-        "type": "array",
-        "items": {
-            "additionalProperties": false,
-            "type": "object",
-            "properties": {
-                "id": {
-                    "type": "string"
-                },
-                "username": {
-                    "type": "string"
-                },
-                "global_name": {
-                    "type": "string"
-                },
-                "discriminator": {
-                    "type": "string"
-                },
-                "avatar": {
-                    "type": "string"
-                },
-                "public_flags": {
-                    "type": "integer"
-                }
+    "UserRelationshipsResponse": {
+        "type": "object",
+        "properties": {
+            "id": {
+                "type": "string"
             },
-            "required": [
-                "discriminator",
-                "id",
-                "public_flags",
-                "username"
-            ]
+            "type": {
+                "$ref": "#/definitions/RelationshipType"
+            },
+            "nickname": {
+                "type": "null"
+            },
+            "user": {
+                "$ref": "#/definitions/PublicUser"
+            }
         },
+        "additionalProperties": false,
+        "required": [
+            "id",
+            "nickname",
+            "type",
+            "user"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -506368,9 +505811,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -506942,6 +506382,10 @@
                         "type": "integer",
                         "default": 1048576
                     },
+                    "minUsername": {
+                        "type": "integer",
+                        "default": 2
+                    },
                     "maxUsername": {
                         "type": "integer",
                         "default": 32
@@ -506955,7 +506399,8 @@
                 "required": [
                     "maxFriends",
                     "maxGuilds",
-                    "maxUsername"
+                    "maxUsername",
+                    "minUsername"
                 ]
             },
             "GuildLimits": {
@@ -507293,28 +506738,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "UserRelationshipsResponse": {
+    "WebAuthnCreateResponse": {
         "type": "object",
         "properties": {
-            "id": {
+            "name": {
                 "type": "string"
             },
-            "type": {
-                "$ref": "#/definitions/RelationshipType"
-            },
-            "nickname": {
-                "type": "null"
-            },
-            "user": {
-                "$ref": "#/definitions/PublicUser"
+            "id": {
+                "type": "string"
             }
         },
         "additionalProperties": false,
         "required": [
             "id",
-            "nickname",
-            "type",
-            "user"
+            "name"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -510611,9 +510048,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -511541,20 +510975,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebAuthnCreateResponse": {
+    "WebhookCreateResponse": {
         "type": "object",
         "properties": {
-            "name": {
-                "type": "string"
+            "user": {
+                "$ref": "#/definitions/User"
             },
-            "id": {
-                "type": "string"
+            "hook": {
+                "$ref": "#/definitions/Webhook"
             }
         },
         "additionalProperties": false,
         "required": [
-            "id",
-            "name"
+            "hook",
+            "user"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -514851,9 +514285,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -515781,21 +515212,8 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebhookCreateResponse": {
-        "type": "object",
-        "properties": {
-            "user": {
-                "$ref": "#/definitions/User"
-            },
-            "hook": {
-                "$ref": "#/definitions/Webhook"
-            }
-        },
-        "additionalProperties": false,
-        "required": [
-            "hook",
-            "user"
-        ],
+    "ActivitySchema": {
+        "$ref": "#/definitions/ActivitySchema",
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -519091,9 +518509,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -520021,8 +519436,20 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "ActivitySchema": {
-        "$ref": "#/definitions/ActivitySchema",
+    "BulkDeleteSchema": {
+        "type": "object",
+        "properties": {
+            "messages": {
+                "type": "array",
+                "items": {
+                    "type": "string"
+                }
+            }
+        },
+        "additionalProperties": false,
+        "required": [
+            "messages"
+        ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
                 "enum": [
@@ -523318,9 +522745,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -524248,19 +523672,34 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "BulkDeleteSchema": {
+    "MFAResponse": {
         "type": "object",
         "properties": {
-            "messages": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
+            "ticket": {
+                "type": "string"
+            },
+            "mfa": {
+                "type": "boolean",
+                "enum": [
+                    true
+                ]
+            },
+            "sms": {
+                "type": "boolean",
+                "enum": [
+                    false
+                ]
+            },
+            "token": {
+                "type": "null"
             }
         },
         "additionalProperties": false,
         "required": [
-            "messages"
+            "mfa",
+            "sms",
+            "ticket",
+            "token"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -527557,9 +526996,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -528487,9 +527923,12 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "MFAResponse": {
+    "WebAuthnResponse": {
         "type": "object",
         "properties": {
+            "webauthn": {
+                "type": "string"
+            },
             "ticket": {
                 "type": "string"
             },
@@ -528514,7 +527953,8 @@
             "mfa",
             "sms",
             "ticket",
-            "token"
+            "token",
+            "webauthn"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -531811,9 +531251,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -532741,38 +532178,17 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "WebAuthnResponse": {
-        "type": "object",
-        "properties": {
-            "webauthn": {
-                "type": "string"
-            },
-            "ticket": {
-                "type": "string"
-            },
-            "mfa": {
-                "type": "boolean",
-                "enum": [
-                    true
-                ]
+    "LoginResponse": {
+        "anyOf": [
+            {
+                "$ref": "#/definitions/TokenResponse"
             },
-            "sms": {
-                "type": "boolean",
-                "enum": [
-                    false
-                ]
+            {
+                "$ref": "#/definitions/MFAResponse"
             },
-            "token": {
-                "type": "null"
+            {
+                "$ref": "#/definitions/WebAuthnResponse"
             }
-        },
-        "additionalProperties": false,
-        "required": [
-            "mfa",
-            "sms",
-            "ticket",
-            "token",
-            "webauthn"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -536069,9 +535485,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -536999,17 +536412,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "LoginResponse": {
-        "anyOf": [
-            {
-                "$ref": "#/definitions/TokenResponse"
-            },
-            {
-                "$ref": "#/definitions/MFAResponse"
-            },
-            {
-                "$ref": "#/definitions/WebAuthnResponse"
+    "MemberNickChangeSchema": {
+        "type": "object",
+        "properties": {
+            "nick": {
+                "type": "string"
             }
+        },
+        "additionalProperties": false,
+        "required": [
+            "nick"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -540306,9 +539718,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -541236,16 +540645,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "MemberNickChangeSchema": {
+    "PruneSchema": {
         "type": "object",
         "properties": {
-            "nick": {
-                "type": "string"
+            "days": {
+                "type": "integer"
             }
         },
         "additionalProperties": false,
         "required": [
-            "nick"
+            "days"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -544542,9 +543951,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -545472,16 +544878,16 @@
         },
         "$schema": "http://json-schema.org/draft-07/schema#"
     },
-    "PruneSchema": {
+    "UsernameAttemptResponse": {
         "type": "object",
         "properties": {
-            "days": {
-                "type": "integer"
+            "taken": {
+                "type": "boolean"
             }
         },
         "additionalProperties": false,
         "required": [
-            "days"
+            "taken"
         ],
         "definitions": {
             "ChannelPermissionOverwriteType": {
@@ -548778,9 +548184,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
@@ -553020,9 +552423,6 @@
                     "global_name": {
                         "type": "string"
                     },
-                    "legacy_username": {
-                        "type": "string"
-                    },
                     "discriminator": {
                         "type": "string"
                     },
diff --git a/src/api/routes/auth/register.ts b/src/api/routes/auth/register.ts
index de1cbd3d..33fc6062 100644
--- a/src/api/routes/auth/register.ts
+++ b/src/api/routes/auth/register.ts
@@ -50,9 +50,18 @@ router.post(
 	}),
 	async (req: Request, res: Response) => {
 		const body = req.body as RegisterSchema;
-		const { register, security, limits } = Config.get();
+		const { register, security, limits, general } = Config.get();
 		const ip = getIpAdress(req);
 
+		if (!general.uniqueUsernames && body.unique_username_registration) {
+			throw FieldErrors({
+				unique_username_registration: {
+					code: "UNIQUE_USERNAMES_DISABLED",
+					message: req.t("auth:register.UNIQUE_USERNAMES_DISABLED"),
+				},
+			});
+		}
+
 		// Reg tokens
 		// They're a one time use token that bypasses registration limits ( rates, disabled reg, etc )
 		let regTokenUsed = false;
diff --git a/src/api/routes/unique-username/username-attempt-unauthed.ts b/src/api/routes/unique-username/username-attempt-unauthed.ts
new file mode 100644
index 00000000..a1f63a69
--- /dev/null
+++ b/src/api/routes/unique-username/username-attempt-unauthed.ts
@@ -0,0 +1,33 @@
+import { route } from "@spacebar/api";
+import { Config, User, UsernameAttemptUnauthedSchema } from "@spacebar/util";
+import { Request, Response, Router } from "express";
+import { HTTPError } from "lambert-server";
+const router = Router();
+
+router.post(
+	"/",
+	route({
+		requestBody: "UsernameAttemptUnauthedSchema",
+		responses: {
+			200: { body: "UsernameAttemptResponse" },
+			400: { body: "APIErrorResponse" },
+		},
+		description: "Check if a username is available",
+	}),
+	async (req: Request, res: Response) => {
+		const body = req.body as UsernameAttemptUnauthedSchema;
+		const { uniqueUsernames } = Config.get().general;
+		if (!uniqueUsernames) {
+			throw new HTTPError(
+				"Unique Usernames feature is not enabled on this instance.",
+				400,
+			);
+		}
+
+		res.json({
+			taken: !User.isUsernameAvailable(body.username),
+		});
+	},
+);
+
+export default router;
diff --git a/src/api/routes/unique-username/username-suggestions-unauthed.ts b/src/api/routes/unique-username/username-suggestions-unauthed.ts
new file mode 100644
index 00000000..9b112b55
--- /dev/null
+++ b/src/api/routes/unique-username/username-suggestions-unauthed.ts
@@ -0,0 +1,37 @@
+import { route } from "@spacebar/api";
+import { Request, Response, Router } from "express";
+import { HTTPError } from "lambert-server";
+import { Config } from "../../../util";
+const router = Router();
+
+router.get(
+	"/",
+	route({
+		query: {
+			global_name: {
+				type: "string",
+				required: false,
+			},
+		},
+		responses: {
+			400: { body: "APIErrorResponse" },
+		},
+	}),
+	async (req: Request, res: Response) => {
+		const globalName = req.query.globalName as string | undefined;
+		const { uniqueUsernames } = Config.get().general;
+		if (!uniqueUsernames) {
+			throw new HTTPError(
+				"Unique Usernames feature is not enabled on this instance.",
+				400,
+			);
+		}
+
+		// return a random suggestion
+		if (!globalName) return res.json({ username: "" });
+		// return a suggestion based on the globalName
+		return res.json({ username: globalName });
+	},
+);
+
+export default router;
diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts
index f4578126..55d2ce12 100644
--- a/src/api/routes/users/@me/index.ts
+++ b/src/api/routes/users/@me/index.ts
@@ -172,10 +172,7 @@ router.patch(
 				}
 
 				// check if username is already taken (pomelo only)
-				const userCount = await User.count({
-					where: { username: body.username },
-				});
-				if (userCount > 0) {
+				if (!User.isUsernameAvailable(body.username))
 					throw FieldErrors({
 						username: {
 							code: "USERNAME_ALREADY_TAKEN",
@@ -184,7 +181,6 @@ router.patch(
 							),
 						},
 					});
-				}
 			}
 
 			// handle username changes (old username system)
diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts
index d1fbb5c2..5ec9862e 100644
--- a/src/util/entities/User.ts
+++ b/src/util/entities/User.ts
@@ -344,6 +344,7 @@ export class User extends BaseClass {
 		password,
 		id,
 		req,
+		global_name,
 	}: {
 		username: string;
 		password?: string;
@@ -351,8 +352,10 @@ export class User extends BaseClass {
 		date_of_birth?: Date; // "2000-04-03"
 		id?: string;
 		req?: Request;
+		global_name?: string;
 	}) {
 		const { uniqueUsernames } = Config.get().general;
+		const { minUsername, maxUsername } = Config.get().limits.user;
 
 		// trim special uf8 control characters -> Backspace, Newline, ...
 		username = trimSpecial(username);
@@ -374,6 +377,34 @@ export class User extends BaseClass {
 			}
 		}
 
+		if (uniqueUsernames) {
+			// check if there is already an account with this username
+			if (!User.isUsernameAvailable(username))
+				throw FieldErrors({
+					username: {
+						code: "USERNAME_ALREADY_TAKEN",
+						message:
+							req?.t("common:field.USERNAME_ALREADY_TAKEN") || "",
+					},
+				});
+
+			// validate username length
+			if (
+				username.length < minUsername ||
+				username.length > maxUsername
+			) {
+				throw FieldErrors({
+					username: {
+						code: "BASE_TYPE_BAD_LENGTH",
+						message:
+							req?.t("common:field.BASE_TYPE_BAD_LENGTH", {
+								length: `${minUsername} and ${maxUsername}`,
+							}) || "",
+					},
+				});
+			}
+		}
+
 		// TODO: save date_of_birth
 		// appearently discord doesn't save the date of birth and just calculate if nsfw is allowed
 		// if nsfw_allowed is null/undefined it'll require date_of_birth to set it to true/false
@@ -386,6 +417,7 @@ export class User extends BaseClass {
 
 		const user = User.create({
 			username: uniqueUsernames ? username.toLowerCase() : username,
+			global_name: uniqueUsernames ? global_name : undefined,
 			discriminator,
 			id: id || Snowflake.generate(),
 			email: email,
@@ -429,6 +461,14 @@ export class User extends BaseClass {
 
 		return user;
 	}
+
+	static async isUsernameAvailable(username: string) {
+		const user = await User.findOne({
+			where: { username },
+			select: ["id"],
+		});
+		return !user;
+	}
 }
 
 export const CUSTOM_USER_FLAG_OFFSET = BigInt(1) << BigInt(32);
diff --git a/src/util/schemas/UsernameAttemptUnauthedSchema.ts b/src/util/schemas/UsernameAttemptUnauthedSchema.ts
new file mode 100644
index 00000000..0ac83dd0
--- /dev/null
+++ b/src/util/schemas/UsernameAttemptUnauthedSchema.ts
@@ -0,0 +1,3 @@
+export interface UsernameAttemptUnauthedSchema {
+	username: string;
+}
diff --git a/src/util/schemas/index.ts b/src/util/schemas/index.ts
index 44a504cd..bb449e45 100644
--- a/src/util/schemas/index.ts
+++ b/src/util/schemas/index.ts
@@ -72,6 +72,7 @@ export * from "./UserModifySchema";
 export * from "./UserNoteUpdateSchema";
 export * from "./UserProfileModifySchema";
 export * from "./UserSettingsSchema";
+export * from "./UsernameAttemptUnauthedSchema";
 export * from "./Validator";
 export * from "./VanityUrlSchema";
 export * from "./VoiceIdentifySchema";
diff --git a/src/util/schemas/responses/UsernameAttemptResponse.ts b/src/util/schemas/responses/UsernameAttemptResponse.ts
new file mode 100644
index 00000000..864a3bb0
--- /dev/null
+++ b/src/util/schemas/responses/UsernameAttemptResponse.ts
@@ -0,0 +1,3 @@
+export interface UsernameAttemptResponse {
+	taken: boolean;
+}