From 20b2843680ad1d72b561db5ae536c790015e90cd Mon Sep 17 00:00:00 2001 From: TomatoCake <60300461+DEVTomatoCake@users.noreply.github.com> Date: Sat, 10 Aug 2024 22:10:20 +0200 Subject: [PATCH 1/2] Make profile bio max length configurable --- src/api/routes/users/#id/profile.ts | 20 ++++++++++++++++--- src/api/routes/users/@me/index.ts | 18 ++++++++++++++--- .../subconfigurations/limits/UserLimits.ts | 7 ++++--- src/util/entities/User.ts | 8 ++++---- src/util/schemas/UserModifySchema.ts | 9 +++------ 5 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/api/routes/users/#id/profile.ts b/src/api/routes/users/#id/profile.ts index db0922d68..44271cad3 100644 --- a/src/api/routes/users/#id/profile.ts +++ b/src/api/routes/users/#id/profile.ts @@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @@ -19,6 +19,8 @@ import { route } from "@spacebar/api"; import { Badge, + Config, + FieldErrors, Member, PrivateUserProjection, User, @@ -136,6 +138,18 @@ router.patch( select: [...PrivateUserProjection, "data"], }); + if (body.bio) { + const { maxBio } = Config.get().limits.user; + if (body.bio.length > maxBio) { + throw FieldErrors({ + bio: { + code: "BIO_INVALID", + message: `Bio must be less than ${maxBio} in length`, + }, + }); + } + } + user.assign(body); await user.save(); diff --git a/src/api/routes/users/@me/index.ts b/src/api/routes/users/@me/index.ts index cddc3a087..5caf0d119 100644 --- a/src/api/routes/users/@me/index.ts +++ b/src/api/routes/users/@me/index.ts @@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @@ -189,6 +189,18 @@ router.patch( } } + if (body.bio) { + const { maxBio } = Config.get().limits.user; + if (body.bio.length > maxBio) { + throw FieldErrors({ + bio: { + code: "BIO_INVALID", + message: `Bio must be less than ${maxBio} in length`, + }, + }); + } + } + user.assign(body); user.validate(); await user.save(); diff --git a/src/util/config/types/subconfigurations/limits/UserLimits.ts b/src/util/config/types/subconfigurations/limits/UserLimits.ts index 8f9b1a97f..afe9afbe9 100644 --- a/src/util/config/types/subconfigurations/limits/UserLimits.ts +++ b/src/util/config/types/subconfigurations/limits/UserLimits.ts @@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @@ -20,4 +20,5 @@ export class UserLimits { maxGuilds: number = 1048576; maxUsername: number = 32; maxFriends: number = 5000; + maxBio: number = 190; } diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index c929039ef..b299bcfce 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @@ -130,7 +130,7 @@ export class User extends BaseClass { bot: boolean = false; // if user is bot @Column() - bio: string = ""; // short description of the user (max 190 chars -> should be configurable) + bio: string = ""; // short description of the user @Column() system: boolean = false; // shouldn't be used, the api sends this field type true, if the generated message comes from a system generated author diff --git a/src/util/schemas/UserModifySchema.ts b/src/util/schemas/UserModifySchema.ts index e155b9af4..4be6ad43a 100644 --- a/src/util/schemas/UserModifySchema.ts +++ b/src/util/schemas/UserModifySchema.ts @@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @@ -23,9 +23,6 @@ export interface UserModifySchema { */ username?: string; avatar?: string | null; - /** - * @maxLength 1024 - */ bio?: string; accent_color?: number; banner?: string | null; From 5900d4fdacb89e0f6312ae2b3f52267f142f1b65 Mon Sep 17 00:00:00 2001 From: TomatoCake <60300461+DEVTomatoCake@users.noreply.github.com> Date: Sat, 10 Aug 2024 22:23:02 +0200 Subject: [PATCH 2/2] Update schema for bio max length config --- assets/schemas.json | 721 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 720 insertions(+), 1 deletion(-) diff --git a/assets/schemas.json b/assets/schemas.json index 5226bbade..70a65862a 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -4523,10 +4523,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -9356,10 +9361,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -14134,10 +14144,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -18890,10 +18905,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -23668,10 +23688,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -28438,10 +28463,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -33238,10 +33268,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -38002,10 +38037,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -42769,10 +42809,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -47548,10 +47593,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -52330,10 +52380,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -57094,10 +57149,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -61960,10 +62020,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -66736,10 +66801,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -71512,10 +71582,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -76283,10 +76358,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -81090,10 +81170,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -85866,10 +85951,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -90633,10 +90723,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -95403,10 +95498,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -100182,10 +100282,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -104949,10 +105054,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -109716,10 +109826,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -114502,10 +114617,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -119272,10 +119392,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -124102,10 +124227,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -128891,10 +129021,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -133821,10 +133956,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -138609,10 +138749,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -143407,10 +143552,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -148187,10 +148337,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -152973,10 +153128,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -157749,10 +157909,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -162513,10 +162678,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -167414,10 +167584,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -172169,10 +172344,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -177067,10 +177247,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -181834,10 +182019,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -186609,10 +186799,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -191377,10 +191572,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -196145,10 +196345,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -200948,10 +201153,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -205716,10 +205926,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -210483,10 +210698,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -215265,10 +215485,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -220036,10 +220261,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -224881,10 +225111,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -229648,10 +229883,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -234415,10 +234655,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -239179,10 +239424,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -243949,10 +244199,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -248729,10 +248984,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -253493,10 +253753,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -258306,10 +258571,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -258693,7 +258963,6 @@ ] }, "bio": { - "maxLength": 1024, "type": "string" }, "accent_color": { @@ -263105,10 +263374,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -267869,10 +268143,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -272658,10 +272937,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -277542,10 +277826,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -282305,10 +282594,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -287107,10 +287401,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -291897,10 +292196,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -296739,10 +297043,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -301503,10 +301812,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -306275,10 +306589,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -311037,10 +311356,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -315805,10 +316129,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -320573,10 +320902,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -325427,10 +325761,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -330195,10 +330534,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -334995,10 +335339,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -339767,10 +340116,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -344529,10 +344883,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -349297,10 +349656,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -354076,10 +354440,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -358869,10 +359238,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -363633,10 +364007,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -368400,10 +368779,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -373196,10 +373580,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -377960,10 +378349,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -382803,10 +383197,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -387574,10 +387973,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -392338,10 +392742,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -397102,10 +397511,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -401873,10 +402287,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -406641,10 +407060,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -411405,10 +411829,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -416244,10 +416673,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -421019,10 +421453,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -425795,10 +426234,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -430621,10 +431065,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -435406,10 +435855,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -440197,10 +440651,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -444982,10 +445441,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -449746,10 +450210,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -454538,10 +455007,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -459342,10 +459816,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -464100,10 +464579,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -468868,10 +469352,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -473632,10 +474121,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -478403,10 +478897,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -483378,10 +483877,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -488133,10 +488637,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -492988,10 +493497,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -497746,10 +498260,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -502504,10 +503023,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -507262,10 +507786,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -512120,10 +512649,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -516876,10 +517410,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -521632,10 +522171,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -526388,10 +526932,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -531146,10 +531695,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -535904,10 +536458,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -540662,10 +541221,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -545420,10 +545984,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -550178,10 +550747,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -555000,10 +555574,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -559758,10 +560337,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -564516,10 +565100,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -569274,10 +569863,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -574079,10 +574673,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -579073,10 +579672,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -583831,10 +584435,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -588589,10 +589198,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -593347,10 +593961,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -598105,10 +598724,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -602889,10 +603513,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -607647,10 +608276,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -612403,10 +613037,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -617182,10 +617821,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -621954,10 +622598,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -626845,10 +627494,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -631627,10 +632281,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -636403,10 +637062,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -641171,10 +641835,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -645939,10 +646608,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -650694,10 +651368,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -655464,10 +656143,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -660231,10 +660915,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -665013,10 +665702,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -669799,10 +670493,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -674564,10 +675263,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -679328,10 +680032,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -684092,10 +684801,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername" @@ -688862,10 +689576,15 @@ "maxFriends": { "type": "integer", "default": 5000 + }, + "maxBio": { + "type": "integer", + "default": 190 } }, "additionalProperties": false, "required": [ + "maxBio", "maxFriends", "maxGuilds", "maxUsername"