summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel <34555296+Flam3rboy@users.noreply.github.com>2021-10-20 14:16:26 -0400
committerGitHub <noreply@github.com>2021-10-20 14:16:26 -0400
commit00fd55ed772b2afe5fdefe1e5395c29f15fc914f (patch)
treed97f134505a08d4930b70d459b2f1517c539ccfa
parentMerge branch 'master' of http://github.com/fosscord/fosscord-server (diff)
parentreplaced space with tabs (diff)
downloadserver-00fd55ed772b2afe5fdefe1e5395c29f15fc914f.tar.xz
Merge pull request #490 from developomp/master
Prettier format and link simplification
-rw-r--r--.dockerignore2
-rw-r--r--.github/FUNDING.yml2
-rw-r--r--.github/workflows/docker-publish-api.yml78
-rw-r--r--.github/workflows/docker-publish-cdn.yml78
-rw-r--r--.github/workflows/docker-publish-gateway.yml78
-rw-r--r--.github/workflows/release.yml182
-rw-r--r--.gitignore2
-rw-r--r--.prettierrc4
-rw-r--r--README.md16
-rw-r--r--api/.vscode/api-snippets.code-snippets10
-rw-r--r--api/assets/schemas.json17844
-rw-r--r--api/crowdin.yml4
-rw-r--r--api/locales/af/common.json34
-rw-r--r--api/locales/ar/common.json34
-rw-r--r--api/locales/be/common.json34
-rw-r--r--api/locales/bg/common.json34
-rw-r--r--api/locales/ca/common.json34
-rw-r--r--api/locales/cs/common.json34
-rw-r--r--api/locales/da/common.json34
-rw-r--r--api/locales/de/common.json34
-rw-r--r--api/locales/el/common.json34
-rw-r--r--api/locales/en/common.json34
-rw-r--r--api/locales/eo/common.json34
-rw-r--r--api/locales/es/common.json34
-rw-r--r--api/locales/fa/common.json34
-rw-r--r--api/locales/fi/common.json34
-rw-r--r--api/locales/fr/common.json34
-rw-r--r--api/locales/he/common.json34
-rw-r--r--api/locales/hi/common.json34
-rw-r--r--api/locales/hr/common.json34
-rw-r--r--api/locales/hu/common.json34
-rw-r--r--api/locales/id/common.json34
-rw-r--r--api/locales/it/common.json34
-rw-r--r--api/locales/ja/common.json34
-rw-r--r--api/locales/ko/common.json34
-rw-r--r--api/locales/lt/common.json34
-rw-r--r--api/locales/nl/common.json34
-rw-r--r--api/locales/no/common.json34
-rw-r--r--api/locales/pl/common.json34
-rw-r--r--api/locales/pt/common.json34
-rw-r--r--api/locales/ro/common.json34
-rw-r--r--api/locales/ru/common.json34
-rw-r--r--api/locales/si/common.json34
-rw-r--r--api/locales/sk/common.json34
-rw-r--r--api/locales/sr/common.json34
-rw-r--r--api/locales/sv/common.json34
-rw-r--r--api/locales/tr/common.json34
-rw-r--r--api/locales/uk/common.json34
-rw-r--r--api/locales/ur/common.json34
-rw-r--r--api/locales/vi/common.json34
-rw-r--r--api/locales/zh/common.json34
-rw-r--r--api/src/global.d.ts14
-rw-r--r--api/src/routes/-/healthz.ts2
-rw-r--r--api/src/routes/-/readyz.ts2
-rw-r--r--api/src/routes/applications/#id/entitlements.ts2
-rw-r--r--api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts36
-rw-r--r--api/src/routes/channels/#channel_id/recipients.ts41
-rw-r--r--api/src/routes/discoverable-guilds.ts5
-rw-r--r--api/src/routes/discovery.ts2
-rw-r--r--api/src/routes/gateway/bot.ts2
-rw-r--r--api/src/routes/guilds/#guild_id/prune.ts164
-rw-r--r--api/src/routes/oauth2/tokens.ts4
-rw-r--r--api/src/routes/store/published-listings/applications/#id/subscription-plans.ts27
-rw-r--r--api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts129
-rw-r--r--api/src/routes/users/@me/activities/statistics/applications.ts2
-rw-r--r--api/src/routes/users/@me/billing/payment-sources.ts2
-rw-r--r--api/src/routes/users/@me/channels.ts7
-rw-r--r--api/src/routes/users/@me/email-settings.ts15
-rw-r--r--api/src/util/ipAddress.ts9
-rw-r--r--bundle/.prettierrc4
-rw-r--r--bundle/scripts/build.js24
-rw-r--r--bundle/scripts/install.js13
-rw-r--r--bundle/tsconfig.json8
-rw-r--r--cdn/README.md27
-rw-r--r--cdn/package.json130
-rw-r--r--cdn/src/util/S3Storage.ts20
-rw-r--r--cdn/src/util/Storage.ts19
-rw-r--r--cdn/tests/cdn_endpoints.test.js63
-rw-r--r--cdn/tsconfig.json9
-rw-r--r--crowdin.yml4
-rw-r--r--docker-compose.yml2
-rw-r--r--fosscord-server.code-workspace2
-rw-r--r--gateway/.github/FUNDING.yml2
-rw-r--r--gateway/src/util/SessionUtils.ts4
-rw-r--r--gateway/tsconfig.json10
-rw-r--r--rtc/config.json2
-rw-r--r--util/src/dtos/DmChannelDTO.ts36
-rw-r--r--util/src/dtos/UserDTO.ts12
-rw-r--r--util/src/dtos/index.ts2
-rw-r--r--util/src/entities/Invite.ts2
-rw-r--r--util/src/entities/Migration.ts2
-rw-r--r--util/src/util/ApiError.ts3
-rw-r--r--util/src/util/Array.ts4
-rw-r--r--util/src/util/FieldError.ts6
-rw-r--r--util/src/util/Rights.ts2
-rw-r--r--webrtc/README.md1
-rw-r--r--webrtc/src/Server.ts6
-rw-r--r--webrtc/tsconfig.json8
98 files changed, 9598 insertions, 10920 deletions
diff --git a/.dockerignore b/.dockerignore
index 61b7ef66..7ee311a4 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,2 +1,2 @@
 node_modules/
-db/
\ No newline at end of file
+db/
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index f76b9015..43f3b63b 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1 +1 @@
-open_collective: fosscord
\ No newline at end of file
+open_collective: fosscord
diff --git a/.github/workflows/docker-publish-api.yml b/.github/workflows/docker-publish-api.yml
index 405faae4..cc35562a 100644
--- a/.github/workflows/docker-publish-api.yml
+++ b/.github/workflows/docker-publish-api.yml
@@ -1,47 +1,41 @@
 name: docker-publish-api
 
 on:
-  push:
-    paths:
-      - 'api/**'
+    push:
+        paths:
+            - "api/**"
 
 jobs:
-  docker-api:
-    runs-on: ubuntu-latest
-    steps:
-      -
-        name: Checkout
-        uses: actions/checkout@v2
-      -
-        name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-      -
-        name: Cache Docker layers
-        uses: actions/cache@v2
-        with:
-          path: /tmp/.buildx-cache/api
-          key: ${{ runner.os }}-buildx-api-${{ github.sha }}
-          restore-keys: |
-            ${{ runner.os }}-buildx-api-
-      -
-        name: Login to DockerHub
-        uses: docker/login-action@v1
-        with:
-          username: ${{ secrets.DOCKERHUB_USERNAME }}
-          password: ${{ secrets.DOCKERHUB_TOKEN }}
-      -
-        name: Build and push
-        uses: docker/build-push-action@v2
-        with:
-          context: ./api
-          push: true
-          tags: ${{ secrets.DOCKERHUB_TAGS_API }}
-          cache-from: type=local,src=/tmp/.buildx-cache/api
-          cache-to: type=local,dest=/tmp/.buildx-cache-new/api
-      -
-        # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
-        # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
-        name: Move cache fix
-        run: |
-          rm -rf /tmp/.buildx-cache/api
-          mv /tmp/.buildx-cache-new/api /tmp/.buildx-cache/api
\ No newline at end of file
+    docker-api:
+        runs-on: ubuntu-latest
+        steps:
+            - name: Checkout
+              uses: actions/checkout@v2
+            - name: Set up Docker Buildx
+              uses: docker/setup-buildx-action@v1
+            - name: Cache Docker layers
+              uses: actions/cache@v2
+              with:
+                  path: /tmp/.buildx-cache/api
+                  key: ${{ runner.os }}-buildx-api-${{ github.sha }}
+                  restore-keys: |
+                      ${{ runner.os }}-buildx-api-
+            - name: Login to DockerHub
+              uses: docker/login-action@v1
+              with:
+                  username: ${{ secrets.DOCKERHUB_USERNAME }}
+                  password: ${{ secrets.DOCKERHUB_TOKEN }}
+            - name: Build and push
+              uses: docker/build-push-action@v2
+              with:
+                  context: ./api
+                  push: true
+                  tags: ${{ secrets.DOCKERHUB_TAGS_API }}
+                  cache-from: type=local,src=/tmp/.buildx-cache/api
+                  cache-to: type=local,dest=/tmp/.buildx-cache-new/api
+            - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
+              # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
+              name: Move cache fix
+              run: |
+                  rm -rf /tmp/.buildx-cache/api
+                  mv /tmp/.buildx-cache-new/api /tmp/.buildx-cache/api
diff --git a/.github/workflows/docker-publish-cdn.yml b/.github/workflows/docker-publish-cdn.yml
index 9b3f6a64..86eae9d6 100644
--- a/.github/workflows/docker-publish-cdn.yml
+++ b/.github/workflows/docker-publish-cdn.yml
@@ -1,47 +1,41 @@
 name: docker-publish-cdn
 
 on:
-  push:
-    paths:
-      - 'cdn/**'
+    push:
+        paths:
+            - "cdn/**"
 
 jobs:
-  docker-cdn:
-    runs-on: ubuntu-latest
-    steps:
-      -
-        name: Checkout
-        uses: actions/checkout@v2
-      -
-        name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-      -
-        name: Cache Docker layers
-        uses: actions/cache@v2
-        with:
-          path: /tmp/.buildx-cache/cdn
-          key: ${{ runner.os }}-buildx-cdn-${{ github.sha }}
-          restore-keys: |
-            ${{ runner.os }}-buildx-cdn-
-      -
-        name: Login to DockerHub
-        uses: docker/login-action@v1
-        with:
-          username: ${{ secrets.DOCKERHUB_USERNAME }}
-          password: ${{ secrets.DOCKERHUB_TOKEN }}
-      -
-        name: Build and push
-        uses: docker/build-push-action@v2
-        with:
-          context: ./cdn
-          push: true
-          tags: ${{ secrets.DOCKERHUB_TAGS_CDN }}
-          cache-from: type=local,src=/tmp/.buildx-cache/cdn
-          cache-to: type=local,dest=/tmp/.buildx-cache-new/cdn
-      -
-        # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
-        # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
-        name: Move cache fix
-        run: |
-          rm -rf /tmp/.buildx-cache/cdn
-          mv /tmp/.buildx-cache-new/cdn /tmp/.buildx-cache/cdn
\ No newline at end of file
+    docker-cdn:
+        runs-on: ubuntu-latest
+        steps:
+            - name: Checkout
+              uses: actions/checkout@v2
+            - name: Set up Docker Buildx
+              uses: docker/setup-buildx-action@v1
+            - name: Cache Docker layers
+              uses: actions/cache@v2
+              with:
+                  path: /tmp/.buildx-cache/cdn
+                  key: ${{ runner.os }}-buildx-cdn-${{ github.sha }}
+                  restore-keys: |
+                      ${{ runner.os }}-buildx-cdn-
+            - name: Login to DockerHub
+              uses: docker/login-action@v1
+              with:
+                  username: ${{ secrets.DOCKERHUB_USERNAME }}
+                  password: ${{ secrets.DOCKERHUB_TOKEN }}
+            - name: Build and push
+              uses: docker/build-push-action@v2
+              with:
+                  context: ./cdn
+                  push: true
+                  tags: ${{ secrets.DOCKERHUB_TAGS_CDN }}
+                  cache-from: type=local,src=/tmp/.buildx-cache/cdn
+                  cache-to: type=local,dest=/tmp/.buildx-cache-new/cdn
+            - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
+              # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
+              name: Move cache fix
+              run: |
+                  rm -rf /tmp/.buildx-cache/cdn
+                  mv /tmp/.buildx-cache-new/cdn /tmp/.buildx-cache/cdn
diff --git a/.github/workflows/docker-publish-gateway.yml b/.github/workflows/docker-publish-gateway.yml
index eac1052b..21c3333e 100644
--- a/.github/workflows/docker-publish-gateway.yml
+++ b/.github/workflows/docker-publish-gateway.yml
@@ -1,47 +1,41 @@
 name: docker-publish-gw
 
 on:
-  push:
-    paths:
-      - 'gateway/**'
+    push:
+        paths:
+            - "gateway/**"
 
 jobs:
-  docker-gw:
-    runs-on: ubuntu-latest
-    steps:
-      -
-        name: Checkout
-        uses: actions/checkout@v2
-      -
-        name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
-      -
-        name: Cache Docker layers
-        uses: actions/cache@v2
-        with:
-          path: /tmp/.buildx-cache/gw
-          key: ${{ runner.os }}-buildx-gw-${{ github.sha }}
-          restore-keys: |
-            ${{ runner.os }}-buildx-gw-
-      -
-        name: Login to DockerHub
-        uses: docker/login-action@v1
-        with:
-          username: ${{ secrets.DOCKERHUB_USERNAME }}
-          password: ${{ secrets.DOCKERHUB_TOKEN }}
-      -
-        name: Build and push
-        uses: docker/build-push-action@v2
-        with:
-          context: ./gateway
-          push: true
-          tags: ${{ secrets.DOCKERHUB_TAGS_GW }}
-          cache-from: type=local,src=/tmp/.buildx-cache/gw
-          cache-to: type=local,dest=/tmp/.buildx-cache-new/gw
-      -
-        # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
-        # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
-        name: Move cache fix
-        run: |
-          rm -rf /tmp/.buildx-cache/gw
-          mv /tmp/.buildx-cache-new/gw /tmp/.buildx-cache/gw
\ No newline at end of file
+    docker-gw:
+        runs-on: ubuntu-latest
+        steps:
+            - name: Checkout
+              uses: actions/checkout@v2
+            - name: Set up Docker Buildx
+              uses: docker/setup-buildx-action@v1
+            - name: Cache Docker layers
+              uses: actions/cache@v2
+              with:
+                  path: /tmp/.buildx-cache/gw
+                  key: ${{ runner.os }}-buildx-gw-${{ github.sha }}
+                  restore-keys: |
+                      ${{ runner.os }}-buildx-gw-
+            - name: Login to DockerHub
+              uses: docker/login-action@v1
+              with:
+                  username: ${{ secrets.DOCKERHUB_USERNAME }}
+                  password: ${{ secrets.DOCKERHUB_TOKEN }}
+            - name: Build and push
+              uses: docker/build-push-action@v2
+              with:
+                  context: ./gateway
+                  push: true
+                  tags: ${{ secrets.DOCKERHUB_TAGS_GW }}
+                  cache-from: type=local,src=/tmp/.buildx-cache/gw
+                  cache-to: type=local,dest=/tmp/.buildx-cache-new/gw
+            - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA
+              # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394
+              name: Move cache fix
+              run: |
+                  rm -rf /tmp/.buildx-cache/gw
+                  mv /tmp/.buildx-cache-new/gw /tmp/.buildx-cache/gw
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f9e87d53..6bd8f535 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,101 +1,101 @@
 on:
-  workflow_dispatch:
-  push:
-    # Sequence of patterns matched against refs/tags
-    tags:
-      - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
+    workflow_dispatch:
+    push:
+        # Sequence of patterns matched against refs/tags
+        tags:
+            - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
 
 name: Publish Release
 
 jobs:
-  insiders-build:
-    strategy:
-      matrix:
-        os: [windows, macos, ubuntu]
-        include:
-          - os: windows
-            file: fosscord-server-windows.exe
-            package: ""
-            artifact: fosscord-server-windows.exe
-          - os: macos
-            file: fosscord-server.app
-            package: tar -czf 'fosscord-server-macos.app.tgz' 'fosscord-server.app'
-            artifact: fosscord-server-macos.app.tgz
-          - os: ubuntu
-            file: fosscord
-            package: chmod +x fosscord && tar -czf 'fosscord-server-linux.tgz' 'fosscord'
-            artifact: fosscord-server-linux.tgz
-    runs-on: ${{ matrix.os }}-latest
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/setup-node@v2
-        env:
-          MONGOMS_VERSION: 4.4.3
-        with:
-          node-version: 14
-      - run: |
-          cd bundle
-          npm run setup
-          npx caxa -i . -m 'This_may_take_a_while_to_run_the_first_time_please_wait...' --output '${{matrix.file}}' -- '{{caxa}}/node_modules/.bin/node' '{{caxa}}/dist/bundle/src/start.js'
-          ${{ matrix.package }}
-      - uses: actions/upload-artifact@v2
-        with:
-          name: ${{ matrix.artifact }}
-          path: bundle/${{ matrix.artifact }}
+    insiders-build:
+        strategy:
+            matrix:
+                os: [windows, macos, ubuntu]
+                include:
+                    - os: windows
+                      file: fosscord-server-windows.exe
+                      package: ""
+                      artifact: fosscord-server-windows.exe
+                    - os: macos
+                      file: fosscord-server.app
+                      package: tar -czf 'fosscord-server-macos.app.tgz' 'fosscord-server.app'
+                      artifact: fosscord-server-macos.app.tgz
+                    - os: ubuntu
+                      file: fosscord
+                      package: chmod +x fosscord && tar -czf 'fosscord-server-linux.tgz' 'fosscord'
+                      artifact: fosscord-server-linux.tgz
+        runs-on: ${{ matrix.os }}-latest
+        steps:
+            - uses: actions/checkout@v2
+            - uses: actions/setup-node@v2
+              env:
+                  MONGOMS_VERSION: 4.4.3
+              with:
+                  node-version: 14
+            - run: |
+                  cd bundle
+                  npm run setup
+                  npx caxa -i . -m 'This_may_take_a_while_to_run_the_first_time_please_wait...' --output '${{matrix.file}}' -- '{{caxa}}/node_modules/.bin/node' '{{caxa}}/dist/bundle/src/start.js'
+                  ${{ matrix.package }}
+            - uses: actions/upload-artifact@v2
+              with:
+                  name: ${{ matrix.artifact }}
+                  path: bundle/${{ matrix.artifact }}
 
-  release:
-    needs: [insiders-build]
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/download-artifact@v2
-        with:
-          name: fosscord-server-windows.exe
-      - uses: actions/download-artifact@v2
-        with:
-          name: fosscord-server-macos.app.tgz
-      - uses: actions/download-artifact@v2
-        with:
-          name: fosscord-server-linux.tgz
-      - uses: actions/create-release@v1
-        id: create-release
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          tag_name: v${{ secrets.RELEASE_VERSION }}
-          release_name: Server v${{ secrets.RELEASE_VERSION }}
-          draft: false
-          prerelease: true # TODO: change this to false
-          body: >
-            ## Download
+    release:
+        needs: [insiders-build]
+        runs-on: ubuntu-latest
+        steps:
+            - uses: actions/checkout@v2
+            - uses: actions/download-artifact@v2
+              with:
+                  name: fosscord-server-windows.exe
+            - uses: actions/download-artifact@v2
+              with:
+                  name: fosscord-server-macos.app.tgz
+            - uses: actions/download-artifact@v2
+              with:
+                  name: fosscord-server-linux.tgz
+            - uses: actions/create-release@v1
+              id: create-release
+              env:
+                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+              with:
+                  tag_name: v${{ secrets.RELEASE_VERSION }}
+                  release_name: Server v${{ secrets.RELEASE_VERSION }}
+                  draft: false
+                  prerelease: true # TODO: change this to false
+                  body: >
+                      ## Download
 
-            - [Windows](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-windows.exe)
+                      - [Windows](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-windows.exe)
 
-            - [MacOS](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-macos.app.tgz)
+                      - [MacOS](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-macos.app.tgz)
 
-            - [Linux](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-linux.tgz)
+                      - [Linux](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-linux.tgz)
 
-      - uses: actions/upload-release-asset@v1
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          upload_url: ${{ steps.create-release.outputs.upload_url }}
-          asset_path: fosscord-server-windows.exe
-          asset_name: fosscord-server-windows.exe
-          asset_content_type: application/vnd.microsoft.portable-executable
-      - uses: actions/upload-release-asset@v1
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          upload_url: ${{ steps.create-release.outputs.upload_url }}
-          asset_path: fosscord-server-macos.app.tgz
-          asset_name: fosscord-server-macos.app.tgz
-          asset_content_type: application/gzip
-      - uses: actions/upload-release-asset@v1
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          upload_url: ${{ steps.create-release.outputs.upload_url }}
-          asset_path: fosscord-server-linux.tgz
-          asset_name: fosscord-server-linux.tgz
-          asset_content_type: application/gzip
+            - uses: actions/upload-release-asset@v1
+              env:
+                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+              with:
+                  upload_url: ${{ steps.create-release.outputs.upload_url }}
+                  asset_path: fosscord-server-windows.exe
+                  asset_name: fosscord-server-windows.exe
+                  asset_content_type: application/vnd.microsoft.portable-executable
+            - uses: actions/upload-release-asset@v1
+              env:
+                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+              with:
+                  upload_url: ${{ steps.create-release.outputs.upload_url }}
+                  asset_path: fosscord-server-macos.app.tgz
+                  asset_name: fosscord-server-macos.app.tgz
+                  asset_content_type: application/gzip
+            - uses: actions/upload-release-asset@v1
+              env:
+                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+              with:
+                  upload_url: ${{ steps.create-release.outputs.upload_url }}
+                  asset_path: fosscord-server-linux.tgz
+                  asset_name: fosscord-server-linux.tgz
+                  asset_content_type: application/gzip
diff --git a/.gitignore b/.gitignore
index bd301f07..6e6de8d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,4 +8,4 @@ database.db
 tsconfig.tsbuildinfo
 files/
 .env
-config.json
\ No newline at end of file
+config.json
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 00000000..8dc2e726
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,4 @@
+{
+	"tabWidth": 4,
+	"useTabs": true
+}
diff --git a/README.md b/README.md
index b8e2e573..cc831e62 100644
--- a/README.md
+++ b/README.md
@@ -18,13 +18,13 @@
 
 This repository contains:
 
--   [Fosscord HTTP API Server](https://github.com/fosscord/fosscord-server/tree/master/api)
--   [WebSocket Gateway Server](https://github.com/fosscord/fosscord-server/tree/master/gateway)
--   [HTTP CDN Server](https://github.com/fosscord/fosscord-server/tree/master/cdn)
--   [Utility and Database Models](https://github.com/fosscord/fosscord-server/tree/master/util)
--   [RTC Server](https://github.com/fosscord/fosscord-server/tree/master/rtc)
--   [WebRTC Server](https://github.com/fosscord/fosscord-server/tree/master/webrtc)
--   [Admin Dashboard](https://github.com/fosscord/fosscord-server/tree/master/dashboard)
+-   [Fosscord HTTP API Server](/api)
+-   [WebSocket Gateway Server](/gateway)
+-   [HTTP CDN Server](/cdn)
+-   [Utility and Database Models](/util)
+-   [RTC Server](/rtc)
+-   [WebRTC Server](/webrtc)
+-   [Admin Dashboard](/dashboard)
 
 ## [Resources](https://docs.fosscord.com/resources/)
 
@@ -32,4 +32,4 @@ This repository contains:
 
 ## [Setup](https://docs.fosscord.com/setup/server/)
 
-- [Download](https://github.com/fosscord/fosscord-server/releases)
+-   [Download](https://github.com/fosscord/fosscord-server/releases)
diff --git a/api/.vscode/api-snippets.code-snippets b/api/.vscode/api-snippets.code-snippets
index 17bde62f..ef4b6386 100644
--- a/api/.vscode/api-snippets.code-snippets
+++ b/api/.vscode/api-snippets.code-snippets
@@ -19,11 +19,7 @@
 	"Route": {
 		"scope": "typescript",
 		"prefix": "route",
-		"body": [
-			"router.get(\"$1\", route({}), (req: Request, res: Response) => {",
-			"\t$2",
-			"});"
-		],
+		"body": ["router.get(\"$1\", route({}), (req: Request, res: Response) => {", "\t$2", "});"],
 		"description": "An API endpoint"
-	},
-}
\ No newline at end of file
+	}
+}
diff --git a/api/assets/schemas.json b/api/assets/schemas.json
index eb97112c..4ffa44b8 100644
--- a/api/assets/schemas.json
+++ b/api/assets/schemas.json
@@ -1,9697 +1,8149 @@
 {
-    "LoginSchema": {
-        "type": "object",
-        "properties": {
-            "login": {
-                "type": "string"
-            },
-            "password": {
-                "type": "string"
-            },
-            "undelete": {
-                "type": "boolean"
-            },
-            "captcha_key": {
-                "type": "string"
-            },
-            "login_source": {
-                "type": "string"
-            },
-            "gift_code_sku_id": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "login",
-            "password"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RegisterSchema": {
-        "type": "object",
-        "properties": {
-            "username": {
-                "minLength": 2,
-                "maxLength": 32,
-                "type": "string"
-            },
-            "password": {
-                "minLength": 1,
-                "maxLength": 72,
-                "type": "string"
-            },
-            "consent": {
-                "type": "boolean"
-            },
-            "email": {
-                "format": "email",
-                "type": "string"
-            },
-            "fingerprint": {
-                "type": "string"
-            },
-            "invite": {
-                "type": "string"
-            },
-            "date_of_birth": {
-                "type": "string"
-            },
-            "gift_code_sku_id": {
-                "type": "string"
-            },
-            "captcha_key": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "consent",
-            "username"
-        ],
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ChannelModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "type": {
-                "enum": [
-                    0,
-                    1,
-                    10,
-                    11,
-                    12,
-                    13,
-                    2,
-                    3,
-                    4,
-                    5,
-                    6
-                ],
-                "type": "number"
-            },
-            "topic": {
-                "type": "string"
-            },
-            "icon": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "bitrate": {
-                "type": "integer"
-            },
-            "user_limit": {
-                "type": "integer"
-            },
-            "rate_limit_per_user": {
-                "type": "integer"
-            },
-            "position": {
-                "type": "integer"
-            },
-            "permission_overwrites": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "id": {
-                            "type": "string"
-                        },
-                        "type": {
-                            "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                        },
-                        "allow": {
-                            "type": "string"
-                        },
-                        "deny": {
-                            "type": "string"
-                        }
-                    },
-                    "required": [
-                        "allow",
-                        "deny",
-                        "id",
-                        "type"
-                    ]
-                }
-            },
-            "parent_id": {
-                "type": "string"
-            },
-            "id": {
-                "type": "string"
-            },
-            "nsfw": {
-                "type": "boolean"
-            },
-            "rtc_region": {
-                "type": "string"
-            },
-            "default_auto_archive_duration": {
-                "type": "integer"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MessageCreateSchema": {
-        "type": "object",
-        "properties": {
-            "content": {
-                "type": "string"
-            },
-            "nonce": {
-                "type": "string"
-            },
-            "tts": {
-                "type": "boolean"
-            },
-            "flags": {
-                "type": "string"
-            },
-            "embeds": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/Embed"
-                }
-            },
-            "embed": {
-                "$ref": "#/definitions/Embed"
-            },
-            "allowed_mentions": {
-                "type": "object",
-                "properties": {
-                    "parse": {
-                        "type": "array",
-                        "items": {
-                            "type": "string"
-                        }
-                    },
-                    "roles": {
-                        "type": "array",
-                        "items": {
-                            "type": "string"
-                        }
-                    },
-                    "users": {
-                        "type": "array",
-                        "items": {
-                            "type": "string"
-                        }
-                    },
-                    "replied_user": {
-                        "type": "boolean"
-                    }
-                }
-            },
-            "message_reference": {
-                "type": "object",
-                "properties": {
-                    "message_id": {
-                        "type": "string"
-                    },
-                    "channel_id": {
-                        "type": "string"
-                    },
-                    "guild_id": {
-                        "type": "string"
-                    },
-                    "fail_if_not_exists": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "channel_id",
-                    "message_id"
-                ]
-            },
-            "payload_json": {
-                "type": "string"
-            },
-            "file": {},
-            "attachments": {
-                "type": "array",
-                "items": {}
-            },
-            "sticker_ids": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "InviteCreateSchema": {
-        "type": "object",
-        "properties": {
-            "target_user_id": {
-                "type": "string"
-            },
-            "target_type": {
-                "type": "string"
-            },
-            "validate": {
-                "type": "string"
-            },
-            "max_age": {
-                "type": "integer"
-            },
-            "max_uses": {
-                "type": "integer"
-            },
-            "temporary": {
-                "type": "boolean"
-            },
-            "unique": {
-                "type": "boolean"
-            },
-            "target_user": {
-                "type": "string"
-            },
-            "target_user_type": {
-                "type": "integer"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MessageAcknowledgeSchema": {
-        "type": "object",
-        "properties": {
-            "manual": {
-                "type": "boolean"
-            },
-            "mention_count": {
-                "type": "integer"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "BulkDeleteSchema": {
-        "type": "object",
-        "properties": {
-            "messages": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "required": [
-            "messages"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ChannelPermissionOverwriteSchema": {
-        "type": "object",
-        "properties": {
-            "allow": {
-                "type": "string"
-            },
-            "deny": {
-                "type": "string"
-            },
-            "id": {
-                "type": "string"
-            },
-            "type": {
-                "$ref": "#/definitions/ChannelPermissionOverwriteType"
-            }
-        },
-        "required": [
-            "allow",
-            "deny",
-            "id",
-            "type"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "WebhookCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "maxLength": 80,
-                "type": "string"
-            },
-            "avatar": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "avatar",
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "BanCreateSchema": {
-        "type": "object",
-        "properties": {
-            "delete_message_days": {
-                "type": "string"
-            },
-            "reason": {
-                "type": "string"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ChannelReorderSchema": {
-        "type": "array",
-        "items": {
-            "type": "object",
-            "properties": {
-                "id": {
-                    "type": "string"
-                },
-                "position": {
-                    "type": "integer"
-                },
-                "lock_permissions": {
-                    "type": "boolean"
-                },
-                "parent_id": {
-                    "type": "string"
-                }
-            },
-            "required": [
-                "id"
-            ]
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "EmojiCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "image": {
-                "type": "string"
-            },
-            "require_colons": {
-                "type": [
-                    "null",
-                    "boolean"
-                ]
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "required": [
-            "image"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "EmojiModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "GuildCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "region": {
-                "type": "string"
-            },
-            "icon": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "channels": {
-                "type": "array",
-                "items": {
-                    "$ref": "#/definitions/ChannelModifySchema"
-                }
-            },
-            "guild_template_code": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "GuildUpdateSchema": {
-        "type": "object",
-        "properties": {
-            "banner": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "splash": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "description": {
-                "type": "string"
-            },
-            "features": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            },
-            "verification_level": {
-                "type": "integer"
-            },
-            "default_message_notifications": {
-                "type": "integer"
-            },
-            "system_channel_flags": {
-                "type": "integer"
-            },
-            "explicit_content_filter": {
-                "type": "integer"
-            },
-            "public_updates_channel_id": {
-                "type": "string"
-            },
-            "afk_timeout": {
-                "type": "integer"
-            },
-            "afk_channel_id": {
-                "type": "string"
-            },
-            "preferred_locale": {
-                "type": "string"
-            },
-            "name": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "region": {
-                "type": "string"
-            },
-            "icon": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "guild_template_code": {
-                "type": "string"
-            },
-            "system_channel_id": {
-                "type": "string"
-            },
-            "rules_channel_id": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MemberChangeSchema": {
-        "type": "object",
-        "properties": {
-            "roles": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "MemberNickChangeSchema": {
-        "type": "object",
-        "properties": {
-            "nick": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "nick"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RoleModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "permissions": {
-                "type": "string"
-            },
-            "color": {
-                "type": "integer"
-            },
-            "hoist": {
-                "type": "boolean"
-            },
-            "mentionable": {
-                "type": "boolean"
-            },
-            "position": {
-                "type": "integer"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RolePositionUpdateSchema": {
-        "type": "array",
-        "items": {
-            "type": "object",
-            "properties": {
-                "id": {
-                    "type": "string"
-                },
-                "position": {
-                    "type": "integer"
-                }
-            },
-            "required": [
-                "id",
-                "position"
-            ]
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "ModifyGuildStickerSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "minLength": 2,
-                "maxLength": 30,
-                "type": "string"
-            },
-            "description": {
-                "maxLength": 100,
-                "type": "string"
-            },
-            "tags": {
-                "maxLength": 200,
-                "type": "string"
-            }
-        },
-        "required": [
-            "name",
-            "tags"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TemplateCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "TemplateModifySchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "VanityUrlSchema": {
-        "type": "object",
-        "properties": {
-            "code": {
-                "minLength": 1,
-                "maxLength": 20,
-                "type": "string"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "VoiceStateUpdateSchema": {
-        "type": "object",
-        "properties": {
-            "channel_id": {
-                "type": "string"
-            },
-            "guild_id": {
-                "type": "string"
-            },
-            "suppress": {
-                "type": "boolean"
-            },
-            "request_to_speak_timestamp": {
-                "type": "string",
-                "format": "date-time"
-            },
-            "self_mute": {
-                "type": "boolean"
-            },
-            "self_deaf": {
-                "type": "boolean"
-            },
-            "self_video": {
-                "type": "boolean"
-            }
-        },
-        "required": [
-            "channel_id"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "GuildUpdateWelcomeScreenSchema": {
-        "type": "object",
-        "properties": {
-            "welcome_channels": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "channel_id": {
-                            "type": "string"
-                        },
-                        "description": {
-                            "type": "string"
-                        },
-                        "emoji_id": {
-                            "type": "string"
-                        },
-                        "emoji_name": {
-                            "type": "string"
-                        }
-                    },
-                    "required": [
-                        "channel_id",
-                        "description",
-                        "emoji_name"
-                    ]
-                }
-            },
-            "enabled": {
-                "type": "boolean"
-            },
-            "description": {
-                "type": "string"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "WidgetModifySchema": {
-        "type": "object",
-        "properties": {
-            "enabled": {
-                "type": "boolean"
-            },
-            "channel_id": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "channel_id",
-            "enabled"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "GuildTemplateCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "avatar": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            }
-        },
-        "required": [
-            "name"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "UserProfileResponse": {
-        "type": "object",
-        "properties": {
-            "user": {
-                "$ref": "#/definitions/UserPublic"
-            },
-            "connected_accounts": {
-                "$ref": "#/definitions/PublicConnectedAccount"
-            },
-            "premium_guild_since": {
-                "type": "string",
-                "format": "date-time"
-            },
-            "premium_since": {
-                "type": "string",
-                "format": "date-time"
-            }
-        },
-        "required": [
-            "connected_accounts",
-            "user"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "DmChannelCreateSchema": {
-        "type": "object",
-        "properties": {
-            "name": {
-                "type": "string"
-            },
-            "recipients": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            }
-        },
-        "required": [
-            "recipients"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "UserModifySchema": {
-        "type": "object",
-        "properties": {
-            "username": {
-                "minLength": 1,
-                "maxLength": 100,
-                "type": "string"
-            },
-            "avatar": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "bio": {
-                "maxLength": 1024,
-                "type": "string"
-            },
-            "accent_color": {
-                "type": "integer"
-            },
-            "banner": {
-                "type": [
-                    "null",
-                    "string"
-                ]
-            },
-            "password": {
-                "type": "string"
-            },
-            "new_password": {
-                "type": "string"
-            },
-            "code": {
-                "type": "string"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RelationshipPutSchema": {
-        "type": "object",
-        "properties": {
-            "type": {
-                "enum": [
-                    1,
-                    2,
-                    3,
-                    4
-                ],
-                "type": "number"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "RelationshipPostSchema": {
-        "type": "object",
-        "properties": {
-            "discriminator": {
-                "type": "string"
-            },
-            "username": {
-                "type": "string"
-            }
-        },
-        "required": [
-            "discriminator",
-            "username"
-        ],
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    },
-    "UserSettingsSchema": {
-        "type": "object",
-        "properties": {
-            "afk_timeout": {
-                "type": "integer"
-            },
-            "allow_accessibility_detection": {
-                "type": "boolean"
-            },
-            "animate_emoji": {
-                "type": "boolean"
-            },
-            "animate_stickers": {
-                "type": "integer"
-            },
-            "contact_sync_enabled": {
-                "type": "boolean"
-            },
-            "convert_emoticons": {
-                "type": "boolean"
-            },
-            "custom_status": {
-                "type": "object",
-                "properties": {
-                    "emoji_id": {
-                        "type": "string"
-                    },
-                    "emoji_name": {
-                        "type": "string"
-                    },
-                    "expires_at": {
-                        "type": "integer"
-                    },
-                    "text": {
-                        "type": "string"
-                    }
-                }
-            },
-            "default_guilds_restricted": {
-                "type": "boolean"
-            },
-            "detect_platform_accounts": {
-                "type": "boolean"
-            },
-            "developer_mode": {
-                "type": "boolean"
-            },
-            "disable_games_tab": {
-                "type": "boolean"
-            },
-            "enable_tts_command": {
-                "type": "boolean"
-            },
-            "explicit_content_filter": {
-                "type": "integer"
-            },
-            "friend_source_flags": {
-                "type": "object",
-                "properties": {
-                    "all": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "all"
-                ]
-            },
-            "gateway_connected": {
-                "type": "boolean"
-            },
-            "gif_auto_play": {
-                "type": "boolean"
-            },
-            "guild_folders": {
-                "type": "array",
-                "items": {
-                    "type": "object",
-                    "properties": {
-                        "color": {
-                            "type": "integer"
-                        },
-                        "guild_ids": {
-                            "type": "array",
-                            "items": {
-                                "type": "string"
-                            }
-                        },
-                        "id": {
-                            "type": "integer"
-                        },
-                        "name": {
-                            "type": "string"
-                        }
-                    },
-                    "required": [
-                        "color",
-                        "guild_ids",
-                        "id",
-                        "name"
-                    ]
-                }
-            },
-            "guild_positions": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            },
-            "inline_attachment_media": {
-                "type": "boolean"
-            },
-            "inline_embed_media": {
-                "type": "boolean"
-            },
-            "locale": {
-                "type": "string"
-            },
-            "message_display_compact": {
-                "type": "boolean"
-            },
-            "native_phone_integration_enabled": {
-                "type": "boolean"
-            },
-            "render_embeds": {
-                "type": "boolean"
-            },
-            "render_reactions": {
-                "type": "boolean"
-            },
-            "restricted_guilds": {
-                "type": "array",
-                "items": {
-                    "type": "string"
-                }
-            },
-            "show_current_game": {
-                "type": "boolean"
-            },
-            "status": {
-                "enum": [
-                    "dnd",
-                    "idle",
-                    "offline",
-                    "online"
-                ],
-                "type": "string"
-            },
-            "stream_notifications_enabled": {
-                "type": "boolean"
-            },
-            "theme": {
-                "enum": [
-                    "dark",
-                    "white"
-                ],
-                "type": "string"
-            },
-            "timezone_offset": {
-                "type": "integer"
-            }
-        },
-        "definitions": {
-            "ChannelPermissionOverwriteType": {
-                "enum": [
-                    0,
-                    1
-                ],
-                "type": "number"
-            },
-            "Embed": {
-                "type": "object",
-                "properties": {
-                    "title": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            "article",
-                            "gifv",
-                            "image",
-                            "link",
-                            "rich",
-                            "video"
-                        ],
-                        "type": "string"
-                    },
-                    "description": {
-                        "type": "string"
-                    },
-                    "url": {
-                        "type": "string"
-                    },
-                    "timestamp": {
-                        "type": "string",
-                        "format": "date-time"
-                    },
-                    "color": {
-                        "type": "integer"
-                    },
-                    "footer": {
-                        "type": "object",
-                        "properties": {
-                            "text": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        },
-                        "required": [
-                            "text"
-                        ]
-                    },
-                    "image": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "thumbnail": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "video": {
-                        "$ref": "#/definitions/EmbedImage"
-                    },
-                    "provider": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "author": {
-                        "type": "object",
-                        "properties": {
-                            "name": {
-                                "type": "string"
-                            },
-                            "url": {
-                                "type": "string"
-                            },
-                            "icon_url": {
-                                "type": "string"
-                            },
-                            "proxy_icon_url": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "fields": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "name": {
-                                    "type": "string"
-                                },
-                                "value": {
-                                    "type": "string"
-                                },
-                                "inline": {
-                                    "type": "boolean"
-                                }
-                            },
-                            "required": [
-                                "name",
-                                "value"
-                            ]
-                        }
-                    }
-                }
-            },
-            "EmbedImage": {
-                "type": "object",
-                "properties": {
-                    "url": {
-                        "type": "string"
-                    },
-                    "proxy_url": {
-                        "type": "string"
-                    },
-                    "height": {
-                        "type": "integer"
-                    },
-                    "width": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "ChannelModifySchema": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "maxLength": 100,
-                        "type": "string"
-                    },
-                    "type": {
-                        "enum": [
-                            0,
-                            1,
-                            10,
-                            11,
-                            12,
-                            13,
-                            2,
-                            3,
-                            4,
-                            5,
-                            6
-                        ],
-                        "type": "number"
-                    },
-                    "topic": {
-                        "type": "string"
-                    },
-                    "icon": {
-                        "type": [
-                            "null",
-                            "string"
-                        ]
-                    },
-                    "bitrate": {
-                        "type": "integer"
-                    },
-                    "user_limit": {
-                        "type": "integer"
-                    },
-                    "rate_limit_per_user": {
-                        "type": "integer"
-                    },
-                    "position": {
-                        "type": "integer"
-                    },
-                    "permission_overwrites": {
-                        "type": "array",
-                        "items": {
-                            "type": "object",
-                            "properties": {
-                                "id": {
-                                    "type": "string"
-                                },
-                                "type": {
-                                    "$ref": "#/definitions/ChannelPermissionOverwriteType"
-                                },
-                                "allow": {
-                                    "type": "string"
-                                },
-                                "deny": {
-                                    "type": "string"
-                                }
-                            },
-                            "required": [
-                                "allow",
-                                "deny",
-                                "id",
-                                "type"
-                            ]
-                        }
-                    },
-                    "parent_id": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "nsfw": {
-                        "type": "boolean"
-                    },
-                    "rtc_region": {
-                        "type": "string"
-                    },
-                    "default_auto_archive_duration": {
-                        "type": "integer"
-                    }
-                }
-            },
-            "UserPublic": {
-                "type": "object",
-                "properties": {
-                    "username": {
-                        "type": "string"
-                    },
-                    "discriminator": {
-                        "type": "string"
-                    },
-                    "id": {
-                        "type": "string"
-                    },
-                    "public_flags": {
-                        "type": "integer"
-                    },
-                    "avatar": {
-                        "type": "string"
-                    },
-                    "accent_color": {
-                        "type": "integer"
-                    },
-                    "banner": {
-                        "type": "string"
-                    },
-                    "bio": {
-                        "type": "string"
-                    },
-                    "bot": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "bio",
-                    "bot",
-                    "discriminator",
-                    "id",
-                    "public_flags",
-                    "username"
-                ]
-            },
-            "PublicConnectedAccount": {
-                "type": "object",
-                "properties": {
-                    "name": {
-                        "type": "string"
-                    },
-                    "type": {
-                        "type": "string"
-                    },
-                    "verifie": {
-                        "type": "boolean"
-                    }
-                },
-                "required": [
-                    "name",
-                    "type",
-                    "verifie"
-                ]
-            }
-        },
-        "$schema": "http://json-schema.org/draft-07/schema#"
-    }
-}
\ No newline at end of file
+	"LoginSchema": {
+		"type": "object",
+		"properties": {
+			"login": {
+				"type": "string"
+			},
+			"password": {
+				"type": "string"
+			},
+			"undelete": {
+				"type": "boolean"
+			},
+			"captcha_key": {
+				"type": "string"
+			},
+			"login_source": {
+				"type": "string"
+			},
+			"gift_code_sku_id": {
+				"type": "string"
+			}
+		},
+		"required": ["login", "password"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RegisterSchema": {
+		"type": "object",
+		"properties": {
+			"username": {
+				"minLength": 2,
+				"maxLength": 32,
+				"type": "string"
+			},
+			"password": {
+				"minLength": 1,
+				"maxLength": 72,
+				"type": "string"
+			},
+			"consent": {
+				"type": "boolean"
+			},
+			"email": {
+				"format": "email",
+				"type": "string"
+			},
+			"fingerprint": {
+				"type": "string"
+			},
+			"invite": {
+				"type": "string"
+			},
+			"date_of_birth": {
+				"type": "string"
+			},
+			"gift_code_sku_id": {
+				"type": "string"
+			},
+			"captcha_key": {
+				"type": "string"
+			}
+		},
+		"required": ["consent", "username"],
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ChannelModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"type": {
+				"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+				"type": "number"
+			},
+			"topic": {
+				"type": "string"
+			},
+			"icon": {
+				"type": ["null", "string"]
+			},
+			"bitrate": {
+				"type": "integer"
+			},
+			"user_limit": {
+				"type": "integer"
+			},
+			"rate_limit_per_user": {
+				"type": "integer"
+			},
+			"position": {
+				"type": "integer"
+			},
+			"permission_overwrites": {
+				"type": "array",
+				"items": {
+					"type": "object",
+					"properties": {
+						"id": {
+							"type": "string"
+						},
+						"type": {
+							"$ref": "#/definitions/ChannelPermissionOverwriteType"
+						},
+						"allow": {
+							"type": "string"
+						},
+						"deny": {
+							"type": "string"
+						}
+					},
+					"required": ["allow", "deny", "id", "type"]
+				}
+			},
+			"parent_id": {
+				"type": "string"
+			},
+			"id": {
+				"type": "string"
+			},
+			"nsfw": {
+				"type": "boolean"
+			},
+			"rtc_region": {
+				"type": "string"
+			},
+			"default_auto_archive_duration": {
+				"type": "integer"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MessageCreateSchema": {
+		"type": "object",
+		"properties": {
+			"content": {
+				"type": "string"
+			},
+			"nonce": {
+				"type": "string"
+			},
+			"tts": {
+				"type": "boolean"
+			},
+			"flags": {
+				"type": "string"
+			},
+			"embeds": {
+				"type": "array",
+				"items": {
+					"$ref": "#/definitions/Embed"
+				}
+			},
+			"embed": {
+				"$ref": "#/definitions/Embed"
+			},
+			"allowed_mentions": {
+				"type": "object",
+				"properties": {
+					"parse": {
+						"type": "array",
+						"items": {
+							"type": "string"
+						}
+					},
+					"roles": {
+						"type": "array",
+						"items": {
+							"type": "string"
+						}
+					},
+					"users": {
+						"type": "array",
+						"items": {
+							"type": "string"
+						}
+					},
+					"replied_user": {
+						"type": "boolean"
+					}
+				}
+			},
+			"message_reference": {
+				"type": "object",
+				"properties": {
+					"message_id": {
+						"type": "string"
+					},
+					"channel_id": {
+						"type": "string"
+					},
+					"guild_id": {
+						"type": "string"
+					},
+					"fail_if_not_exists": {
+						"type": "boolean"
+					}
+				},
+				"required": ["channel_id", "message_id"]
+			},
+			"payload_json": {
+				"type": "string"
+			},
+			"file": {},
+			"attachments": {
+				"type": "array",
+				"items": {}
+			},
+			"sticker_ids": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"InviteCreateSchema": {
+		"type": "object",
+		"properties": {
+			"target_user_id": {
+				"type": "string"
+			},
+			"target_type": {
+				"type": "string"
+			},
+			"validate": {
+				"type": "string"
+			},
+			"max_age": {
+				"type": "integer"
+			},
+			"max_uses": {
+				"type": "integer"
+			},
+			"temporary": {
+				"type": "boolean"
+			},
+			"unique": {
+				"type": "boolean"
+			},
+			"target_user": {
+				"type": "string"
+			},
+			"target_user_type": {
+				"type": "integer"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MessageAcknowledgeSchema": {
+		"type": "object",
+		"properties": {
+			"manual": {
+				"type": "boolean"
+			},
+			"mention_count": {
+				"type": "integer"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"BulkDeleteSchema": {
+		"type": "object",
+		"properties": {
+			"messages": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"required": ["messages"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ChannelPermissionOverwriteSchema": {
+		"type": "object",
+		"properties": {
+			"allow": {
+				"type": "string"
+			},
+			"deny": {
+				"type": "string"
+			},
+			"id": {
+				"type": "string"
+			},
+			"type": {
+				"$ref": "#/definitions/ChannelPermissionOverwriteType"
+			}
+		},
+		"required": ["allow", "deny", "id", "type"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"WebhookCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"maxLength": 80,
+				"type": "string"
+			},
+			"avatar": {
+				"type": "string"
+			}
+		},
+		"required": ["avatar", "name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"BanCreateSchema": {
+		"type": "object",
+		"properties": {
+			"delete_message_days": {
+				"type": "string"
+			},
+			"reason": {
+				"type": "string"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ChannelReorderSchema": {
+		"type": "array",
+		"items": {
+			"type": "object",
+			"properties": {
+				"id": {
+					"type": "string"
+				},
+				"position": {
+					"type": "integer"
+				},
+				"lock_permissions": {
+					"type": "boolean"
+				},
+				"parent_id": {
+					"type": "string"
+				}
+			},
+			"required": ["id"]
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"EmojiCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"image": {
+				"type": "string"
+			},
+			"require_colons": {
+				"type": ["null", "boolean"]
+			},
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"required": ["image"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"EmojiModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"GuildCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"region": {
+				"type": "string"
+			},
+			"icon": {
+				"type": ["null", "string"]
+			},
+			"channels": {
+				"type": "array",
+				"items": {
+					"$ref": "#/definitions/ChannelModifySchema"
+				}
+			},
+			"guild_template_code": {
+				"type": "string"
+			},
+			"system_channel_id": {
+				"type": "string"
+			},
+			"rules_channel_id": {
+				"type": "string"
+			}
+		},
+		"required": ["name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"GuildUpdateSchema": {
+		"type": "object",
+		"properties": {
+			"banner": {
+				"type": ["null", "string"]
+			},
+			"splash": {
+				"type": ["null", "string"]
+			},
+			"description": {
+				"type": "string"
+			},
+			"features": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			},
+			"verification_level": {
+				"type": "integer"
+			},
+			"default_message_notifications": {
+				"type": "integer"
+			},
+			"system_channel_flags": {
+				"type": "integer"
+			},
+			"explicit_content_filter": {
+				"type": "integer"
+			},
+			"public_updates_channel_id": {
+				"type": "string"
+			},
+			"afk_timeout": {
+				"type": "integer"
+			},
+			"afk_channel_id": {
+				"type": "string"
+			},
+			"preferred_locale": {
+				"type": "string"
+			},
+			"name": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"region": {
+				"type": "string"
+			},
+			"icon": {
+				"type": ["null", "string"]
+			},
+			"guild_template_code": {
+				"type": "string"
+			},
+			"system_channel_id": {
+				"type": "string"
+			},
+			"rules_channel_id": {
+				"type": "string"
+			}
+		},
+		"required": ["name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MemberChangeSchema": {
+		"type": "object",
+		"properties": {
+			"roles": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"MemberNickChangeSchema": {
+		"type": "object",
+		"properties": {
+			"nick": {
+				"type": "string"
+			}
+		},
+		"required": ["nick"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RoleModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"permissions": {
+				"type": "string"
+			},
+			"color": {
+				"type": "integer"
+			},
+			"hoist": {
+				"type": "boolean"
+			},
+			"mentionable": {
+				"type": "boolean"
+			},
+			"position": {
+				"type": "integer"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RolePositionUpdateSchema": {
+		"type": "array",
+		"items": {
+			"type": "object",
+			"properties": {
+				"id": {
+					"type": "string"
+				},
+				"position": {
+					"type": "integer"
+				}
+			},
+			"required": ["id", "position"]
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"ModifyGuildStickerSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"minLength": 2,
+				"maxLength": 30,
+				"type": "string"
+			},
+			"description": {
+				"maxLength": 100,
+				"type": "string"
+			},
+			"tags": {
+				"maxLength": 200,
+				"type": "string"
+			}
+		},
+		"required": ["name", "tags"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TemplateCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"required": ["name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"TemplateModifySchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"required": ["name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"VanityUrlSchema": {
+		"type": "object",
+		"properties": {
+			"code": {
+				"minLength": 1,
+				"maxLength": 20,
+				"type": "string"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"VoiceStateUpdateSchema": {
+		"type": "object",
+		"properties": {
+			"channel_id": {
+				"type": "string"
+			},
+			"guild_id": {
+				"type": "string"
+			},
+			"suppress": {
+				"type": "boolean"
+			},
+			"request_to_speak_timestamp": {
+				"type": "string",
+				"format": "date-time"
+			},
+			"self_mute": {
+				"type": "boolean"
+			},
+			"self_deaf": {
+				"type": "boolean"
+			},
+			"self_video": {
+				"type": "boolean"
+			}
+		},
+		"required": ["channel_id"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"GuildUpdateWelcomeScreenSchema": {
+		"type": "object",
+		"properties": {
+			"welcome_channels": {
+				"type": "array",
+				"items": {
+					"type": "object",
+					"properties": {
+						"channel_id": {
+							"type": "string"
+						},
+						"description": {
+							"type": "string"
+						},
+						"emoji_id": {
+							"type": "string"
+						},
+						"emoji_name": {
+							"type": "string"
+						}
+					},
+					"required": ["channel_id", "description", "emoji_name"]
+				}
+			},
+			"enabled": {
+				"type": "boolean"
+			},
+			"description": {
+				"type": "string"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"WidgetModifySchema": {
+		"type": "object",
+		"properties": {
+			"enabled": {
+				"type": "boolean"
+			},
+			"channel_id": {
+				"type": "string"
+			}
+		},
+		"required": ["channel_id", "enabled"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"GuildTemplateCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"avatar": {
+				"type": ["null", "string"]
+			}
+		},
+		"required": ["name"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"UserProfileResponse": {
+		"type": "object",
+		"properties": {
+			"user": {
+				"$ref": "#/definitions/UserPublic"
+			},
+			"connected_accounts": {
+				"$ref": "#/definitions/PublicConnectedAccount"
+			},
+			"premium_guild_since": {
+				"type": "string",
+				"format": "date-time"
+			},
+			"premium_since": {
+				"type": "string",
+				"format": "date-time"
+			}
+		},
+		"required": ["connected_accounts", "user"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"DmChannelCreateSchema": {
+		"type": "object",
+		"properties": {
+			"name": {
+				"type": "string"
+			},
+			"recipients": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			}
+		},
+		"required": ["recipients"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"UserModifySchema": {
+		"type": "object",
+		"properties": {
+			"username": {
+				"minLength": 1,
+				"maxLength": 100,
+				"type": "string"
+			},
+			"avatar": {
+				"type": ["null", "string"]
+			},
+			"bio": {
+				"maxLength": 1024,
+				"type": "string"
+			},
+			"accent_color": {
+				"type": "integer"
+			},
+			"banner": {
+				"type": ["null", "string"]
+			},
+			"password": {
+				"type": "string"
+			},
+			"new_password": {
+				"type": "string"
+			},
+			"code": {
+				"type": "string"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RelationshipPutSchema": {
+		"type": "object",
+		"properties": {
+			"type": {
+				"enum": [1, 2, 3, 4],
+				"type": "number"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"RelationshipPostSchema": {
+		"type": "object",
+		"properties": {
+			"discriminator": {
+				"type": "string"
+			},
+			"username": {
+				"type": "string"
+			}
+		},
+		"required": ["discriminator", "username"],
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	},
+	"UserSettingsSchema": {
+		"type": "object",
+		"properties": {
+			"afk_timeout": {
+				"type": "integer"
+			},
+			"allow_accessibility_detection": {
+				"type": "boolean"
+			},
+			"animate_emoji": {
+				"type": "boolean"
+			},
+			"animate_stickers": {
+				"type": "integer"
+			},
+			"contact_sync_enabled": {
+				"type": "boolean"
+			},
+			"convert_emoticons": {
+				"type": "boolean"
+			},
+			"custom_status": {
+				"type": "object",
+				"properties": {
+					"emoji_id": {
+						"type": "string"
+					},
+					"emoji_name": {
+						"type": "string"
+					},
+					"expires_at": {
+						"type": "integer"
+					},
+					"text": {
+						"type": "string"
+					}
+				}
+			},
+			"default_guilds_restricted": {
+				"type": "boolean"
+			},
+			"detect_platform_accounts": {
+				"type": "boolean"
+			},
+			"developer_mode": {
+				"type": "boolean"
+			},
+			"disable_games_tab": {
+				"type": "boolean"
+			},
+			"enable_tts_command": {
+				"type": "boolean"
+			},
+			"explicit_content_filter": {
+				"type": "integer"
+			},
+			"friend_source_flags": {
+				"type": "object",
+				"properties": {
+					"all": {
+						"type": "boolean"
+					}
+				},
+				"required": ["all"]
+			},
+			"gateway_connected": {
+				"type": "boolean"
+			},
+			"gif_auto_play": {
+				"type": "boolean"
+			},
+			"guild_folders": {
+				"type": "array",
+				"items": {
+					"type": "object",
+					"properties": {
+						"color": {
+							"type": "integer"
+						},
+						"guild_ids": {
+							"type": "array",
+							"items": {
+								"type": "string"
+							}
+						},
+						"id": {
+							"type": "integer"
+						},
+						"name": {
+							"type": "string"
+						}
+					},
+					"required": ["color", "guild_ids", "id", "name"]
+				}
+			},
+			"guild_positions": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			},
+			"inline_attachment_media": {
+				"type": "boolean"
+			},
+			"inline_embed_media": {
+				"type": "boolean"
+			},
+			"locale": {
+				"type": "string"
+			},
+			"message_display_compact": {
+				"type": "boolean"
+			},
+			"native_phone_integration_enabled": {
+				"type": "boolean"
+			},
+			"render_embeds": {
+				"type": "boolean"
+			},
+			"render_reactions": {
+				"type": "boolean"
+			},
+			"restricted_guilds": {
+				"type": "array",
+				"items": {
+					"type": "string"
+				}
+			},
+			"show_current_game": {
+				"type": "boolean"
+			},
+			"status": {
+				"enum": ["dnd", "idle", "offline", "online"],
+				"type": "string"
+			},
+			"stream_notifications_enabled": {
+				"type": "boolean"
+			},
+			"theme": {
+				"enum": ["dark", "white"],
+				"type": "string"
+			},
+			"timezone_offset": {
+				"type": "integer"
+			}
+		},
+		"definitions": {
+			"ChannelPermissionOverwriteType": {
+				"enum": [0, 1],
+				"type": "number"
+			},
+			"Embed": {
+				"type": "object",
+				"properties": {
+					"title": {
+						"type": "string"
+					},
+					"type": {
+						"enum": ["article", "gifv", "image", "link", "rich", "video"],
+						"type": "string"
+					},
+					"description": {
+						"type": "string"
+					},
+					"url": {
+						"type": "string"
+					},
+					"timestamp": {
+						"type": "string",
+						"format": "date-time"
+					},
+					"color": {
+						"type": "integer"
+					},
+					"footer": {
+						"type": "object",
+						"properties": {
+							"text": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						},
+						"required": ["text"]
+					},
+					"image": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"thumbnail": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"video": {
+						"$ref": "#/definitions/EmbedImage"
+					},
+					"provider": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							}
+						}
+					},
+					"author": {
+						"type": "object",
+						"properties": {
+							"name": {
+								"type": "string"
+							},
+							"url": {
+								"type": "string"
+							},
+							"icon_url": {
+								"type": "string"
+							},
+							"proxy_icon_url": {
+								"type": "string"
+							}
+						}
+					},
+					"fields": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"name": {
+									"type": "string"
+								},
+								"value": {
+									"type": "string"
+								},
+								"inline": {
+									"type": "boolean"
+								}
+							},
+							"required": ["name", "value"]
+						}
+					}
+				}
+			},
+			"EmbedImage": {
+				"type": "object",
+				"properties": {
+					"url": {
+						"type": "string"
+					},
+					"proxy_url": {
+						"type": "string"
+					},
+					"height": {
+						"type": "integer"
+					},
+					"width": {
+						"type": "integer"
+					}
+				}
+			},
+			"ChannelModifySchema": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"maxLength": 100,
+						"type": "string"
+					},
+					"type": {
+						"enum": [0, 1, 10, 11, 12, 13, 2, 3, 4, 5, 6],
+						"type": "number"
+					},
+					"topic": {
+						"type": "string"
+					},
+					"icon": {
+						"type": ["null", "string"]
+					},
+					"bitrate": {
+						"type": "integer"
+					},
+					"user_limit": {
+						"type": "integer"
+					},
+					"rate_limit_per_user": {
+						"type": "integer"
+					},
+					"position": {
+						"type": "integer"
+					},
+					"permission_overwrites": {
+						"type": "array",
+						"items": {
+							"type": "object",
+							"properties": {
+								"id": {
+									"type": "string"
+								},
+								"type": {
+									"$ref": "#/definitions/ChannelPermissionOverwriteType"
+								},
+								"allow": {
+									"type": "string"
+								},
+								"deny": {
+									"type": "string"
+								}
+							},
+							"required": ["allow", "deny", "id", "type"]
+						}
+					},
+					"parent_id": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"nsfw": {
+						"type": "boolean"
+					},
+					"rtc_region": {
+						"type": "string"
+					},
+					"default_auto_archive_duration": {
+						"type": "integer"
+					}
+				}
+			},
+			"UserPublic": {
+				"type": "object",
+				"properties": {
+					"username": {
+						"type": "string"
+					},
+					"discriminator": {
+						"type": "string"
+					},
+					"id": {
+						"type": "string"
+					},
+					"public_flags": {
+						"type": "integer"
+					},
+					"avatar": {
+						"type": "string"
+					},
+					"accent_color": {
+						"type": "integer"
+					},
+					"banner": {
+						"type": "string"
+					},
+					"bio": {
+						"type": "string"
+					},
+					"bot": {
+						"type": "boolean"
+					}
+				},
+				"required": ["bio", "bot", "discriminator", "id", "public_flags", "username"]
+			},
+			"PublicConnectedAccount": {
+				"type": "object",
+				"properties": {
+					"name": {
+						"type": "string"
+					},
+					"type": {
+						"type": "string"
+					},
+					"verifie": {
+						"type": "boolean"
+					}
+				},
+				"required": ["name", "type", "verifie"]
+			}
+		},
+		"$schema": "http://json-schema.org/draft-07/schema#"
+	}
+}
diff --git a/api/crowdin.yml b/api/crowdin.yml
index bf531df9..7228117f 100644
--- a/api/crowdin.yml
+++ b/api/crowdin.yml
@@ -1,3 +1,3 @@
 files:
-  - source: /locales/en/*.json
-    translation: /locales/%two_letters_code%/%original_file_name%
+    - source: /locales/en/*.json
+      translation: /locales/%two_letters_code%/%original_file_name%
diff --git a/api/locales/af/common.json b/api/locales/af/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/af/common.json
+++ b/api/locales/af/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/ar/common.json b/api/locales/ar/common.json
index e941bf54..09a4915a 100644
--- a/api/locales/ar/common.json
+++ b/api/locales/ar/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "هذا الحقل مطلوب",
-    "BASE_TYPE_STRING": "يجب أن يكون هذا الحقل سلسلة من الأحرف",
-    "BASE_TYPE_NUMBER": "يجب أن يكون هذا الحقل رقم",
-    "BASE_TYPE_BIGINT": "يجب أن يكون هذا الحقل أكبر",
-    "BASE_TYPE_BOOLEAN": "يجب أن يكون هذا الحقل منطقيا",
-    "BASE_TYPE_CHOICES": "يجب أن يكون هذا الحقل واحدا من ({{types}})",
-    "BASE_TYPE_CLASS": "يجب أن يكون هذا الحقل مثيل {{type}}",
-    "BASE_TYPE_OBJECT": "يجب أن يكون هذا الحقل كائناً",
-    "BASE_TYPE_ARRAY": "يجب أن يكون هذا الحقل مصفوفة",
-    "UNKOWN_FIELD": "مفتاح غير معروف: {{key}}",
-    "BASE_TYPE_CONSTANT": "يجب أن يكون هذا الحقل {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "عنوان البريد الإلكتروني ليس مشكّل جيدا",
-    "DATE_TYPE_PARSE": "لا يمكن تحليل {{date}}. يجب أن يكون ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "يجب أن يكون بين {{length}} في الطول"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "هذا الحقل مطلوب",
+		"BASE_TYPE_STRING": "يجب أن يكون هذا الحقل سلسلة من الأحرف",
+		"BASE_TYPE_NUMBER": "يجب أن يكون هذا الحقل رقم",
+		"BASE_TYPE_BIGINT": "يجب أن يكون هذا الحقل أكبر",
+		"BASE_TYPE_BOOLEAN": "يجب أن يكون هذا الحقل منطقيا",
+		"BASE_TYPE_CHOICES": "يجب أن يكون هذا الحقل واحدا من ({{types}})",
+		"BASE_TYPE_CLASS": "يجب أن يكون هذا الحقل مثيل {{type}}",
+		"BASE_TYPE_OBJECT": "يجب أن يكون هذا الحقل كائناً",
+		"BASE_TYPE_ARRAY": "يجب أن يكون هذا الحقل مصفوفة",
+		"UNKOWN_FIELD": "مفتاح غير معروف: {{key}}",
+		"BASE_TYPE_CONSTANT": "يجب أن يكون هذا الحقل {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "عنوان البريد الإلكتروني ليس مشكّل جيدا",
+		"DATE_TYPE_PARSE": "لا يمكن تحليل {{date}}. يجب أن يكون ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "يجب أن يكون بين {{length}} في الطول"
+	}
+}
diff --git a/api/locales/be/common.json b/api/locales/be/common.json
index 56500818..1b3115cc 100644
--- a/api/locales/be/common.json
+++ b/api/locales/be/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым",
-    "BASE_TYPE_STRING": "Гэта поле павінна быць string",
-    "BASE_TYPE_NUMBER": "Гэта поле павінна быць number",
-    "BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint",
-    "BASE_TYPE_BOOLEAN": "Гэта поле павінна быць boolean",
-    "BASE_TYPE_CHOICES": "Гэта поле павінна быць адным з ({{types}})",
-    "BASE_TYPE_CLASS": "Гэта поле павінна быць асобнікам {{type}}",
-    "BASE_TYPE_OBJECT": "Гэта поле павінна быць аб'ектам",
-    "BASE_TYPE_ARRAY": "Гэта поле павінна быць масівам",
-    "UNKOWN_FIELD": "Невядомае поле: {{key}}",
-    "BASE_TYPE_CONSTANT": "Гэта поле павінна быць {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Няправільны фармат адрасы электроннай пошты",
-    "DATE_TYPE_PARSE": "Немагчыма разабраць {{date}}. Яна павінна быць у ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Павінна быць паміж {{length}} у даўжыню"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Гэта поле з'яўляецца абавязковым",
+		"BASE_TYPE_STRING": "Гэта поле павінна быць string",
+		"BASE_TYPE_NUMBER": "Гэта поле павінна быць number",
+		"BASE_TYPE_BIGINT": "Гэта поле павінна быць bigint",
+		"BASE_TYPE_BOOLEAN": "Гэта поле павінна быць boolean",
+		"BASE_TYPE_CHOICES": "Гэта поле павінна быць адным з ({{types}})",
+		"BASE_TYPE_CLASS": "Гэта поле павінна быць асобнікам {{type}}",
+		"BASE_TYPE_OBJECT": "Гэта поле павінна быць аб'ектам",
+		"BASE_TYPE_ARRAY": "Гэта поле павінна быць масівам",
+		"UNKOWN_FIELD": "Невядомае поле: {{key}}",
+		"BASE_TYPE_CONSTANT": "Гэта поле павінна быць {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Няправільны фармат адрасы электроннай пошты",
+		"DATE_TYPE_PARSE": "Немагчыма разабраць {{date}}. Яна павінна быць у ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Павінна быць паміж {{length}} у даўжыню"
+	}
+}
diff --git a/api/locales/bg/common.json b/api/locales/bg/common.json
index 8003eccf..dca90717 100644
--- a/api/locales/bg/common.json
+++ b/api/locales/bg/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Това поле е задължително",
-    "BASE_TYPE_STRING": "Това поле трябва да е низ",
-    "BASE_TYPE_NUMBER": "Това поле трябва да е число",
-    "BASE_TYPE_BIGINT": "Това поле трябва да е голямо",
-    "BASE_TYPE_BOOLEAN": "Това поле трябва да бъде булево",
-    "BASE_TYPE_CHOICES": "Това поле трябва да бъде едно от ({{types}})",
-    "BASE_TYPE_CLASS": "Това поле трябва да бъде екземпляр на {{type}}",
-    "BASE_TYPE_OBJECT": "Това поле трябва да бъде обект",
-    "BASE_TYPE_ARRAY": "Това поле трябва да бъде масив",
-    "UNKOWN_FIELD": "Непознат ключ: {{key}}",
-    "BASE_TYPE_CONSTANT": "Това поле трябва да е {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Невалиден имейл адрес",
-    "DATE_TYPE_PARSE": "Не може да се анализира {{date}}. Трябва да е ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Трябва да е с дължина между {{length}}"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Това поле е задължително",
+		"BASE_TYPE_STRING": "Това поле трябва да е низ",
+		"BASE_TYPE_NUMBER": "Това поле трябва да е число",
+		"BASE_TYPE_BIGINT": "Това поле трябва да е голямо",
+		"BASE_TYPE_BOOLEAN": "Това поле трябва да бъде булево",
+		"BASE_TYPE_CHOICES": "Това поле трябва да бъде едно от ({{types}})",
+		"BASE_TYPE_CLASS": "Това поле трябва да бъде екземпляр на {{type}}",
+		"BASE_TYPE_OBJECT": "Това поле трябва да бъде обект",
+		"BASE_TYPE_ARRAY": "Това поле трябва да бъде масив",
+		"UNKOWN_FIELD": "Непознат ключ: {{key}}",
+		"BASE_TYPE_CONSTANT": "Това поле трябва да е {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Невалиден имейл адрес",
+		"DATE_TYPE_PARSE": "Не може да се анализира {{date}}. Трябва да е ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Трябва да е с дължина между {{length}}"
+	}
+}
diff --git a/api/locales/ca/common.json b/api/locales/ca/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/ca/common.json
+++ b/api/locales/ca/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/cs/common.json b/api/locales/cs/common.json
index c1dd9ba4..61d70a40 100644
--- a/api/locales/cs/common.json
+++ b/api/locales/cs/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Toto pole je povinné",
-    "BASE_TYPE_STRING": "Toto pole musí být řetězec",
-    "BASE_TYPE_NUMBER": "Toto pole musí být číslo",
-    "BASE_TYPE_BIGINT": "Toto pole musí být velké",
-    "BASE_TYPE_BOOLEAN": "Toto pole musí být logická hodnota",
-    "BASE_TYPE_CHOICES": "Toto pole musí být jedno z ({{types}})",
-    "BASE_TYPE_CLASS": "Toto pole musí být instancí {{type}}",
-    "BASE_TYPE_OBJECT": "Toto pole musí být objekt",
-    "BASE_TYPE_ARRAY": "Toto pole musí být pole",
-    "UNKOWN_FIELD": "Neznámý klíč: {{key}}",
-    "BASE_TYPE_CONSTANT": "Toto pole musí být {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Není dobře vytvořená e-mailová adresa",
-    "DATE_TYPE_PARSE": "Nelze naparsovat {{date}}. Mělo by být ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Musí být mezi {{length}} délkou"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Toto pole je povinné",
+		"BASE_TYPE_STRING": "Toto pole musí být řetězec",
+		"BASE_TYPE_NUMBER": "Toto pole musí být číslo",
+		"BASE_TYPE_BIGINT": "Toto pole musí být velké",
+		"BASE_TYPE_BOOLEAN": "Toto pole musí být logická hodnota",
+		"BASE_TYPE_CHOICES": "Toto pole musí být jedno z ({{types}})",
+		"BASE_TYPE_CLASS": "Toto pole musí být instancí {{type}}",
+		"BASE_TYPE_OBJECT": "Toto pole musí být objekt",
+		"BASE_TYPE_ARRAY": "Toto pole musí být pole",
+		"UNKOWN_FIELD": "Neznámý klíč: {{key}}",
+		"BASE_TYPE_CONSTANT": "Toto pole musí být {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Není dobře vytvořená e-mailová adresa",
+		"DATE_TYPE_PARSE": "Nelze naparsovat {{date}}. Mělo by být ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Musí být mezi {{length}} délkou"
+	}
+}
diff --git a/api/locales/da/common.json b/api/locales/da/common.json
index da791f4a..d307d064 100644
--- a/api/locales/da/common.json
+++ b/api/locales/da/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Dette felt er påkrævet",
-    "BASE_TYPE_STRING": "Dette felt skal være en streng",
-    "BASE_TYPE_NUMBER": "Dette felt skal være et tal",
-    "BASE_TYPE_BIGINT": "Dette felt skal være en bigint",
-    "BASE_TYPE_BOOLEAN": "Dette felt skal være en boolsk",
-    "BASE_TYPE_CHOICES": "Dette felt skal være et af ({{types}})",
-    "BASE_TYPE_CLASS": "Dette felt skal være en instans på {{type}}",
-    "BASE_TYPE_OBJECT": "Dette felt skal være et objekt",
-    "BASE_TYPE_ARRAY": "Dette felt skal være et array",
-    "UNKOWN_FIELD": "Ukendt nøgle: {{key}}",
-    "BASE_TYPE_CONSTANT": "Dette felt skal være {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Ikke en velformet e-mailadresse",
-    "DATE_TYPE_PARSE": "Kunne ikke fortolke {{date}}. Bør være ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Skal være mellem {{length}} i længden"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dette felt er påkrævet",
+		"BASE_TYPE_STRING": "Dette felt skal være en streng",
+		"BASE_TYPE_NUMBER": "Dette felt skal være et tal",
+		"BASE_TYPE_BIGINT": "Dette felt skal være en bigint",
+		"BASE_TYPE_BOOLEAN": "Dette felt skal være en boolsk",
+		"BASE_TYPE_CHOICES": "Dette felt skal være et af ({{types}})",
+		"BASE_TYPE_CLASS": "Dette felt skal være en instans på {{type}}",
+		"BASE_TYPE_OBJECT": "Dette felt skal være et objekt",
+		"BASE_TYPE_ARRAY": "Dette felt skal være et array",
+		"UNKOWN_FIELD": "Ukendt nøgle: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dette felt skal være {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Ikke en velformet e-mailadresse",
+		"DATE_TYPE_PARSE": "Kunne ikke fortolke {{date}}. Bør være ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Skal være mellem {{length}} i længden"
+	}
+}
diff --git a/api/locales/de/common.json b/api/locales/de/common.json
index 980d7b80..39f38c49 100644
--- a/api/locales/de/common.json
+++ b/api/locales/de/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Dieses Feld ist erforderlich",
-    "BASE_TYPE_STRING": "Dieses Feld muss ein String sein",
-    "BASE_TYPE_NUMBER": "Dieses Feld muss eine Zahl sein",
-    "BASE_TYPE_BIGINT": "Dieses Feld muss ein bigint sein",
-    "BASE_TYPE_BOOLEAN": "Dieses Feld muss ein boolean sein",
-    "BASE_TYPE_CHOICES": "Dieses Feld muss eines von ({{types}}) sein",
-    "BASE_TYPE_CLASS": "Dieses Feld muss {{type}} sein",
-    "BASE_TYPE_OBJECT": "Dieses Feld muss ein Objekt sein",
-    "BASE_TYPE_ARRAY": "Dieses Feld muss ein Array sein",
-    "UNKOWN_FIELD": "Unbekanntes Feld: {{key}}",
-    "BASE_TYPE_CONSTANT": "Dieses Feld muss {{value}} sein",
-    "EMAIL_TYPE_INVALID_EMAIL": "Keine gültige E-Mail-Adresse",
-    "DATE_TYPE_PARSE": "Konnte {{date}} nicht lesen. Muss ISO8601 entsprechen",
-    "BASE_TYPE_BAD_LENGTH": "Muss zwischen {{length}} lang sein"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dieses Feld ist erforderlich",
+		"BASE_TYPE_STRING": "Dieses Feld muss ein String sein",
+		"BASE_TYPE_NUMBER": "Dieses Feld muss eine Zahl sein",
+		"BASE_TYPE_BIGINT": "Dieses Feld muss ein bigint sein",
+		"BASE_TYPE_BOOLEAN": "Dieses Feld muss ein boolean sein",
+		"BASE_TYPE_CHOICES": "Dieses Feld muss eines von ({{types}}) sein",
+		"BASE_TYPE_CLASS": "Dieses Feld muss {{type}} sein",
+		"BASE_TYPE_OBJECT": "Dieses Feld muss ein Objekt sein",
+		"BASE_TYPE_ARRAY": "Dieses Feld muss ein Array sein",
+		"UNKOWN_FIELD": "Unbekanntes Feld: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dieses Feld muss {{value}} sein",
+		"EMAIL_TYPE_INVALID_EMAIL": "Keine gültige E-Mail-Adresse",
+		"DATE_TYPE_PARSE": "Konnte {{date}} nicht lesen. Muss ISO8601 entsprechen",
+		"BASE_TYPE_BAD_LENGTH": "Muss zwischen {{length}} lang sein"
+	}
+}
diff --git a/api/locales/el/common.json b/api/locales/el/common.json
index d7e7cc7b..f4857cdc 100644
--- a/api/locales/el/common.json
+++ b/api/locales/el/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Αυτό το πεδίο είναι υποχρεωτικό",
-    "BASE_TYPE_STRING": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά",
-    "BASE_TYPE_NUMBER": "Αυτό το πεδίο πρέπει να είναι αριθμός",
-    "BASE_TYPE_BIGINT": "Αυτό το πεδίο πρέπει να είναι μεγαλοπρεπής",
-    "BASE_TYPE_BOOLEAN": "Αυτό το πεδίο πρέπει να είναι boolean",
-    "BASE_TYPE_CHOICES": "Αυτό το πεδίο πρέπει να είναι ένα από{{types}})",
-    "BASE_TYPE_CLASS": "Αυτό το πεδίο πρέπει να είναι ένα παράδειγμα {{type}}",
-    "BASE_TYPE_OBJECT": "Αυτό το πεδίο πρέπει να είναι αντικείμενο",
-    "BASE_TYPE_ARRAY": "Αυτό το πεδίο πρέπει να είναι ένας πίνακας",
-    "UNKOWN_FIELD": "Άγνωστο κλειδί: {{key}}",
-    "BASE_TYPE_CONSTANT": "Αυτό το πεδίο πρέπει να είναι {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Δεν είναι καλά σχηματισμένη διεύθυνση ηλεκτρονικού ταχυδρομείου",
-    "DATE_TYPE_PARSE": "Αδυναμία ανάλυσης του {{date}}. Πρέπει να είναι ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Πρέπει να είναι μεταξύ {{length}} σε μήκος"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Αυτό το πεδίο είναι υποχρεωτικό",
+		"BASE_TYPE_STRING": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά",
+		"BASE_TYPE_NUMBER": "Αυτό το πεδίο πρέπει να είναι αριθμός",
+		"BASE_TYPE_BIGINT": "Αυτό το πεδίο πρέπει να είναι μεγαλοπρεπής",
+		"BASE_TYPE_BOOLEAN": "Αυτό το πεδίο πρέπει να είναι boolean",
+		"BASE_TYPE_CHOICES": "Αυτό το πεδίο πρέπει να είναι ένα από{{types}})",
+		"BASE_TYPE_CLASS": "Αυτό το πεδίο πρέπει να είναι ένα παράδειγμα {{type}}",
+		"BASE_TYPE_OBJECT": "Αυτό το πεδίο πρέπει να είναι αντικείμενο",
+		"BASE_TYPE_ARRAY": "Αυτό το πεδίο πρέπει να είναι ένας πίνακας",
+		"UNKOWN_FIELD": "Άγνωστο κλειδί: {{key}}",
+		"BASE_TYPE_CONSTANT": "Αυτό το πεδίο πρέπει να είναι {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Δεν είναι καλά σχηματισμένη διεύθυνση ηλεκτρονικού ταχυδρομείου",
+		"DATE_TYPE_PARSE": "Αδυναμία ανάλυσης του {{date}}. Πρέπει να είναι ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Πρέπει να είναι μεταξύ {{length}} σε μήκος"
+	}
+}
diff --git a/api/locales/en/common.json b/api/locales/en/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/en/common.json
+++ b/api/locales/en/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/eo/common.json b/api/locales/eo/common.json
index 6ff6d4cf..76a72960 100644
--- a/api/locales/eo/common.json
+++ b/api/locales/eo/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Tio kampo estas bezona",
-    "BASE_TYPE_STRING": "Tio kampo devas string",
-    "BASE_TYPE_NUMBER": "Tio kampo devas numbero",
-    "BASE_TYPE_BIGINT": "Tio kampo devas bigint",
-    "BASE_TYPE_BOOLEAN": "Tio kampo devas bulea",
-    "BASE_TYPE_CHOICES": "Tio kampo devas unu de ({{types}})",
-    "BASE_TYPE_CLASS": "Tio kampo devas kazo de {{type}}",
-    "BASE_TYPE_OBJECT": "Tio kampo devas objekto",
-    "BASE_TYPE_ARRAY": "Tio kampo devas tabelo",
-    "UNKOWN_FIELD": "Nekonata ŝlosilo: {{key}}",
-    "BASE_TYPE_CONSTANT": "Tio kampo devas {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Formado de retpoŝto estas nevalida",
-    "DATE_TYPE_PARSE": "Nevalida dato {{date}}. Devas ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Devas sub {{length}} en longo"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Tio kampo estas bezona",
+		"BASE_TYPE_STRING": "Tio kampo devas string",
+		"BASE_TYPE_NUMBER": "Tio kampo devas numbero",
+		"BASE_TYPE_BIGINT": "Tio kampo devas bigint",
+		"BASE_TYPE_BOOLEAN": "Tio kampo devas bulea",
+		"BASE_TYPE_CHOICES": "Tio kampo devas unu de ({{types}})",
+		"BASE_TYPE_CLASS": "Tio kampo devas kazo de {{type}}",
+		"BASE_TYPE_OBJECT": "Tio kampo devas objekto",
+		"BASE_TYPE_ARRAY": "Tio kampo devas tabelo",
+		"UNKOWN_FIELD": "Nekonata ŝlosilo: {{key}}",
+		"BASE_TYPE_CONSTANT": "Tio kampo devas {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Formado de retpoŝto estas nevalida",
+		"DATE_TYPE_PARSE": "Nevalida dato {{date}}. Devas ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Devas sub {{length}} en longo"
+	}
+}
diff --git a/api/locales/es/common.json b/api/locales/es/common.json
index bf77d43c..f0a48bd4 100644
--- a/api/locales/es/common.json
+++ b/api/locales/es/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Este campo es obligatorio",
-    "BASE_TYPE_STRING": "Este campo debe ser un texto",
-    "BASE_TYPE_NUMBER": "Este campo debe ser un número",
-    "BASE_TYPE_BIGINT": "Este campo debe ser un tamaño grande",
-    "BASE_TYPE_BOOLEAN": "Este campo debe ser un boolean",
-    "BASE_TYPE_CHOICES": "Este campo debe ser uno de ({{types}})",
-    "BASE_TYPE_CLASS": "Este campo debe ser una instancia de {{type}}",
-    "BASE_TYPE_OBJECT": "Este campo debe ser un objeto",
-    "BASE_TYPE_ARRAY": "Este campo debe ser una matriz",
-    "UNKOWN_FIELD": "Clave desconocida: {{key}}",
-    "BASE_TYPE_CONSTANT": "Este campo debe ser {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "No es una dirección de email bien formada",
-    "DATE_TYPE_PARSE": "No se pudo analizar {{date}}. Debe ser ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Debe estar entre {{length}} de longitud"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Este campo es obligatorio",
+		"BASE_TYPE_STRING": "Este campo debe ser un texto",
+		"BASE_TYPE_NUMBER": "Este campo debe ser un número",
+		"BASE_TYPE_BIGINT": "Este campo debe ser un tamaño grande",
+		"BASE_TYPE_BOOLEAN": "Este campo debe ser un boolean",
+		"BASE_TYPE_CHOICES": "Este campo debe ser uno de ({{types}})",
+		"BASE_TYPE_CLASS": "Este campo debe ser una instancia de {{type}}",
+		"BASE_TYPE_OBJECT": "Este campo debe ser un objeto",
+		"BASE_TYPE_ARRAY": "Este campo debe ser una matriz",
+		"UNKOWN_FIELD": "Clave desconocida: {{key}}",
+		"BASE_TYPE_CONSTANT": "Este campo debe ser {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "No es una dirección de email bien formada",
+		"DATE_TYPE_PARSE": "No se pudo analizar {{date}}. Debe ser ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Debe estar entre {{length}} de longitud"
+	}
+}
diff --git a/api/locales/fa/common.json b/api/locales/fa/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/fa/common.json
+++ b/api/locales/fa/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/fi/common.json b/api/locales/fi/common.json
index d5aab9e3..80a73715 100644
--- a/api/locales/fi/common.json
+++ b/api/locales/fi/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Tämä kenttä on pakollinen",
-    "BASE_TYPE_STRING": "Tämän kentän on oltava merkkijono",
-    "BASE_TYPE_NUMBER": "Tämän kentän on oltava numero",
-    "BASE_TYPE_BIGINT": "Tämän kentän on oltava isoin",
-    "BASE_TYPE_BOOLEAN": "Tämän kentän on oltava totuus",
-    "BASE_TYPE_CHOICES": "Tämän kentän on oltava yksi ({{types}})",
-    "BASE_TYPE_CLASS": "Tämän kentän on oltava {{type}} instanssi",
-    "BASE_TYPE_OBJECT": "Tämän kentän on oltava objekti",
-    "BASE_TYPE_ARRAY": "Tämän kentän on oltava array",
-    "UNKOWN_FIELD": "Tuntematon avain: {{key}}",
-    "BASE_TYPE_CONSTANT": "Tämän kentän on oltava {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Sähköpostiosoite ei ole hyvin muodostettu",
-    "DATE_TYPE_PARSE": "Ei voitu jäsentää {{date}}. Pitäisi olla ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Pituuden on oltava välillä {{length}}"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Tämä kenttä on pakollinen",
+		"BASE_TYPE_STRING": "Tämän kentän on oltava merkkijono",
+		"BASE_TYPE_NUMBER": "Tämän kentän on oltava numero",
+		"BASE_TYPE_BIGINT": "Tämän kentän on oltava isoin",
+		"BASE_TYPE_BOOLEAN": "Tämän kentän on oltava totuus",
+		"BASE_TYPE_CHOICES": "Tämän kentän on oltava yksi ({{types}})",
+		"BASE_TYPE_CLASS": "Tämän kentän on oltava {{type}} instanssi",
+		"BASE_TYPE_OBJECT": "Tämän kentän on oltava objekti",
+		"BASE_TYPE_ARRAY": "Tämän kentän on oltava array",
+		"UNKOWN_FIELD": "Tuntematon avain: {{key}}",
+		"BASE_TYPE_CONSTANT": "Tämän kentän on oltava {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Sähköpostiosoite ei ole hyvin muodostettu",
+		"DATE_TYPE_PARSE": "Ei voitu jäsentää {{date}}. Pitäisi olla ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Pituuden on oltava välillä {{length}}"
+	}
+}
diff --git a/api/locales/fr/common.json b/api/locales/fr/common.json
index 8a2cd91e..33c56eb9 100644
--- a/api/locales/fr/common.json
+++ b/api/locales/fr/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Ce champ est obligatoire",
-    "BASE_TYPE_STRING": "Ce champ doit être une chaîne de caractères",
-    "BASE_TYPE_NUMBER": "Ce champ doit être un nombre",
-    "BASE_TYPE_BIGINT": "Ce champ doit être un bigint",
-    "BASE_TYPE_BOOLEAN": "Ce champ doit être un boolean",
-    "BASE_TYPE_CHOICES": "Ce champ doit être l'un des ({{types}})",
-    "BASE_TYPE_CLASS": "Ce champ doit être une instance de {{type}}",
-    "BASE_TYPE_OBJECT": "Ce champ doit être un objet",
-    "BASE_TYPE_ARRAY": "Ce champ doit être un tableau",
-    "UNKOWN_FIELD": "Clé inconnue: {{key}}",
-    "BASE_TYPE_CONSTANT": "Ce champ doit être {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Adresse e-mail mal formaté",
-    "DATE_TYPE_PARSE": "Impossible d'analyser {{date}}. Doit être ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Doit être entre {{length}} de longueur"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Ce champ est obligatoire",
+		"BASE_TYPE_STRING": "Ce champ doit être une chaîne de caractères",
+		"BASE_TYPE_NUMBER": "Ce champ doit être un nombre",
+		"BASE_TYPE_BIGINT": "Ce champ doit être un bigint",
+		"BASE_TYPE_BOOLEAN": "Ce champ doit être un boolean",
+		"BASE_TYPE_CHOICES": "Ce champ doit être l'un des ({{types}})",
+		"BASE_TYPE_CLASS": "Ce champ doit être une instance de {{type}}",
+		"BASE_TYPE_OBJECT": "Ce champ doit être un objet",
+		"BASE_TYPE_ARRAY": "Ce champ doit être un tableau",
+		"UNKOWN_FIELD": "Clé inconnue: {{key}}",
+		"BASE_TYPE_CONSTANT": "Ce champ doit être {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Adresse e-mail mal formaté",
+		"DATE_TYPE_PARSE": "Impossible d'analyser {{date}}. Doit être ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Doit être entre {{length}} de longueur"
+	}
+}
diff --git a/api/locales/he/common.json b/api/locales/he/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/he/common.json
+++ b/api/locales/he/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/hi/common.json b/api/locales/hi/common.json
index beb4b222..0117eeee 100644
--- a/api/locales/hi/common.json
+++ b/api/locales/hi/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "यह फ़ील्ड आवश्यक है",
-    "BASE_TYPE_STRING": "यह फ़ील्ड एक स्ट्रिंग होनी चाहिए",
-    "BASE_TYPE_NUMBER": "यह फ़ील्ड एक संख्या होनी चाहिए",
-    "BASE_TYPE_BIGINT": "यह फ़ील्ड एक बिगिन्ट होनी चाहिए",
-    "BASE_TYPE_BOOLEAN": "यह फ़ील्ड एक बूलियन होनी चाहिए",
-    "BASE_TYPE_CHOICES": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
-    "BASE_TYPE_CLASS": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
-    "BASE_TYPE_OBJECT": "यह फ़ील्ड एक ऑब्जेक्ट होनी चाहिए",
-    "BASE_TYPE_ARRAY": "यह फ़ील्ड एक ऐरे होनी चाहिए",
-    "UNKOWN_FIELD": "अज्ञात कुंजी: [[key]]",
-    "BASE_TYPE_CONSTANT": "यह क्षेत्र {{value}} होना चाहिए",
-    "EMAIL_TYPE_INVALID_EMAIL": "खराब ईमेल एड्रेस",
-    "DATE_TYPE_PARSE": "{{date}} की पदव्‍याख्‍या नहीं हो पाई है। ISO8601 होना चाहिए",
-    "BASE_TYPE_BAD_LENGTH": "लंबाई {{length}} के बीच में होनी चाहिए"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "यह फ़ील्ड आवश्यक है",
+		"BASE_TYPE_STRING": "यह फ़ील्ड एक स्ट्रिंग होनी चाहिए",
+		"BASE_TYPE_NUMBER": "यह फ़ील्ड एक संख्या होनी चाहिए",
+		"BASE_TYPE_BIGINT": "यह फ़ील्ड एक बिगिन्ट होनी चाहिए",
+		"BASE_TYPE_BOOLEAN": "यह फ़ील्ड एक बूलियन होनी चाहिए",
+		"BASE_TYPE_CHOICES": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
+		"BASE_TYPE_CLASS": "यह फ़ील्ड एक प्रकार का [[[types]]] होना चाहिए",
+		"BASE_TYPE_OBJECT": "यह फ़ील्ड एक ऑब्जेक्ट होनी चाहिए",
+		"BASE_TYPE_ARRAY": "यह फ़ील्ड एक ऐरे होनी चाहिए",
+		"UNKOWN_FIELD": "अज्ञात कुंजी: [[key]]",
+		"BASE_TYPE_CONSTANT": "यह क्षेत्र {{value}} होना चाहिए",
+		"EMAIL_TYPE_INVALID_EMAIL": "खराब ईमेल एड्रेस",
+		"DATE_TYPE_PARSE": "{{date}} की पदव्‍याख्‍या नहीं हो पाई है। ISO8601 होना चाहिए",
+		"BASE_TYPE_BAD_LENGTH": "लंबाई {{length}} के बीच में होनी चाहिए"
+	}
+}
diff --git a/api/locales/hr/common.json b/api/locales/hr/common.json
index 2126f375..4afc5794 100644
--- a/api/locales/hr/common.json
+++ b/api/locales/hr/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Ovo polje je obavezno",
-    "BASE_TYPE_STRING": "Ovo polje mora biti niz",
-    "BASE_TYPE_NUMBER": "Ovo polje mora biti broj",
-    "BASE_TYPE_BIGINT": "Ovo polje mora biti bigint",
-    "BASE_TYPE_BOOLEAN": "Ovo polje mora biti boolean",
-    "BASE_TYPE_CHOICES": "Ovo polje mora biti jedno od ({{types}})",
-    "BASE_TYPE_CLASS": "Ovo polje mora biti primjer od {{type}}",
-    "BASE_TYPE_OBJECT": "Ovo polje mora biti objekt",
-    "BASE_TYPE_ARRAY": "Ovo polje mora biti niz",
-    "UNKOWN_FIELD": "Nepoznati ključ: {{key}}",
-    "BASE_TYPE_CONSTANT": "Ovo polje mora biti {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Nije dobro oblikovana Email adresa",
-    "DATE_TYPE_PARSE": "Nije moguće raščlaniti {{date}}. Treba biti ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Mora biti između {{length}} u duljini"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Ovo polje je obavezno",
+		"BASE_TYPE_STRING": "Ovo polje mora biti niz",
+		"BASE_TYPE_NUMBER": "Ovo polje mora biti broj",
+		"BASE_TYPE_BIGINT": "Ovo polje mora biti bigint",
+		"BASE_TYPE_BOOLEAN": "Ovo polje mora biti boolean",
+		"BASE_TYPE_CHOICES": "Ovo polje mora biti jedno od ({{types}})",
+		"BASE_TYPE_CLASS": "Ovo polje mora biti primjer od {{type}}",
+		"BASE_TYPE_OBJECT": "Ovo polje mora biti objekt",
+		"BASE_TYPE_ARRAY": "Ovo polje mora biti niz",
+		"UNKOWN_FIELD": "Nepoznati ključ: {{key}}",
+		"BASE_TYPE_CONSTANT": "Ovo polje mora biti {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Nije dobro oblikovana Email adresa",
+		"DATE_TYPE_PARSE": "Nije moguće raščlaniti {{date}}. Treba biti ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Mora biti između {{length}} u duljini"
+	}
+}
diff --git a/api/locales/hu/common.json b/api/locales/hu/common.json
index e9095325..43bd2722 100644
--- a/api/locales/hu/common.json
+++ b/api/locales/hu/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Ez a mező kötelező",
-    "BASE_TYPE_STRING": "Ennek a mezőnek string-nek kell lennie",
-    "BASE_TYPE_NUMBER": "Ennek a mezőnek számnak kell lennie",
-    "BASE_TYPE_BIGINT": "Ennek a mezőnek bigint-nek kell lennie",
-    "BASE_TYPE_BOOLEAN": "Ennek a mezőnek boolean-nek kell lennie",
-    "BASE_TYPE_CHOICES": "Ennek a mezőnek {{types}} típusúnak kell lennie",
-    "BASE_TYPE_CLASS": "Ennek a mezőnek {{type}} típusúnak kell lennie",
-    "BASE_TYPE_OBJECT": "Ennek a mezőnek object-nek kell lennie",
-    "BASE_TYPE_ARRAY": "Ennek a mezőnek array-nek kell lennie",
-    "UNKOWN_FIELD": "Ismeretlen kulcs: {{key}}",
-    "BASE_TYPE_CONSTANT": "A mezőnek {{value}} kell lennie",
-    "EMAIL_TYPE_INVALID_EMAIL": "Nem jól megformázott email cím",
-    "DATE_TYPE_PARSE": "Nem sikerült elemezni {{date}}. ISO8901-nak kéne lennie",
-    "BASE_TYPE_BAD_LENGTH": "{{length}} között kell lennie hosszban"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Ez a mező kötelező",
+		"BASE_TYPE_STRING": "Ennek a mezőnek string-nek kell lennie",
+		"BASE_TYPE_NUMBER": "Ennek a mezőnek számnak kell lennie",
+		"BASE_TYPE_BIGINT": "Ennek a mezőnek bigint-nek kell lennie",
+		"BASE_TYPE_BOOLEAN": "Ennek a mezőnek boolean-nek kell lennie",
+		"BASE_TYPE_CHOICES": "Ennek a mezőnek {{types}} típusúnak kell lennie",
+		"BASE_TYPE_CLASS": "Ennek a mezőnek {{type}} típusúnak kell lennie",
+		"BASE_TYPE_OBJECT": "Ennek a mezőnek object-nek kell lennie",
+		"BASE_TYPE_ARRAY": "Ennek a mezőnek array-nek kell lennie",
+		"UNKOWN_FIELD": "Ismeretlen kulcs: {{key}}",
+		"BASE_TYPE_CONSTANT": "A mezőnek {{value}} kell lennie",
+		"EMAIL_TYPE_INVALID_EMAIL": "Nem jól megformázott email cím",
+		"DATE_TYPE_PARSE": "Nem sikerült elemezni {{date}}. ISO8901-nak kéne lennie",
+		"BASE_TYPE_BAD_LENGTH": "{{length}} között kell lennie hosszban"
+	}
+}
diff --git a/api/locales/id/common.json b/api/locales/id/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/id/common.json
+++ b/api/locales/id/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/it/common.json b/api/locales/it/common.json
index 2e17dd4f..1faa3df0 100644
--- a/api/locales/it/common.json
+++ b/api/locales/it/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Questo campo è obbligatorio",
-    "BASE_TYPE_STRING": "Questo campo deve essere una stringa",
-    "BASE_TYPE_NUMBER": "Questo campo deve essere un numero",
-    "BASE_TYPE_BIGINT": "Questo campo deve essere un numero intero",
-    "BASE_TYPE_BOOLEAN": "Questo campo deve essere un numero booleano",
-    "BASE_TYPE_CHOICES": "Questo campo deve essere uno di ({{types}})",
-    "BASE_TYPE_CLASS": "Questo campo deve essere un'istanza di {{type}}",
-    "BASE_TYPE_OBJECT": "Questo campo deve essere un oggetto",
-    "BASE_TYPE_ARRAY": "Questo campo deve essere un array",
-    "UNKOWN_FIELD": "Chiave non riconosciuta: {{key}}",
-    "BASE_TYPE_CONSTANT": "Questo campo deve essere {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Questo indirizzo e-mail non è in un formato valido",
-    "DATE_TYPE_PARSE": "Impossibile analizzare {{date}}. Dovrebbe essere ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Deve essere compreso tra {{length}} in lunghezza"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Questo campo è obbligatorio",
+		"BASE_TYPE_STRING": "Questo campo deve essere una stringa",
+		"BASE_TYPE_NUMBER": "Questo campo deve essere un numero",
+		"BASE_TYPE_BIGINT": "Questo campo deve essere un numero intero",
+		"BASE_TYPE_BOOLEAN": "Questo campo deve essere un numero booleano",
+		"BASE_TYPE_CHOICES": "Questo campo deve essere uno di ({{types}})",
+		"BASE_TYPE_CLASS": "Questo campo deve essere un'istanza di {{type}}",
+		"BASE_TYPE_OBJECT": "Questo campo deve essere un oggetto",
+		"BASE_TYPE_ARRAY": "Questo campo deve essere un array",
+		"UNKOWN_FIELD": "Chiave non riconosciuta: {{key}}",
+		"BASE_TYPE_CONSTANT": "Questo campo deve essere {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Questo indirizzo e-mail non è in un formato valido",
+		"DATE_TYPE_PARSE": "Impossibile analizzare {{date}}. Dovrebbe essere ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Deve essere compreso tra {{length}} in lunghezza"
+	}
+}
diff --git a/api/locales/ja/common.json b/api/locales/ja/common.json
index 25b7bc21..687c04e2 100644
--- a/api/locales/ja/common.json
+++ b/api/locales/ja/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "このフィールドは必須項目です",
-    "BASE_TYPE_STRING": "このフィールドは文字列でなければなりません",
-    "BASE_TYPE_NUMBER": "このフィールドは数値でなければなりません",
-    "BASE_TYPE_BIGINT": "このフィールドはbigintでなければなりません",
-    "BASE_TYPE_BOOLEAN": "このフィールドはブール値でなければなりません",
-    "BASE_TYPE_CHOICES": "このフィールドは ({{types}} ) のいずれかでなければなりません",
-    "BASE_TYPE_CLASS": "このフィールドは {{type}} のインスタンスでなければなりません",
-    "BASE_TYPE_OBJECT": "このフィールドはオブジェクトでなければなりません",
-    "BASE_TYPE_ARRAY": "このフィールドは配列でなければなりません",
-    "UNKOWN_FIELD": "不明なキー: {{key}}",
-    "BASE_TYPE_CONSTANT": "このフィールドは {{value}} でなければなりません",
-    "EMAIL_TYPE_INVALID_EMAIL": "メールアドレスが正しくありません",
-    "DATE_TYPE_PARSE": "{{date}}を解析できませんでした。ISO8601である必要があります",
-    "BASE_TYPE_BAD_LENGTH": "{{length}} 以内でなければなりません"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "このフィールドは必須項目です",
+		"BASE_TYPE_STRING": "このフィールドは文字列でなければなりません",
+		"BASE_TYPE_NUMBER": "このフィールドは数値でなければなりません",
+		"BASE_TYPE_BIGINT": "このフィールドはbigintでなければなりません",
+		"BASE_TYPE_BOOLEAN": "このフィールドはブール値でなければなりません",
+		"BASE_TYPE_CHOICES": "このフィールドは ({{types}} ) のいずれかでなければなりません",
+		"BASE_TYPE_CLASS": "このフィールドは {{type}} のインスタンスでなければなりません",
+		"BASE_TYPE_OBJECT": "このフィールドはオブジェクトでなければなりません",
+		"BASE_TYPE_ARRAY": "このフィールドは配列でなければなりません",
+		"UNKOWN_FIELD": "不明なキー: {{key}}",
+		"BASE_TYPE_CONSTANT": "このフィールドは {{value}} でなければなりません",
+		"EMAIL_TYPE_INVALID_EMAIL": "メールアドレスが正しくありません",
+		"DATE_TYPE_PARSE": "{{date}}を解析できませんでした。ISO8601である必要があります",
+		"BASE_TYPE_BAD_LENGTH": "{{length}} 以内でなければなりません"
+	}
+}
diff --git a/api/locales/ko/common.json b/api/locales/ko/common.json
index 2eb3d0c3..bb521b37 100644
--- a/api/locales/ko/common.json
+++ b/api/locales/ko/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "필수로 기입해야 합니다",
-    "BASE_TYPE_STRING": "문자열을 입력해야 합니다",
-    "BASE_TYPE_NUMBER": "숫자를 입력해야 합니다",
-    "BASE_TYPE_BIGINT": "bigint를 입력해야 합니다",
-    "BASE_TYPE_BOOLEAN": "논리값을 입력해야 합니다",
-    "BASE_TYPE_CHOICES": "값의 유형이 ({{types}}) 중 하나여야 합니다",
-    "BASE_TYPE_CLASS": "값의 유형이 {{type}}(이)여야 합니다",
-    "BASE_TYPE_OBJECT": "객체를 입력해야 합니다",
-    "BASE_TYPE_ARRAY": "배열을 입력해야 합니다",
-    "UNKOWN_FIELD": "알 수 없는 키: {{key}}",
-    "BASE_TYPE_CONSTANT": "{{value}}(을)를 입력해야 합니다",
-    "EMAIL_TYPE_INVALID_EMAIL": "올바른 이메일 주소 형식이 아닙니다",
-    "DATE_TYPE_PARSE": "{{date}} 형식을 분석할 수 없습니다. ISO8601을 따라야 합니다",
-    "BASE_TYPE_BAD_LENGTH": "길이가 {{length}} 사이여야 합니다"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "필수로 기입해야 합니다",
+		"BASE_TYPE_STRING": "문자열을 입력해야 합니다",
+		"BASE_TYPE_NUMBER": "숫자를 입력해야 합니다",
+		"BASE_TYPE_BIGINT": "bigint를 입력해야 합니다",
+		"BASE_TYPE_BOOLEAN": "논리값을 입력해야 합니다",
+		"BASE_TYPE_CHOICES": "값의 유형이 ({{types}}) 중 하나여야 합니다",
+		"BASE_TYPE_CLASS": "값의 유형이 {{type}}(이)여야 합니다",
+		"BASE_TYPE_OBJECT": "객체를 입력해야 합니다",
+		"BASE_TYPE_ARRAY": "배열을 입력해야 합니다",
+		"UNKOWN_FIELD": "알 수 없는 키: {{key}}",
+		"BASE_TYPE_CONSTANT": "{{value}}(을)를 입력해야 합니다",
+		"EMAIL_TYPE_INVALID_EMAIL": "올바른 이메일 주소 형식이 아닙니다",
+		"DATE_TYPE_PARSE": "{{date}} 형식을 분석할 수 없습니다. ISO8601을 따라야 합니다",
+		"BASE_TYPE_BAD_LENGTH": "길이가 {{length}} 사이여야 합니다"
+	}
+}
diff --git a/api/locales/lt/common.json b/api/locales/lt/common.json
index f96e028f..bc9ad022 100644
--- a/api/locales/lt/common.json
+++ b/api/locales/lt/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Šis laukelis privalomas",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Neteisingai suformuotas el. pašto adresas",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Šis laukelis privalomas",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Neteisingai suformuotas el. pašto adresas",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/nl/common.json b/api/locales/nl/common.json
index 85deb2ec..f18c1dcb 100644
--- a/api/locales/nl/common.json
+++ b/api/locales/nl/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Dit veld is verplicht",
-    "BASE_TYPE_STRING": "Dit veld moet een tekenreeks zijn",
-    "BASE_TYPE_NUMBER": "Dit veld moet een getal zijn",
-    "BASE_TYPE_BIGINT": "Dit veld moet een bigint zijn",
-    "BASE_TYPE_BOOLEAN": "Dit veld moet een Booleaanse waarde zijn",
-    "BASE_TYPE_CHOICES": "Dit veld moet een van ({{types}} ) zijn",
-    "BASE_TYPE_CLASS": "Dit veld moet een exemplaar zijn van {{type}}",
-    "BASE_TYPE_OBJECT": "Dit veld moet een object zijn",
-    "BASE_TYPE_ARRAY": "Dit veld moet een array zijn",
-    "UNKOWN_FIELD": "Onbekend sleutel: {{key}}",
-    "BASE_TYPE_CONSTANT": "Dit veld moet {{value}} zijn",
-    "EMAIL_TYPE_INVALID_EMAIL": "Niet een geldig e-mailadres",
-    "DATE_TYPE_PARSE": "Kan {{date}}niet parsen. Moet ISO8601 zijn",
-    "BASE_TYPE_BAD_LENGTH": "Moet tussen {{length}} in lengte zijn"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dit veld is verplicht",
+		"BASE_TYPE_STRING": "Dit veld moet een tekenreeks zijn",
+		"BASE_TYPE_NUMBER": "Dit veld moet een getal zijn",
+		"BASE_TYPE_BIGINT": "Dit veld moet een bigint zijn",
+		"BASE_TYPE_BOOLEAN": "Dit veld moet een Booleaanse waarde zijn",
+		"BASE_TYPE_CHOICES": "Dit veld moet een van ({{types}} ) zijn",
+		"BASE_TYPE_CLASS": "Dit veld moet een exemplaar zijn van {{type}}",
+		"BASE_TYPE_OBJECT": "Dit veld moet een object zijn",
+		"BASE_TYPE_ARRAY": "Dit veld moet een array zijn",
+		"UNKOWN_FIELD": "Onbekend sleutel: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dit veld moet {{value}} zijn",
+		"EMAIL_TYPE_INVALID_EMAIL": "Niet een geldig e-mailadres",
+		"DATE_TYPE_PARSE": "Kan {{date}}niet parsen. Moet ISO8601 zijn",
+		"BASE_TYPE_BAD_LENGTH": "Moet tussen {{length}} in lengte zijn"
+	}
+}
diff --git a/api/locales/no/common.json b/api/locales/no/common.json
index c70882a2..ab58a24e 100644
--- a/api/locales/no/common.json
+++ b/api/locales/no/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Dette feltet er obligatorisk",
-    "BASE_TYPE_STRING": "Dette feltet må være en streng",
-    "BASE_TYPE_NUMBER": "Dette feltet må være et tall",
-    "BASE_TYPE_BIGINT": "Dette feltet må være en stor",
-    "BASE_TYPE_BOOLEAN": "Dette feltet må være en boolsk verdi",
-    "BASE_TYPE_CHOICES": "Dette feltet må være ett av ({{types}})",
-    "BASE_TYPE_CLASS": "Dette feltet må være en forekomst av {{type}}",
-    "BASE_TYPE_OBJECT": "Dette feltet må være et objekt",
-    "BASE_TYPE_ARRAY": "Dette feltet må være en liste",
-    "UNKOWN_FIELD": "Ukjent nøkkel: {{key}}",
-    "BASE_TYPE_CONSTANT": "Dette feltet må være {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Ikke et gyldig e-postadresse format",
-    "DATE_TYPE_PARSE": "Kunne ikke analysere {{date}}. Skal være ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Må være mellom {{length}} i lengde"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Dette feltet er obligatorisk",
+		"BASE_TYPE_STRING": "Dette feltet må være en streng",
+		"BASE_TYPE_NUMBER": "Dette feltet må være et tall",
+		"BASE_TYPE_BIGINT": "Dette feltet må være en stor",
+		"BASE_TYPE_BOOLEAN": "Dette feltet må være en boolsk verdi",
+		"BASE_TYPE_CHOICES": "Dette feltet må være ett av ({{types}})",
+		"BASE_TYPE_CLASS": "Dette feltet må være en forekomst av {{type}}",
+		"BASE_TYPE_OBJECT": "Dette feltet må være et objekt",
+		"BASE_TYPE_ARRAY": "Dette feltet må være en liste",
+		"UNKOWN_FIELD": "Ukjent nøkkel: {{key}}",
+		"BASE_TYPE_CONSTANT": "Dette feltet må være {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Ikke et gyldig e-postadresse format",
+		"DATE_TYPE_PARSE": "Kunne ikke analysere {{date}}. Skal være ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Må være mellom {{length}} i lengde"
+	}
+}
diff --git a/api/locales/pl/common.json b/api/locales/pl/common.json
index 2291905d..ddf746a7 100644
--- a/api/locales/pl/common.json
+++ b/api/locales/pl/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "To pole jest wymagane",
-    "BASE_TYPE_STRING": "To pole musi być ciągiem znaków",
-    "BASE_TYPE_NUMBER": "To pole musi być liczbą",
-    "BASE_TYPE_BIGINT": "To pole musi być bigint",
-    "BASE_TYPE_BOOLEAN": "To pole musi być wartością logiczną",
-    "BASE_TYPE_CHOICES": "To pole musi być jednym z ({{types}})",
-    "BASE_TYPE_CLASS": "To pole musi być instancją {{type}}",
-    "BASE_TYPE_OBJECT": "To pole musi być obiektem",
-    "BASE_TYPE_ARRAY": "To pole musi być tablicą",
-    "UNKOWN_FIELD": "Nieznany klucz: {{key}}",
-    "BASE_TYPE_CONSTANT": "To pole musi być {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Źle sformułowany adres e-mail",
-    "DATE_TYPE_PARSE": "Nie można przetworzyć {{date}}. Powinno być ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Musi być pomiędzy {{length}}"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "To pole jest wymagane",
+		"BASE_TYPE_STRING": "To pole musi być ciągiem znaków",
+		"BASE_TYPE_NUMBER": "To pole musi być liczbą",
+		"BASE_TYPE_BIGINT": "To pole musi być bigint",
+		"BASE_TYPE_BOOLEAN": "To pole musi być wartością logiczną",
+		"BASE_TYPE_CHOICES": "To pole musi być jednym z ({{types}})",
+		"BASE_TYPE_CLASS": "To pole musi być instancją {{type}}",
+		"BASE_TYPE_OBJECT": "To pole musi być obiektem",
+		"BASE_TYPE_ARRAY": "To pole musi być tablicą",
+		"UNKOWN_FIELD": "Nieznany klucz: {{key}}",
+		"BASE_TYPE_CONSTANT": "To pole musi być {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Źle sformułowany adres e-mail",
+		"DATE_TYPE_PARSE": "Nie można przetworzyć {{date}}. Powinno być ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Musi być pomiędzy {{length}}"
+	}
+}
diff --git a/api/locales/pt/common.json b/api/locales/pt/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/pt/common.json
+++ b/api/locales/pt/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/ro/common.json b/api/locales/ro/common.json
index ee0ef86c..eec6d0d5 100644
--- a/api/locales/ro/common.json
+++ b/api/locales/ro/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Acest câmp este necesar",
-    "BASE_TYPE_STRING": "Acest câmp trebuie să fie un şir de caractere",
-    "BASE_TYPE_NUMBER": "Acest câmp trebuie să fie un număr",
-    "BASE_TYPE_BIGINT": "Acest câmp trebuie să fie mare",
-    "BASE_TYPE_BOOLEAN": "Acest câmp trebuie să fie un boolean",
-    "BASE_TYPE_CHOICES": "Acest câmp trebuie să fie unul din ({{types}})",
-    "BASE_TYPE_CLASS": "Acest câmp trebuie să fie o instanță de {{type}}",
-    "BASE_TYPE_OBJECT": "Acest câmp trebuie să fie un obiect",
-    "BASE_TYPE_ARRAY": "Acest câmp trebuie să fie un array",
-    "UNKOWN_FIELD": "Cheie necunoscută: {{key}}",
-    "BASE_TYPE_CONSTANT": "Acest câmp trebuie să fie {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Adresa de email nu este bine formatata",
-    "DATE_TYPE_PARSE": "Nu s-a putut analiza {{date}}. Ar trebui să fie ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Trebuie să fie între {{length}} lungime"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Acest câmp este necesar",
+		"BASE_TYPE_STRING": "Acest câmp trebuie să fie un şir de caractere",
+		"BASE_TYPE_NUMBER": "Acest câmp trebuie să fie un număr",
+		"BASE_TYPE_BIGINT": "Acest câmp trebuie să fie mare",
+		"BASE_TYPE_BOOLEAN": "Acest câmp trebuie să fie un boolean",
+		"BASE_TYPE_CHOICES": "Acest câmp trebuie să fie unul din ({{types}})",
+		"BASE_TYPE_CLASS": "Acest câmp trebuie să fie o instanță de {{type}}",
+		"BASE_TYPE_OBJECT": "Acest câmp trebuie să fie un obiect",
+		"BASE_TYPE_ARRAY": "Acest câmp trebuie să fie un array",
+		"UNKOWN_FIELD": "Cheie necunoscută: {{key}}",
+		"BASE_TYPE_CONSTANT": "Acest câmp trebuie să fie {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Adresa de email nu este bine formatata",
+		"DATE_TYPE_PARSE": "Nu s-a putut analiza {{date}}. Ar trebui să fie ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Trebuie să fie între {{length}} lungime"
+	}
+}
diff --git a/api/locales/ru/common.json b/api/locales/ru/common.json
index 99fb15cf..aff9677b 100644
--- a/api/locales/ru/common.json
+++ b/api/locales/ru/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Это поле является обязательным",
-    "BASE_TYPE_STRING": "Это поле должно быть string",
-    "BASE_TYPE_NUMBER": "Это поле должно быть number",
-    "BASE_TYPE_BIGINT": "Это поле должно быть bigint",
-    "BASE_TYPE_BOOLEAN": "Это поле должно быть boolean",
-    "BASE_TYPE_CHOICES": "Это поле должно быть одним из ({{types}})",
-    "BASE_TYPE_CLASS": "Это поле должно быть экземпляром {{type}}",
-    "BASE_TYPE_OBJECT": "Это поле должно быть объектом",
-    "BASE_TYPE_ARRAY": "Это поле должно быть массивом",
-    "UNKOWN_FIELD": "Неизвестное поле: {{key}}",
-    "BASE_TYPE_CONSTANT": "Это поле должно быть {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Неправильный формат адреса электронной почты",
-    "DATE_TYPE_PARSE": "Не удалось разобрать {{date}}. Дата должна быть в ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Длина должна быть между {{length}} в длину"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Это поле является обязательным",
+		"BASE_TYPE_STRING": "Это поле должно быть string",
+		"BASE_TYPE_NUMBER": "Это поле должно быть number",
+		"BASE_TYPE_BIGINT": "Это поле должно быть bigint",
+		"BASE_TYPE_BOOLEAN": "Это поле должно быть boolean",
+		"BASE_TYPE_CHOICES": "Это поле должно быть одним из ({{types}})",
+		"BASE_TYPE_CLASS": "Это поле должно быть экземпляром {{type}}",
+		"BASE_TYPE_OBJECT": "Это поле должно быть объектом",
+		"BASE_TYPE_ARRAY": "Это поле должно быть массивом",
+		"UNKOWN_FIELD": "Неизвестное поле: {{key}}",
+		"BASE_TYPE_CONSTANT": "Это поле должно быть {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Неправильный формат адреса электронной почты",
+		"DATE_TYPE_PARSE": "Не удалось разобрать {{date}}. Дата должна быть в ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Длина должна быть между {{length}} в длину"
+	}
+}
diff --git a/api/locales/si/common.json b/api/locales/si/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/si/common.json
+++ b/api/locales/si/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/sk/common.json b/api/locales/sk/common.json
index c37f8604..c7435665 100644
--- a/api/locales/sk/common.json
+++ b/api/locales/sk/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Toto pole je povinné",
-    "BASE_TYPE_STRING": "Toto pole musí byť slovo alebo veta",
-    "BASE_TYPE_NUMBER": "Toto pole musí byť číslo",
-    "BASE_TYPE_BIGINT": "Toto pole musí byť binárna číslica",
-    "BASE_TYPE_BOOLEAN": "Toto pole musí byť buď áno, alebo nie",
-    "BASE_TYPE_CHOICES": "Toto pole musí byť jedným z ({{types}})",
-    "BASE_TYPE_CLASS": "Toto pole musí byť inštanciou z {{type}}",
-    "BASE_TYPE_OBJECT": "Toto pole musí byť objekt",
-    "BASE_TYPE_ARRAY": "Toto pole musí byť pole",
-    "UNKOWN_FIELD": "Neznámy kľúč: {{key}}",
-    "BASE_TYPE_CONSTANT": "Toto pole musí byť {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Nie je správne formulovaná emailová adresa",
-    "DATE_TYPE_PARSE": "Nepodarilo sa analyzovať {{date}}. Malo by byť ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Musí mať dĺžku medzi {{length}}"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Toto pole je povinné",
+		"BASE_TYPE_STRING": "Toto pole musí byť slovo alebo veta",
+		"BASE_TYPE_NUMBER": "Toto pole musí byť číslo",
+		"BASE_TYPE_BIGINT": "Toto pole musí byť binárna číslica",
+		"BASE_TYPE_BOOLEAN": "Toto pole musí byť buď áno, alebo nie",
+		"BASE_TYPE_CHOICES": "Toto pole musí byť jedným z ({{types}})",
+		"BASE_TYPE_CLASS": "Toto pole musí byť inštanciou z {{type}}",
+		"BASE_TYPE_OBJECT": "Toto pole musí byť objekt",
+		"BASE_TYPE_ARRAY": "Toto pole musí byť pole",
+		"UNKOWN_FIELD": "Neznámy kľúč: {{key}}",
+		"BASE_TYPE_CONSTANT": "Toto pole musí byť {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Nie je správne formulovaná emailová adresa",
+		"DATE_TYPE_PARSE": "Nepodarilo sa analyzovať {{date}}. Malo by byť ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Musí mať dĺžku medzi {{length}}"
+	}
+}
diff --git a/api/locales/sr/common.json b/api/locales/sr/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/sr/common.json
+++ b/api/locales/sr/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/sv/common.json b/api/locales/sv/common.json
index 9d8eb0da..03ef05bc 100644
--- a/api/locales/sv/common.json
+++ b/api/locales/sv/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Detta fält är obligatoriskt",
-    "BASE_TYPE_STRING": "Detta fält måste vara en sträng",
-    "BASE_TYPE_NUMBER": "Detta fält måste vara ett nummer",
-    "BASE_TYPE_BIGINT": "Detta fält måste vara av typen bigint",
-    "BASE_TYPE_BOOLEAN": "Detta fält måste vara booleskt",
-    "BASE_TYPE_CHOICES": "Detta fält måste vara av typen av ett av följande ({{types}})",
-    "BASE_TYPE_CLASS": "Det här fältet måste vara en instans av {{type}}",
-    "BASE_TYPE_OBJECT": "Detta fält måste vara ett objekt",
-    "BASE_TYPE_ARRAY": "Detta fält måste vara en lista",
-    "UNKOWN_FIELD": "Okänd nyckel: {{key}}",
-    "BASE_TYPE_CONSTANT": "Det här fältet måste vara {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "E-postadressen har inte korrekt format",
-    "DATE_TYPE_PARSE": "Kunde inte tolka {{date}}. Bör vara ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Måste vara mellan {{length}} i längd"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Detta fält är obligatoriskt",
+		"BASE_TYPE_STRING": "Detta fält måste vara en sträng",
+		"BASE_TYPE_NUMBER": "Detta fält måste vara ett nummer",
+		"BASE_TYPE_BIGINT": "Detta fält måste vara av typen bigint",
+		"BASE_TYPE_BOOLEAN": "Detta fält måste vara booleskt",
+		"BASE_TYPE_CHOICES": "Detta fält måste vara av typen av ett av följande ({{types}})",
+		"BASE_TYPE_CLASS": "Det här fältet måste vara en instans av {{type}}",
+		"BASE_TYPE_OBJECT": "Detta fält måste vara ett objekt",
+		"BASE_TYPE_ARRAY": "Detta fält måste vara en lista",
+		"UNKOWN_FIELD": "Okänd nyckel: {{key}}",
+		"BASE_TYPE_CONSTANT": "Det här fältet måste vara {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "E-postadressen har inte korrekt format",
+		"DATE_TYPE_PARSE": "Kunde inte tolka {{date}}. Bör vara ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Måste vara mellan {{length}} i längd"
+	}
+}
diff --git a/api/locales/tr/common.json b/api/locales/tr/common.json
index b113453e..c81470d2 100644
--- a/api/locales/tr/common.json
+++ b/api/locales/tr/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Bu alan gereklidir",
-    "BASE_TYPE_STRING": "Bu alan bir metin (string) olmalı",
-    "BASE_TYPE_NUMBER": "Bu alan bir sayı olmalı",
-    "BASE_TYPE_BIGINT": "Bu alan büyük integer (bkz. bigint) değeri olmalıdır",
-    "BASE_TYPE_BOOLEAN": "Bu alan mantıksal değer (boolean) olmalıdır",
-    "BASE_TYPE_CHOICES": "Bu alan ({{types}}) lardan biri olmak zorunda",
-    "BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı",
-    "BASE_TYPE_OBJECT": "Bu alan bir obje olmalı",
-    "BASE_TYPE_ARRAY": "Bu alan bir dizi (array) olmalı",
-    "UNKOWN_FIELD": "Bilinmeyen anahtar: {{key}}",
-    "BASE_TYPE_CONSTANT": "Bu alan {{value}} olmalı",
-    "EMAIL_TYPE_INVALID_EMAIL": "Geçerli bir e-posta adresi değil",
-    "DATE_TYPE_PARSE": "{{date}} işlenemiyor. ISO8601 standartlarında olmalı",
-    "BASE_TYPE_BAD_LENGTH": "Uzunluğu {{length}} olmalı"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Bu alan gereklidir",
+		"BASE_TYPE_STRING": "Bu alan bir metin (string) olmalı",
+		"BASE_TYPE_NUMBER": "Bu alan bir sayı olmalı",
+		"BASE_TYPE_BIGINT": "Bu alan büyük integer (bkz. bigint) değeri olmalıdır",
+		"BASE_TYPE_BOOLEAN": "Bu alan mantıksal değer (boolean) olmalıdır",
+		"BASE_TYPE_CHOICES": "Bu alan ({{types}}) lardan biri olmak zorunda",
+		"BASE_TYPE_CLASS": "Bu alan {{type}} türünden olmalı",
+		"BASE_TYPE_OBJECT": "Bu alan bir obje olmalı",
+		"BASE_TYPE_ARRAY": "Bu alan bir dizi (array) olmalı",
+		"UNKOWN_FIELD": "Bilinmeyen anahtar: {{key}}",
+		"BASE_TYPE_CONSTANT": "Bu alan {{value}} olmalı",
+		"EMAIL_TYPE_INVALID_EMAIL": "Geçerli bir e-posta adresi değil",
+		"DATE_TYPE_PARSE": "{{date}} işlenemiyor. ISO8601 standartlarında olmalı",
+		"BASE_TYPE_BAD_LENGTH": "Uzunluğu {{length}} olmalı"
+	}
+}
diff --git a/api/locales/uk/common.json b/api/locales/uk/common.json
index e694f8ae..5871e20b 100644
--- a/api/locales/uk/common.json
+++ b/api/locales/uk/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Це поле обов'язкове для заповнення",
-    "BASE_TYPE_STRING": "Це поле має бути рядком",
-    "BASE_TYPE_NUMBER": "Це поле має бути числом",
-    "BASE_TYPE_BIGINT": "Це поле має бути великим",
-    "BASE_TYPE_BOOLEAN": "Це поле має бути логічним",
-    "BASE_TYPE_CHOICES": "Це поле має бути одним з ({{types}})",
-    "BASE_TYPE_CLASS": "Це поле повинно бути екземпляром {{type}}",
-    "BASE_TYPE_OBJECT": "Це поле має бути об'єктом",
-    "BASE_TYPE_ARRAY": "Це поле має бути масивом",
-    "UNKOWN_FIELD": "Невідомий ключ: {{key}}",
-    "BASE_TYPE_CONSTANT": "Це поле має бути {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Неправильно сформована електронна адреса",
-    "DATE_TYPE_PARSE": "Не вдається розібрати {{date}}. має бути ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Повинно бути між {{length}} в довжині"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Це поле обов'язкове для заповнення",
+		"BASE_TYPE_STRING": "Це поле має бути рядком",
+		"BASE_TYPE_NUMBER": "Це поле має бути числом",
+		"BASE_TYPE_BIGINT": "Це поле має бути великим",
+		"BASE_TYPE_BOOLEAN": "Це поле має бути логічним",
+		"BASE_TYPE_CHOICES": "Це поле має бути одним з ({{types}})",
+		"BASE_TYPE_CLASS": "Це поле повинно бути екземпляром {{type}}",
+		"BASE_TYPE_OBJECT": "Це поле має бути об'єктом",
+		"BASE_TYPE_ARRAY": "Це поле має бути масивом",
+		"UNKOWN_FIELD": "Невідомий ключ: {{key}}",
+		"BASE_TYPE_CONSTANT": "Це поле має бути {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Неправильно сформована електронна адреса",
+		"DATE_TYPE_PARSE": "Не вдається розібрати {{date}}. має бути ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Повинно бути між {{length}} в довжині"
+	}
+}
diff --git a/api/locales/ur/common.json b/api/locales/ur/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/ur/common.json
+++ b/api/locales/ur/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/locales/vi/common.json b/api/locales/vi/common.json
index 18bb2fe8..d968f617 100644
--- a/api/locales/vi/common.json
+++ b/api/locales/vi/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "Mục này là bắt buộc",
-    "BASE_TYPE_STRING": "Trường này phải là một chuỗi",
-    "BASE_TYPE_NUMBER": "Mục này phải là một số",
-    "BASE_TYPE_BIGINT": "Trường này phải là một chuỗi",
-    "BASE_TYPE_BOOLEAN": "Mục này phải chọn đúng hoặc sai",
-    "BASE_TYPE_CHOICES": "Mục này phải là một trong ({{types}})",
-    "BASE_TYPE_CLASS": "Mục này phải là một ví dụ của {{type}}",
-    "BASE_TYPE_OBJECT": "Mục này phải là một đối tượng",
-    "BASE_TYPE_ARRAY": "Mục này phải là một danh sách",
-    "UNKOWN_FIELD": "Khóa không xác định: {{key}}",
-    "BASE_TYPE_CONSTANT": "Mục này phải là {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Không phải là một địa chỉ email hợp lệ",
-    "DATE_TYPE_PARSE": "Không thể phân tích cú pháp {{date}}. Phải là ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Phải có độ dài từ {{length}}"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "Mục này là bắt buộc",
+		"BASE_TYPE_STRING": "Trường này phải là một chuỗi",
+		"BASE_TYPE_NUMBER": "Mục này phải là một số",
+		"BASE_TYPE_BIGINT": "Trường này phải là một chuỗi",
+		"BASE_TYPE_BOOLEAN": "Mục này phải chọn đúng hoặc sai",
+		"BASE_TYPE_CHOICES": "Mục này phải là một trong ({{types}})",
+		"BASE_TYPE_CLASS": "Mục này phải là một ví dụ của {{type}}",
+		"BASE_TYPE_OBJECT": "Mục này phải là một đối tượng",
+		"BASE_TYPE_ARRAY": "Mục này phải là một danh sách",
+		"UNKOWN_FIELD": "Khóa không xác định: {{key}}",
+		"BASE_TYPE_CONSTANT": "Mục này phải là {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Không phải là một địa chỉ email hợp lệ",
+		"DATE_TYPE_PARSE": "Không thể phân tích cú pháp {{date}}. Phải là ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Phải có độ dài từ {{length}}"
+	}
+}
diff --git a/api/locales/zh/common.json b/api/locales/zh/common.json
index a565e3dc..8bb9c042 100644
--- a/api/locales/zh/common.json
+++ b/api/locales/zh/common.json
@@ -1,18 +1,18 @@
 {
-  "field": {
-    "BASE_TYPE_REQUIRED": "This field is required",
-    "BASE_TYPE_STRING": "This field must be a string",
-    "BASE_TYPE_NUMBER": "This field must be a number",
-    "BASE_TYPE_BIGINT": "This field must be a bigint",
-    "BASE_TYPE_BOOLEAN": "This field must be a boolean",
-    "BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
-    "BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
-    "BASE_TYPE_OBJECT": "This field must be an object",
-    "BASE_TYPE_ARRAY": "This field must be an array",
-    "UNKOWN_FIELD": "Unknown key: {{key}}",
-    "BASE_TYPE_CONSTANT": "This field must be {{value}}",
-    "EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
-    "DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
-    "BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
-  }
-}
\ No newline at end of file
+	"field": {
+		"BASE_TYPE_REQUIRED": "This field is required",
+		"BASE_TYPE_STRING": "This field must be a string",
+		"BASE_TYPE_NUMBER": "This field must be a number",
+		"BASE_TYPE_BIGINT": "This field must be a bigint",
+		"BASE_TYPE_BOOLEAN": "This field must be a boolean",
+		"BASE_TYPE_CHOICES": "This field must be one of ({{types}})",
+		"BASE_TYPE_CLASS": "This field must be an instance of {{type}}",
+		"BASE_TYPE_OBJECT": "This field must be an object",
+		"BASE_TYPE_ARRAY": "This field must be an array",
+		"UNKOWN_FIELD": "Unknown key: {{key}}",
+		"BASE_TYPE_CONSTANT": "This field must be {{value}}",
+		"EMAIL_TYPE_INVALID_EMAIL": "Not a well-formed email address",
+		"DATE_TYPE_PARSE": "Could not parse {{date}}. Should be ISO8601",
+		"BASE_TYPE_BAD_LENGTH": "Must be between {{length}} in length"
+	}
+}
diff --git a/api/src/global.d.ts b/api/src/global.d.ts
index 3eb70f44..7751af8f 100644
--- a/api/src/global.d.ts
+++ b/api/src/global.d.ts
@@ -1,8 +1,8 @@
 declare global {
-    namespace Express {
-        interface Request {
-            user_id: any;
-            token: any;
-        }
-    }
-}
\ No newline at end of file
+	namespace Express {
+		interface Request {
+			user_id: any;
+			token: any;
+		}
+	}
+}
diff --git a/api/src/routes/-/healthz.ts b/api/src/routes/-/healthz.ts
index a42575f8..f7bcfebf 100644
--- a/api/src/routes/-/healthz.ts
+++ b/api/src/routes/-/healthz.ts
@@ -9,7 +9,7 @@ router.get("/", route({}), (req: Request, res: Response) => {
 		// test that the database is alive & responding
 		getConnection();
 		return res.sendStatus(200);
-	} catch(e) {
+	} catch (e) {
 		res.sendStatus(503);
 	}
 });
diff --git a/api/src/routes/-/readyz.ts b/api/src/routes/-/readyz.ts
index a42575f8..f7bcfebf 100644
--- a/api/src/routes/-/readyz.ts
+++ b/api/src/routes/-/readyz.ts
@@ -9,7 +9,7 @@ router.get("/", route({}), (req: Request, res: Response) => {
 		// test that the database is alive & responding
 		getConnection();
 		return res.sendStatus(200);
-	} catch(e) {
+	} catch (e) {
 		res.sendStatus(503);
 	}
 });
diff --git a/api/src/routes/applications/#id/entitlements.ts b/api/src/routes/applications/#id/entitlements.ts
index 1152e500..cfcfe40f 100644
--- a/api/src/routes/applications/#id/entitlements.ts
+++ b/api/src/routes/applications/#id/entitlements.ts
@@ -5,7 +5,7 @@ const router = Router();
 
 router.get("/", route({}), (req: Request, res: Response) => {
 	// TODO:
-    //const { exclude_consumed } = req.query;
+	//const { exclude_consumed } = req.query;
 	res.status(200).send([]);
 });
 
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts b/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts
index de0c01f1..b2cb6763 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts
+++ b/api/src/routes/channels/#channel_id/messages/#message_id/crosspost.ts
@@ -6,25 +6,23 @@ const router = Router();
 router.post("/", route({ permission: "MANAGE_MESSAGES" }), (req: Request, res: Response) => {
 	// TODO:
 	res.json({
-        id: "", 
-        type: 0, 
-        content: "", 
-        channel_id: "", 
-        author: {id: "", 
-        username: "", 
-        avatar: "", 
-        discriminator: "", public_flags: 64}, 
-        attachments: [], 
-        embeds: [], 
-        mentions: [], 
-        mention_roles: [], 
-        pinned: false, 
-        mention_everyone: false, 
-        tts: false, 
-        timestamp: "", 
-        edited_timestamp: null, 
-        flags: 1, components: []}).status(200);
+		id: "",
+		type: 0,
+		content: "",
+		channel_id: "",
+		author: { id: "", username: "", avatar: "", discriminator: "", public_flags: 64 },
+		attachments: [],
+		embeds: [],
+		mentions: [],
+		mention_roles: [],
+		pinned: false,
+		mention_everyone: false,
+		tts: false,
+		timestamp: "",
+		edited_timestamp: null,
+		flags: 1,
+		components: []
+	}).status(200);
 });
 
 export default router;
-
diff --git a/api/src/routes/channels/#channel_id/recipients.ts b/api/src/routes/channels/#channel_id/recipients.ts
index 83b62049..e6466211 100644
--- a/api/src/routes/channels/#channel_id/recipients.ts
+++ b/api/src/routes/channels/#channel_id/recipients.ts
@@ -1,6 +1,16 @@
 import { Request, Response, Router } from "express";
-import { Channel, ChannelRecipientAddEvent, ChannelType, DiscordApiErrors, DmChannelDTO, emitEvent, PublicUserProjection, Recipient, User } from "@fosscord/util";
-import { route } from "@fosscord/api"
+import {
+	Channel,
+	ChannelRecipientAddEvent,
+	ChannelType,
+	DiscordApiErrors,
+	DmChannelDTO,
+	emitEvent,
+	PublicUserProjection,
+	Recipient,
+	User
+} from "@fosscord/util";
+import { route } from "@fosscord/api";
 
 const router: Router = Router();
 
@@ -9,20 +19,17 @@ router.put("/:user_id", route({}), async (req: Request, res: Response) => {
 	const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients"] });
 
 	if (channel.type !== ChannelType.GROUP_DM) {
-		const recipients = [
-			...channel.recipients!.map(r => r.user_id),
-			user_id
-		].unique()
+		const recipients = [...channel.recipients!.map((r) => r.user_id), user_id].unique();
 
-		const new_channel = await Channel.createDMChannel(recipients, req.user_id)
+		const new_channel = await Channel.createDMChannel(recipients, req.user_id);
 		return res.status(201).json(new_channel);
 	} else {
-		if (channel.recipients!.map(r => r.user_id).includes(user_id)) {
-			throw DiscordApiErrors.INVALID_RECIPIENT //TODO is this the right error?
+		if (channel.recipients!.map((r) => r.user_id).includes(user_id)) {
+			throw DiscordApiErrors.INVALID_RECIPIENT; //TODO is this the right error?
 		}
 
 		channel.recipients!.push(new Recipient({ channel_id: channel_id, user_id: user_id }));
-		await channel.save()
+		await channel.save();
 
 		await emitEvent({
 			event: "CHANNEL_CREATE",
@@ -31,10 +38,12 @@ router.put("/:user_id", route({}), async (req: Request, res: Response) => {
 		});
 
 		await emitEvent({
-			event: "CHANNEL_RECIPIENT_ADD", data: {
+			event: "CHANNEL_RECIPIENT_ADD",
+			data: {
 				channel_id: channel_id,
 				user: await User.findOneOrFail({ where: { id: user_id }, select: PublicUserProjection })
-			}, channel_id: channel_id
+			},
+			channel_id: channel_id
 		} as ChannelRecipientAddEvent);
 		return res.sendStatus(204);
 	}
@@ -44,13 +53,13 @@ router.delete("/:user_id", route({}), async (req: Request, res: Response) => {
 	const { channel_id, user_id } = req.params;
 	const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients"] });
 	if (!(channel.type === ChannelType.GROUP_DM && (channel.owner_id === req.user_id || user_id === req.user_id)))
-		throw DiscordApiErrors.MISSING_PERMISSIONS
+		throw DiscordApiErrors.MISSING_PERMISSIONS;
 
-	if (!channel.recipients!.map(r => r.user_id).includes(user_id)) {
-		throw DiscordApiErrors.INVALID_RECIPIENT //TODO is this the right error?
+	if (!channel.recipients!.map((r) => r.user_id).includes(user_id)) {
+		throw DiscordApiErrors.INVALID_RECIPIENT; //TODO is this the right error?
 	}
 
-	await Channel.removeRecipientFromChannel(channel, user_id)
+	await Channel.removeRecipientFromChannel(channel, user_id);
 
 	return res.sendStatus(204);
 });
diff --git a/api/src/routes/discoverable-guilds.ts b/api/src/routes/discoverable-guilds.ts
index b626b084..1cf56f84 100644
--- a/api/src/routes/discoverable-guilds.ts
+++ b/api/src/routes/discoverable-guilds.ts
@@ -3,7 +3,6 @@ import { Guild, Config } from "@fosscord/util";
 import { Router, Request, Response } from "express";
 import { route } from "@fosscord/api";
 
-
 const router = Router();
 
 router.get("/", route({}), async (req: Request, res: Response) => {
@@ -12,7 +11,9 @@ router.get("/", route({}), async (req: Request, res: Response) => {
 	// ! this only works using SQL querys
 	// TODO: implement this with default typeorm query
 	// const guilds = await Guild.find({ where: { features: "DISCOVERABLE" } }); //, take: Math.abs(Number(limit)) });
-	const guilds = showAllGuilds ? await Guild.find({take: Math.abs(Number(limit || 20))}) : await Guild.find({ where: `"features" LIKE '%COMMUNITY%'`, take: Math.abs(Number(limit || 20)) });
+	const guilds = showAllGuilds
+		? await Guild.find({ take: Math.abs(Number(limit || 20)) })
+		: await Guild.find({ where: `"features" LIKE '%COMMUNITY%'`, take: Math.abs(Number(limit || 20)) });
 	res.send({ guilds: guilds });
 });
 
diff --git a/api/src/routes/discovery.ts b/api/src/routes/discovery.ts
index 9e6e0164..bc495d42 100644
--- a/api/src/routes/discovery.ts
+++ b/api/src/routes/discovery.ts
@@ -5,7 +5,7 @@ const router = Router();
 
 router.get("/categories", route({}), (req: Request, res: Response) => {
 	// TODO:
-    //const { locale, primary_only } = req.query;
+	//const { locale, primary_only } = req.query;
 	res.json([]).status(200);
 });
 
diff --git a/api/src/routes/gateway/bot.ts b/api/src/routes/gateway/bot.ts
index 72313700..f1dbb9df 100644
--- a/api/src/routes/gateway/bot.ts
+++ b/api/src/routes/gateway/bot.ts
@@ -12,7 +12,7 @@ export interface GatewayBotResponse {
 		remaining: number;
 		reset_after: number;
 		max_concurrency: number;
-	}
+	};
 }
 
 const options: RouteOptions = {
diff --git a/api/src/routes/guilds/#guild_id/prune.ts b/api/src/routes/guilds/#guild_id/prune.ts
index 92809985..0dd4d610 100644
--- a/api/src/routes/guilds/#guild_id/prune.ts
+++ b/api/src/routes/guilds/#guild_id/prune.ts
@@ -1,82 +1,82 @@
-import { Router, Request, Response } from "express";

-import { Guild, Member, Snowflake } from "@fosscord/util";

-import { LessThan, IsNull } from "typeorm";

-import { route } from "@fosscord/api";

-const router = Router();

-

-//Returns all inactive members, respecting role hierarchy

-export const inactiveMembers = async (guild_id: string, user_id: string, days: number, roles: string[] = []) => {

-	var date = new Date();

-	date.setDate(date.getDate() - days);

-	//Snowflake should have `generateFromTime` method? Or similar?

-	var minId = BigInt(date.valueOf() - Snowflake.EPOCH) << BigInt(22);

-

-	var members = await Member.find({

-		where: [

-			{

-				guild_id,

-				last_message_id: LessThan(minId.toString())

-			},

-			{

-				last_message_id: IsNull()

-			}

-		],

-		relations: ["roles"]

-	});

-	console.log(members);

-	if (!members.length) return [];

-

-	//I'm sure I can do this in the above db query ( and it would probably be better to do so ), but oh well.

-	if (roles.length && members.length) members = members.filter((user) => user.roles?.some((role) => roles.includes(role.id)));

-

-	const me = await Member.findOneOrFail({ id: user_id, guild_id }, { relations: ["roles"] });

-	const myHighestRole = Math.max(...(me.roles?.map((x) => x.position) || []));

-

-	const guild = await Guild.findOneOrFail({ where: { id: guild_id } });

-

-	members = members.filter(

-		(member) =>

-			member.id !== guild.owner_id && //can't kick owner

-			member.roles?.some(

-				(role) =>

-					role.position < myHighestRole || //roles higher than me can't be kicked

-					me.id === guild.owner_id //owner can kick anyone

-			)

-	);

-

-	return members;

-};

-

-router.get("/", route({ permission: "KICK_MEMBERS" }), async (req: Request, res: Response) => {

-	const days = parseInt(req.query.days as string);

-

-	var roles = req.query.include_roles;

-	if (typeof roles === "string") roles = [roles]; //express will return array otherwise

-

-	const members = await inactiveMembers(req.params.guild_id, req.user_id, days, roles as string[]);

-

-	res.send({ pruned: members.length });

-});

-

-export interface PruneSchema {

-	/**

-	 * @min 0

-	 */

-	days: number;

-}

-

-router.post("/", route({ permission: "KICK_MEMBERS" }), async (req: Request, res: Response) => {

-	const days = parseInt(req.body.days);

-

-	var roles = req.query.include_roles;

-	if (typeof roles === "string") roles = [roles];

-

-	const { guild_id } = req.params;

-	const members = await inactiveMembers(guild_id, req.user_id, days, roles as string[]);

-

-	await Promise.all(members.map((x) => Member.removeFromGuild(x.id, guild_id)));

-

-	res.send({ purged: members.length });

-});

-

-export default router;

+import { Router, Request, Response } from "express";
+import { Guild, Member, Snowflake } from "@fosscord/util";
+import { LessThan, IsNull } from "typeorm";
+import { route } from "@fosscord/api";
+const router = Router();
+
+//Returns all inactive members, respecting role hierarchy
+export const inactiveMembers = async (guild_id: string, user_id: string, days: number, roles: string[] = []) => {
+	var date = new Date();
+	date.setDate(date.getDate() - days);
+	//Snowflake should have `generateFromTime` method? Or similar?
+	var minId = BigInt(date.valueOf() - Snowflake.EPOCH) << BigInt(22);
+
+	var members = await Member.find({
+		where: [
+			{
+				guild_id,
+				last_message_id: LessThan(minId.toString())
+			},
+			{
+				last_message_id: IsNull()
+			}
+		],
+		relations: ["roles"]
+	});
+	console.log(members);
+	if (!members.length) return [];
+
+	//I'm sure I can do this in the above db query ( and it would probably be better to do so ), but oh well.
+	if (roles.length && members.length) members = members.filter((user) => user.roles?.some((role) => roles.includes(role.id)));
+
+	const me = await Member.findOneOrFail({ id: user_id, guild_id }, { relations: ["roles"] });
+	const myHighestRole = Math.max(...(me.roles?.map((x) => x.position) || []));
+
+	const guild = await Guild.findOneOrFail({ where: { id: guild_id } });
+
+	members = members.filter(
+		(member) =>
+			member.id !== guild.owner_id && //can't kick owner
+			member.roles?.some(
+				(role) =>
+					role.position < myHighestRole || //roles higher than me can't be kicked
+					me.id === guild.owner_id //owner can kick anyone
+			)
+	);
+
+	return members;
+};
+
+router.get("/", route({ permission: "KICK_MEMBERS" }), async (req: Request, res: Response) => {
+	const days = parseInt(req.query.days as string);
+
+	var roles = req.query.include_roles;
+	if (typeof roles === "string") roles = [roles]; //express will return array otherwise
+
+	const members = await inactiveMembers(req.params.guild_id, req.user_id, days, roles as string[]);
+
+	res.send({ pruned: members.length });
+});
+
+export interface PruneSchema {
+	/**
+	 * @min 0
+	 */
+	days: number;
+}
+
+router.post("/", route({ permission: "KICK_MEMBERS" }), async (req: Request, res: Response) => {
+	const days = parseInt(req.body.days);
+
+	var roles = req.query.include_roles;
+	if (typeof roles === "string") roles = [roles];
+
+	const { guild_id } = req.params;
+	const members = await inactiveMembers(guild_id, req.user_id, days, roles as string[]);
+
+	await Promise.all(members.map((x) => Member.removeFromGuild(x.id, guild_id)));
+
+	res.send({ purged: members.length });
+});
+
+export default router;
diff --git a/api/src/routes/oauth2/tokens.ts b/api/src/routes/oauth2/tokens.ts
index 3657176d..bd284221 100644
--- a/api/src/routes/oauth2/tokens.ts
+++ b/api/src/routes/oauth2/tokens.ts
@@ -2,8 +2,8 @@ import { Router, Request, Response } from "express";
 import { route } from "@fosscord/api";
 const router = Router();
 
-router.get("/",route({}), async (req: Request, res: Response) => {
-    //TODO
+router.get("/", route({}), async (req: Request, res: Response) => {
+	//TODO
 	res.json([]);
 });
 
diff --git a/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts b/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts
index 77f949d9..54151ae5 100644
--- a/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts
+++ b/api/src/routes/store/published-listings/applications/#id/subscription-plans.ts
@@ -6,19 +6,20 @@ const router: Router = Router();
 router.get("/", route({}), async (req: Request, res: Response) => {
 	//TODO
 	res.json([
-        {
-            id: "",
-            name: "",
-            interval: 1,
-            interval_count: 1,
-            tax_inclusive: true,
-            sku_id: "",
-            fallback_price: 499,
-            fallback_currency: "eur",
-            currency: "eur",
-            price: 4199,
-            price_tier: null
-        }]).status(200);
+		{
+			id: "",
+			name: "",
+			interval: 1,
+			interval_count: 1,
+			tax_inclusive: true,
+			sku_id: "",
+			fallback_price: 499,
+			fallback_currency: "eur",
+			currency: "eur",
+			price: 4199,
+			price_tier: null
+		}
+	]).status(200);
 });
 
 export default router;
diff --git a/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts b/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
index 54c01607..723a5160 100644
--- a/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
+++ b/api/src/routes/store/published-listings/skus/#sku_id/subscription-plans.ts
@@ -4,17 +4,134 @@ import { route } from "@fosscord/api";
 const router: Router = Router();
 
 const skus = new Map([
-	["521842865731534868", [{"id": "511651856145973248", "name": "Premium Monthly (Legacy)", "interval": 1, "interval_count": 1, "tax_inclusive": true, "sku_id": "521842865731534868", "currency": "usd", "price": 0, "price_tier": null}, {"id": "511651860671627264", "name": "Premium Yearly (Legacy)", "interval": 2, "interval_count": 1, "tax_inclusive": true, "sku_id": "521842865731534868", "currency": "usd", "price": 0, "price_tier": null}]],
-	["521846918637420545", [{"id": "511651871736201216", "name": "Premium Classic Monthly", "interval": 1, "interval_count": 1, "tax_inclusive": true, "sku_id": "521846918637420545", "currency": "usd", "price": 0, "price_tier": null}, {"id": "511651876987469824", "name": "Premium Classic Yearly", "interval": 2, "interval_count": 1, "tax_inclusive": true, "sku_id": "521846918637420545", "currency": "usd", "price": 0, "price_tier": null}]],
-	["521847234246082599", [{"id": "642251038925127690", "name": "Premium Quarterly", "interval": 1, "interval_count": 3, "tax_inclusive": true, "sku_id": "521847234246082599", "currency": "usd", "price": 0, "price_tier": null}, {"id": "511651880837840896", "name": "Premium Monthly", "interval": 1, "interval_count": 1, "tax_inclusive": true, "sku_id": "521847234246082599", "currency": "usd", "price": 0, "price_tier": null}, {"id": "511651885459963904", "name": "Premium Yearly", "interval": 2, "interval_count": 1, "tax_inclusive": true, "sku_id": "521847234246082599", "currency": "usd", "price": 0, "price_tier": null}]],
-	["590663762298667008", [{"id": "590665532894740483", "name": "Server Boost Monthly", "interval": 1, "interval_count": 1, "tax_inclusive": true, "sku_id": "590663762298667008", "discount_price": 0, "currency": "usd", "price": 0, "price_tier": null}, {"id": "590665538238152709", "name": "Server Boost Yearly", "interval": 2, "interval_count": 1, "tax_inclusive": true, "sku_id": "590663762298667008", "discount_price": 0, "currency": "usd", "price": 0, "price_tier": null}]],
+	[
+		"521842865731534868",
+		[
+			{
+				id: "511651856145973248",
+				name: "Premium Monthly (Legacy)",
+				interval: 1,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521842865731534868",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			},
+			{
+				id: "511651860671627264",
+				name: "Premium Yearly (Legacy)",
+				interval: 2,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521842865731534868",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			}
+		]
+	],
+	[
+		"521846918637420545",
+		[
+			{
+				id: "511651871736201216",
+				name: "Premium Classic Monthly",
+				interval: 1,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521846918637420545",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			},
+			{
+				id: "511651876987469824",
+				name: "Premium Classic Yearly",
+				interval: 2,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521846918637420545",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			}
+		]
+	],
+	[
+		"521847234246082599",
+		[
+			{
+				id: "642251038925127690",
+				name: "Premium Quarterly",
+				interval: 1,
+				interval_count: 3,
+				tax_inclusive: true,
+				sku_id: "521847234246082599",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			},
+			{
+				id: "511651880837840896",
+				name: "Premium Monthly",
+				interval: 1,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521847234246082599",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			},
+			{
+				id: "511651885459963904",
+				name: "Premium Yearly",
+				interval: 2,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "521847234246082599",
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			}
+		]
+	],
+	[
+		"590663762298667008",
+		[
+			{
+				id: "590665532894740483",
+				name: "Server Boost Monthly",
+				interval: 1,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "590663762298667008",
+				discount_price: 0,
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			},
+			{
+				id: "590665538238152709",
+				name: "Server Boost Yearly",
+				interval: 2,
+				interval_count: 1,
+				tax_inclusive: true,
+				sku_id: "590663762298667008",
+				discount_price: 0,
+				currency: "usd",
+				price: 0,
+				price_tier: null
+			}
+		]
+	]
 ]);
 
 router.get("/", route({}), async (req: Request, res: Response) => {
 	// TODO: add the ability to add custom
 	const { sku_id } = req.params;
-	
-	if(!skus.has(sku_id)) {
+
+	if (!skus.has(sku_id)) {
 		console.log(`Request for invalid SKU ${sku_id}! Please report this!`);
 		res.sendStatus(404);
 	} else {
diff --git a/api/src/routes/users/@me/activities/statistics/applications.ts b/api/src/routes/users/@me/activities/statistics/applications.ts
index 834be35c..014df8af 100644
--- a/api/src/routes/users/@me/activities/statistics/applications.ts
+++ b/api/src/routes/users/@me/activities/statistics/applications.ts
@@ -5,7 +5,7 @@ const router = Router();
 
 router.get("/", route({}), (req: Request, res: Response) => {
 	// TODO:
-	res.json([]).status(200)
+	res.json([]).status(200);
 });
 
 export default router;
diff --git a/api/src/routes/users/@me/billing/payment-sources.ts b/api/src/routes/users/@me/billing/payment-sources.ts
index 834be35c..014df8af 100644
--- a/api/src/routes/users/@me/billing/payment-sources.ts
+++ b/api/src/routes/users/@me/billing/payment-sources.ts
@@ -5,7 +5,7 @@ const router = Router();
 
 router.get("/", route({}), (req: Request, res: Response) => {
 	// TODO:
-	res.json([]).status(200)
+	res.json([]).status(200);
 });
 
 export default router;
diff --git a/api/src/routes/users/@me/channels.ts b/api/src/routes/users/@me/channels.ts
index b5782eca..78f531e1 100644
--- a/api/src/routes/users/@me/channels.ts
+++ b/api/src/routes/users/@me/channels.ts
@@ -5,8 +5,11 @@ import { route } from "@fosscord/api";
 const router: Router = Router();
 
 router.get("/", route({}), async (req: Request, res: Response) => {
-	const recipients = await Recipient.find({ where: { user_id: req.user_id, closed: false }, relations: ["channel", "channel.recipients"] });
-	res.json(await Promise.all(recipients.map(r => DmChannelDTO.from(r.channel, [req.user_id]))));
+	const recipients = await Recipient.find({
+		where: { user_id: req.user_id, closed: false },
+		relations: ["channel", "channel.recipients"]
+	});
+	res.json(await Promise.all(recipients.map((r) => DmChannelDTO.from(r.channel, [req.user_id]))));
 });
 
 export interface DmChannelCreateSchema {
diff --git a/api/src/routes/users/@me/email-settings.ts b/api/src/routes/users/@me/email-settings.ts
index 2d961a0e..3114984e 100644
--- a/api/src/routes/users/@me/email-settings.ts
+++ b/api/src/routes/users/@me/email-settings.ts
@@ -4,14 +4,15 @@ import { route } from "@fosscord/api";
 const router = Router();
 
 router.get("/", route({}), (req: Request, res: Response) => {
-	// TODO:    
+	// TODO:
 	res.json({
-		categories: { 
-        social: true,
-        communication: true,
-        tips: false,
-        updates_and_announcements: false,
-        recommendations_and_events: false },
+		categories: {
+			social: true,
+			communication: true,
+			tips: false,
+			updates_and_announcements: false,
+			recommendations_and_events: false
+		},
 		initialized: false
 	}).status(200);
 });
diff --git a/api/src/util/ipAddress.ts b/api/src/util/ipAddress.ts
index c6239426..13cc9603 100644
--- a/api/src/util/ipAddress.ts
+++ b/api/src/util/ipAddress.ts
@@ -81,18 +81,15 @@ export function getIpAdress(req: Request): string {
 	return req.headers[Config.get().security.forwadedFor] || req.socket.remoteAddress;
 }
 
-
 export function distanceBetweenLocations(loc1: any, loc2: any): number {
 	return distanceBetweenCoords(loc1.latitude, loc1.longitude, loc2.latitude, loc2.longitude);
 }
 
 //Haversine function
 function distanceBetweenCoords(lat1: number, lon1: number, lat2: number, lon2: number) {
-	const p = 0.017453292519943295;    // Math.PI / 180
+	const p = 0.017453292519943295; // Math.PI / 180
 	const c = Math.cos;
-	const a = 0.5 - c((lat2 - lat1) * p) / 2 +
-		c(lat1 * p) * c(lat2 * p) *
-		(1 - c((lon2 - lon1) * p)) / 2;
+	const a = 0.5 - c((lat2 - lat1) * p) / 2 + (c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p))) / 2;
 
 	return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km
-}
\ No newline at end of file
+}
diff --git a/bundle/.prettierrc b/bundle/.prettierrc
new file mode 100644
index 00000000..6a48eb4a
--- /dev/null
+++ b/bundle/.prettierrc
@@ -0,0 +1,4 @@
+{
+	"useTabs": true,
+	"tabWidth": 4
+}
diff --git a/bundle/scripts/build.js b/bundle/scripts/build.js
index dbc305a9..ad00d47f 100644
--- a/bundle/scripts/build.js
+++ b/bundle/scripts/build.js
@@ -18,15 +18,24 @@ if (argv.includes("clean")) {
 	});
 }
 
-fse.copySync(path.join(__dirname, "..", "..", "api", "assets"), path.join(__dirname, "..", "dist", "api", "assets"));
+fse.copySync(
+	path.join(__dirname, "..", "..", "api", "assets"),
+	path.join(__dirname, "..", "dist", "api", "assets")
+);
 fse.copySync(
 	path.join(__dirname, "..", "..", "api", "client_test"),
 	path.join(__dirname, "..", "dist", "api", "client_test")
 );
-fse.copySync(path.join(__dirname, "..", "..", "api", "locales"), path.join(__dirname, "..", "dist", "api", "locales"));
+fse.copySync(
+	path.join(__dirname, "..", "..", "api", "locales"),
+	path.join(__dirname, "..", "dist", "api", "locales")
+);
 dirs.forEach((a) => {
 	fse.copySync("../" + a + "/src", "dist/" + a + "/src");
-	if (verbose) console.log(`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`);
+	if (verbose)
+		console.log(
+			`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`
+		);
 });
 
 console.log("Copying src files done");
@@ -35,7 +44,14 @@ console.log("Compiling src files ...");
 console.log(
 	execSync(
 		'node "' +
-			path.join(__dirname, "..", "node_modules", "typescript", "lib", "tsc.js") +
+			path.join(
+				__dirname,
+				"..",
+				"node_modules",
+				"typescript",
+				"lib",
+				"tsc.js"
+			) +
 			'" -p "' +
 			path.join(__dirname, "..") +
 			'"',
diff --git a/bundle/scripts/install.js b/bundle/scripts/install.js
index 3008b4c5..db9dadbc 100644
--- a/bundle/scripts/install.js
+++ b/bundle/scripts/install.js
@@ -5,10 +5,19 @@ const parts = ["api", "util", "cdn", "gateway"];
 const bundle = require("../package.json");
 
 for (const part of parts) {
-	const { devDependencies, dependencies } = require(path.join("..", "..", part, "package.json"));
+	const { devDependencies, dependencies } = require(path.join(
+		"..",
+		"..",
+		part,
+		"package.json"
+	));
 	bundle.devDependencies = { ...bundle.devDependencies, ...devDependencies };
 	bundle.dependencies = { ...bundle.dependencies, ...dependencies };
 	delete bundle.dependencies["@fosscord/util"];
 }
 
-fs.writeFileSync(path.join(__dirname, "..", "package.json"), JSON.stringify(bundle, null, "\t"), { encoding: "utf8" });
+fs.writeFileSync(
+	path.join(__dirname, "..", "package.json"),
+	JSON.stringify(bundle, null, "\t"),
+	{ encoding: "utf8" }
+);
diff --git a/bundle/tsconfig.json b/bundle/tsconfig.json
index 4e8db342..58c61132 100644
--- a/bundle/tsconfig.json
+++ b/bundle/tsconfig.json
@@ -8,7 +8,9 @@
 		"incremental": false /* Enable incremental compilation */,
 		"target": "ES6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
 		"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
-		"lib": ["ES2021"] /* Specify library files to be included in the compilation. */,
+		"lib": [
+			"ES2021"
+		] /* Specify library files to be included in the compilation. */,
 		"allowJs": true /* Allow javascript files to be compiled. */,
 		"checkJs": true /* Report errors in .js files. */,
 		// "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
@@ -46,7 +48,9 @@
 		// "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
 		// "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
 		// "typeRoots": [],                       /* List of folders to include type definitions from. */
-		"types": ["node"] /* Type declaration files to be included in compilation. */,
+		"types": [
+			"node"
+		] /* Type declaration files to be included in compilation. */,
 		// "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
 		"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
 		// "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
diff --git a/cdn/README.md b/cdn/README.md
index 6cd6186a..7d8e99b0 100644
--- a/cdn/README.md
+++ b/cdn/README.md
@@ -1,20 +1,26 @@
 # Fosscord-CDN
+
 CDN for Fosscord
 
 ## Run localy:
+
 ```
 npm i
 node dist/
 ```
 
 ## Endpoints:
+
 ### POST `/attachments/<filename>`
+
 ```
 Content-Type: form-data
 
 attachment: File (binary-data)
 ```
+
 ##### Returns:
+
 ```
 {
     "success": boolean,             // true
@@ -23,20 +29,28 @@ attachment: File (binary-data)
     "filename": string              // "lakdoiauej.png"
 }
 ```
+
 ### GET `/attachments/<id>/<filename>`
+
 ```
 requests image from database with given <id> and <filename>
 ```
+
 ##### Returns:
+
 ```
 Content-Type: image/<imageType(png,img,gif)>
 Image
 ```
+
 ### DELETE `/attachments/<id>/<filename>`
+
 ```
 deletes database entry
 ```
+
 ##### Returns:
+
 ```
 Content-Type: application/json
 
@@ -49,7 +63,8 @@ Content-Type: application/json
 <hr>
 
 _(endpoints for crawler):_
-### POST `/external` 
+
+### POST `/external`
 
 ```
 requests crawling of `og:`metadata and the download of the `og:image` property
@@ -59,7 +74,9 @@ Content-Type: application/json
 body:
 {"url": URL}                  // "https://discord.com"
 ```
+
 ##### Returns:
+
 ```
 Content-Type: application/json
 
@@ -72,17 +89,23 @@ Content-Type: application/json
     "ogType": string          // "website"
 }
 ```
+
 ### GET `/external/<id>/<filename>`
-- requests cached crawled image 
+
+-   requests cached crawled image
+
 ```
 url-params:
     :id                       // aHR0cHM6Ly9kaXNjb3JkLmNvbQ==
     :filename                 // discord.png
 ```
+
 ```
 /external/aHR0cHM6Ly9kaXNjb3JkLmNvbQ==/discord.png
 ```
+
 ##### Returns:
+
 ```
 Content-Type: image/<imageType(png,img,gif)>
 Image
diff --git a/cdn/package.json b/cdn/package.json
index 318f1632..fec43785 100644
--- a/cdn/package.json
+++ b/cdn/package.json
@@ -1,67 +1,67 @@
 {
-    "name": "@fosscord/cdn",
-    "version": "1.0.0",
-    "description": "cdn for fosscord",
-    "main": "dist/index.js",
-    "types": "src/index.ts",
-    "scripts": {
-        "test": "npm run build && jest --coverage ./tests",
-        "build": "npx tsc -p .",
-        "start": "node dist/start.js"
-    },
-    "repository": {
-        "type": "git",
-        "url": "git+https://github.com/fosscord/fosscord-server.git"
-    },
-    "keywords": [],
-    "author": "",
-    "license": "ISC",
-    "bugs": {
-        "url": "https://github.com/fosscord/fosscord-server/issues"
-    },
-    "homepage": "https://github.com/fosscord/fosscord-server#readme",
-    "devDependencies": {
-        "@types/amqplib": "^0.8.1",
-        "@types/body-parser": "^1.19.0",
-        "@types/btoa": "^1.2.3",
-        "@types/dotenv": "^8.2.0",
-        "@types/express": "^4.17.12",
-        "@types/fs-extra": "^9.0.12",
-        "@types/jsonwebtoken": "^8.5.0",
-        "@types/multer": "^1.4.7",
-        "@types/node": "^14.17.0",
-        "@types/node-fetch": "^2.5.7",
-        "@zerollup/ts-transform-paths": "^1.7.18",
-        "ts-patch": "^1.4.4"
-    },
-    "dependencies": {
-        "@aws-sdk/client-s3": "^3.36.1",
-        "@aws-sdk/node-http-handler": "^3.36.0",
-        "@fosscord/util": "file:../util",
-        "body-parser": "^1.19.0",
-        "btoa": "^1.2.1",
-        "dotenv": "^10.0.0",
-        "exif-be-gone": "^1.2.0",
-        "express": "^4.17.1",
-        "express-async-errors": "^3.1.1",
-        "file-type": "^16.5.0",
-        "form-data": "^4.0.0",
-        "fs-extra": "^10.0.0",
-        "image-size": "^1.0.0",
-        "jest": "^27.0.6",
-        "lambert-db": "^1.2.3",
-        "lambert-server": "^1.2.12",
-        "missing-native-js-functions": "^1.2.17",
-        "multer": "^1.4.2",
-        "nanocolors": "^0.2.12",
-        "node-fetch": "^2.6.1",
-        "supertest": "^6.1.6",
-        "typescript": "^4.1.2"
-    },
-    "jest": {
-        "setupFilesAfterEnv": [
-            "<rootDir>/jest/setup.js"
-        ],
-        "verbose": true
-    }
+	"name": "@fosscord/cdn",
+	"version": "1.0.0",
+	"description": "cdn for fosscord",
+	"main": "dist/index.js",
+	"types": "src/index.ts",
+	"scripts": {
+		"test": "npm run build && jest --coverage ./tests",
+		"build": "npx tsc -p .",
+		"start": "node dist/start.js"
+	},
+	"repository": {
+		"type": "git",
+		"url": "git+https://github.com/fosscord/fosscord-server.git"
+	},
+	"keywords": [],
+	"author": "",
+	"license": "ISC",
+	"bugs": {
+		"url": "https://github.com/fosscord/fosscord-server/issues"
+	},
+	"homepage": "https://github.com/fosscord/fosscord-server#readme",
+	"devDependencies": {
+		"@types/amqplib": "^0.8.1",
+		"@types/body-parser": "^1.19.0",
+		"@types/btoa": "^1.2.3",
+		"@types/dotenv": "^8.2.0",
+		"@types/express": "^4.17.12",
+		"@types/fs-extra": "^9.0.12",
+		"@types/jsonwebtoken": "^8.5.0",
+		"@types/multer": "^1.4.7",
+		"@types/node": "^14.17.0",
+		"@types/node-fetch": "^2.5.7",
+		"@zerollup/ts-transform-paths": "^1.7.18",
+		"ts-patch": "^1.4.4"
+	},
+	"dependencies": {
+		"@aws-sdk/client-s3": "^3.36.1",
+		"@aws-sdk/node-http-handler": "^3.36.0",
+		"@fosscord/util": "file:../util",
+		"body-parser": "^1.19.0",
+		"btoa": "^1.2.1",
+		"dotenv": "^10.0.0",
+		"exif-be-gone": "^1.2.0",
+		"express": "^4.17.1",
+		"express-async-errors": "^3.1.1",
+		"file-type": "^16.5.0",
+		"form-data": "^4.0.0",
+		"fs-extra": "^10.0.0",
+		"image-size": "^1.0.0",
+		"jest": "^27.0.6",
+		"lambert-db": "^1.2.3",
+		"lambert-server": "^1.2.12",
+		"missing-native-js-functions": "^1.2.17",
+		"multer": "^1.4.2",
+		"nanocolors": "^0.2.12",
+		"node-fetch": "^2.6.1",
+		"supertest": "^6.1.6",
+		"typescript": "^4.1.2"
+	},
+	"jest": {
+		"setupFilesAfterEnv": [
+			"<rootDir>/jest/setup.js"
+		],
+		"verbose": true
+	}
 }
diff --git a/cdn/src/util/S3Storage.ts b/cdn/src/util/S3Storage.ts
index df5bc19c..c4066817 100644
--- a/cdn/src/util/S3Storage.ts
+++ b/cdn/src/util/S3Storage.ts
@@ -5,30 +5,30 @@ import { Storage } from "./Storage";
 const readableToBuffer = (readable: Readable): Promise<Buffer> =>
 	new Promise((resolve, reject) => {
 		const chunks: Buffer[] = [];
-		readable.on('data', chunk => chunks.push(chunk));
-		readable.on('error', reject);
-		readable.on('end', () => resolve(Buffer.concat(chunks)));
+		readable.on("data", (chunk) => chunks.push(chunk));
+		readable.on("error", reject);
+		readable.on("end", () => resolve(Buffer.concat(chunks)));
 	});
 
 export class S3Storage implements Storage {
 	public constructor(
 		private client: S3,
 		private bucket: string,
-		private basePath?: string,
+		private basePath?: string
 	) {}
 
 	/**
 	 * Always return a string, to ensure consistency.
 	 */
 	get bucketBasePath() {
-		return this.basePath ?? '';
+		return this.basePath ?? "";
 	}
 
 	async set(path: string, data: Buffer): Promise<void> {
 		await this.client.putObject({
 			Bucket: this.bucket,
 			Key: `${this.bucketBasePath}${path}`,
-			Body: data
+			Body: data,
 		});
 	}
 
@@ -36,15 +36,15 @@ export class S3Storage implements Storage {
 		try {
 			const s3Object = await this.client.getObject({
 				Bucket: this.bucket,
-				Key: `${this.bucketBasePath ?? ''}${path}`
+				Key: `${this.bucketBasePath ?? ""}${path}`,
 			});
 
 			if (!s3Object.Body) return null;
 
 			const body = s3Object.Body;
 
-			return await readableToBuffer(<Readable> body);
-		} catch(err) {
+			return await readableToBuffer(<Readable>body);
+		} catch (err) {
 			console.error(`[CDN] Unable to get S3 object at path ${path}.`);
 			console.error(err);
 			return null;
@@ -54,7 +54,7 @@ export class S3Storage implements Storage {
 	async delete(path: string): Promise<void> {
 		await this.client.deleteObject({
 			Bucket: this.bucket,
-			Key: `${this.bucketBasePath}${path}`
+			Key: `${this.bucketBasePath}${path}`,
 		});
 	}
 }
diff --git a/cdn/src/util/Storage.ts b/cdn/src/util/Storage.ts
index 3332f21c..f45fe44a 100644
--- a/cdn/src/util/Storage.ts
+++ b/cdn/src/util/Storage.ts
@@ -2,7 +2,7 @@ import { FileStorage } from "./FileStorage";
 import path from "path";
 import fse from "fs-extra";
 import { bgCyan, black } from "nanocolors";
-import { S3 } from '@aws-sdk/client-s3';
+import { S3 } from "@aws-sdk/client-s3";
 import { S3Storage } from "./S3Storage";
 process.cwd();
 
@@ -27,17 +27,20 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
 
 	storage = new FileStorage();
 } else if (process.env.STORAGE_PROVIDER === "s3") {
-	const
-		region = process.env.STORAGE_REGION,
+	const region = process.env.STORAGE_REGION,
 		bucket = process.env.STORAGE_BUCKET;
 
 	if (!region) {
-		console.error(`[CDN] You must provide a region when using the S3 storage provider.`);
+		console.error(
+			`[CDN] You must provide a region when using the S3 storage provider.`
+		);
 		process.exit(1);
 	}
 
 	if (!bucket) {
-		console.error(`[CDN] You must provide a bucket when using the S3 storage provider.`);
+		console.error(
+			`[CDN] You must provide a bucket when using the S3 storage provider.`
+		);
 		process.exit(1);
 	}
 
@@ -45,8 +48,10 @@ if (process.env.STORAGE_PROVIDER === "file" || !process.env.STORAGE_PROVIDER) {
 	let location = process.env.STORAGE_LOCATION;
 
 	if (!location) {
-		console.warn(`[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...`);
-  		location = undefined;
+		console.warn(
+			`[CDN] STORAGE_LOCATION unconfigured for S3 provider, defaulting to the bucket root...`
+		);
+		location = undefined;
 	}
 
 	const client = new S3({ region });
diff --git a/cdn/tests/cdn_endpoints.test.js b/cdn/tests/cdn_endpoints.test.js
index a133d0dd..8cf16748 100644
--- a/cdn/tests/cdn_endpoints.test.js
+++ b/cdn/tests/cdn_endpoints.test.js
@@ -11,7 +11,12 @@ if (!process.env.STORAGE_PROVIDER) process.env.STORAGE_PROVIDER = "file";
 if (process.env.STORAGE_PROVIDER === "file") {
 	if (process.env.STORAGE_LOCATION) {
 		if (!process.env.STORAGE_LOCATION.startsWith("/")) {
-			process.env.STORAGE_LOCATION = path.join(__dirname, "..", process.env.STORAGE_LOCATION, "/");
+			process.env.STORAGE_LOCATION = path.join(
+				__dirname,
+				"..",
+				process.env.STORAGE_LOCATION,
+				"/"
+			);
 		}
 	} else {
 		process.env.STORAGE_LOCATION = path.join(__dirname, "..", "files", "/");
@@ -67,7 +72,9 @@ describe("/attachments", () => {
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
 				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(expect.stringContaining("json"));
+				expect(response.headers["content-type"]).toEqual(
+					expect.stringContaining("json")
+				);
 				expect(response.body.url).toBeDefined();
 			});
 		});
@@ -79,9 +86,11 @@ describe("/attachments", () => {
 					.post("/attachments/123456789")
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
-				request.get(response.body.url.replace("http://localhost:3003", "")).then((x) => {
-					expect(x.statusCode).toBe(200);
-				});
+				request
+					.get(response.body.url.replace("http://localhost:3003", ""))
+					.then((x) => {
+						expect(x.statusCode).toBe(200);
+					});
 			});
 		});
 	});
@@ -92,9 +101,13 @@ describe("/attachments", () => {
 					.post("/attachments/123456789")
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
-				request.delete(response.body.url.replace("http://localhost:3003", "")).then((x) => {
-					expect(x.body.success).toBeDefined();
-				});
+				request
+					.delete(
+						response.body.url.replace("http://localhost:3003", "")
+					)
+					.then((x) => {
+						expect(x.body.success).toBeDefined();
+					});
 			});
 		});
 	});
@@ -123,7 +136,9 @@ describe("/avatars", () => {
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
 				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(expect.stringContaining("json"));
+				expect(response.headers["content-type"]).toEqual(
+					expect.stringContaining("json")
+				);
 				expect(response.body.url).toBeDefined();
 			});
 		});
@@ -135,9 +150,11 @@ describe("/avatars", () => {
 					.post("/avatars/123456789")
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
-				request.get(response.body.url.replace("http://localhost:3003", "")).then((x) => {
-					expect(x.statusCode).toBe(200);
-				});
+				request
+					.get(response.body.url.replace("http://localhost:3003", ""))
+					.then((x) => {
+						expect(x.statusCode).toBe(200);
+					});
 			});
 		});
 	});
@@ -148,9 +165,13 @@ describe("/avatars", () => {
 					.post("/avatars/123456789")
 					.set({ signature: Config.get().security.requestSignature })
 					.attach("file", __dirname + "/antman.jpg");
-				request.delete(response.body.url.replace("http://localhost:3003", "")).then((x) => {
-					expect(x.body.success).toBeDefined();
-				});
+				request
+					.delete(
+						response.body.url.replace("http://localhost:3003", "")
+					)
+					.then((x) => {
+						expect(x.body.success).toBeDefined();
+					});
 			});
 		});
 	});
@@ -177,9 +198,13 @@ describe("/external", () => {
 				const response = await request
 					.post("/external")
 					.set({ signature: Config.get().security.requestSignature })
-					.send({ url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp" });
+					.send({
+						url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp",
+					});
 				expect(response.statusCode).toBe(200);
-				expect(response.headers["content-type"]).toEqual(expect.stringContaining("json"));
+				expect(response.headers["content-type"]).toEqual(
+					expect.stringContaining("json")
+				);
 				expect(response.body.id).toBeDefined();
 			});
 		});
@@ -201,7 +226,9 @@ describe("/external", () => {
 				let response = await request
 					.post("/external")
 					.set({ signature: Config.get().security.requestSignature })
-					.send({ url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp" });
+					.send({
+						url: "https://i.ytimg.com/vi_webp/TiXzhQr5AUc/mqdefault.webp",
+					});
 				request.get(`external/${response.body.id}`).then((x) => {
 					expect(x.statusCode).toBe(200);
 				});
diff --git a/cdn/tsconfig.json b/cdn/tsconfig.json
index 249dffff..64ab18f4 100644
--- a/cdn/tsconfig.json
+++ b/cdn/tsconfig.json
@@ -7,7 +7,10 @@
 		"incremental": true /* Enable incremental compilation */,
 		"target": "ES6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
 		"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
-		"lib": ["ES2015", "dom"] /* Specify library files to be included in the compilation. */,
+		"lib": [
+			"ES2015",
+			"dom"
+		] /* Specify library files to be included in the compilation. */,
 		"allowJs": true /* Allow javascript files to be compiled. */,
 		"checkJs": true /* Report errors in .js files. */,
 		// "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
@@ -48,7 +51,9 @@
 		// "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
 		// "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
 		// "typeRoots": [],                       /* List of folders to include type definitions from. */
-		"types": ["node"] /* Type declaration files to be included in compilation. */,
+		"types": [
+			"node"
+		] /* Type declaration files to be included in compilation. */,
 		// "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
 		"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
 		// "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
diff --git a/crowdin.yml b/crowdin.yml
index c2943832..a6330566 100644
--- a/crowdin.yml
+++ b/crowdin.yml
@@ -1,3 +1,3 @@
 files:
-  - source: /api/locales/en/*.json
-    translation: /api/locales/%two_letters_code%/%original_file_name%
+    - source: /api/locales/en/*.json
+      translation: /api/locales/%two_letters_code%/%original_file_name%
diff --git a/docker-compose.yml b/docker-compose.yml
index 5861e12f..9fe41e15 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -21,4 +21,4 @@ services:
             - db
         ports:
             - 3002:3002
-        env_file: ./.docker/env
\ No newline at end of file
+        env_file: ./.docker/env
diff --git a/fosscord-server.code-workspace b/fosscord-server.code-workspace
index 645dcd76..e618b7f0 100644
--- a/fosscord-server.code-workspace
+++ b/fosscord-server.code-workspace
@@ -26,4 +26,4 @@
 		}
 	],
 	"settings": {}
-}
\ No newline at end of file
+}
diff --git a/gateway/.github/FUNDING.yml b/gateway/.github/FUNDING.yml
index f76b9015..43f3b63b 100644
--- a/gateway/.github/FUNDING.yml
+++ b/gateway/.github/FUNDING.yml
@@ -1 +1 @@
-open_collective: fosscord
\ No newline at end of file
+open_collective: fosscord
diff --git a/gateway/src/util/SessionUtils.ts b/gateway/src/util/SessionUtils.ts
index c66c7e76..bf854042 100644
--- a/gateway/src/util/SessionUtils.ts
+++ b/gateway/src/util/SessionUtils.ts
@@ -7,5 +7,7 @@ export function genVoiceToken() {
 }
 
 function genRanHex(size: number) {
-	return [...Array(size)].map(() => Math.floor(Math.random() * 16).toString(16)).join("");
+	return [...Array(size)]
+		.map(() => Math.floor(Math.random() * 16).toString(16))
+		.join("");
 }
diff --git a/gateway/tsconfig.json b/gateway/tsconfig.json
index b6ae9455..5ecb21e1 100644
--- a/gateway/tsconfig.json
+++ b/gateway/tsconfig.json
@@ -8,7 +8,11 @@
 		"incremental": true /* Enable incremental compilation */,
 		"target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
 		"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
-		"lib": ["ES2015", "ES2020.BigInt", "DOM"] /* Specify library files to be included in the compilation. */,
+		"lib": [
+			"ES2015",
+			"ES2020.BigInt",
+			"DOM"
+		] /* Specify library files to be included in the compilation. */,
 		"allowJs": true /* Allow javascript files to be compiled. */,
 		"checkJs": true /* Report errors in .js files. */,
 		// "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
@@ -48,7 +52,9 @@
 		// "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
 		// "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
 		// "typeRoots": [],                       /* List of folders to include type definitions from. */
-		"types": ["node"] /* Type declaration files to be included in compilation. */,
+		"types": [
+			"node"
+		] /* Type declaration files to be included in compilation. */,
 		// "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
 		"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
 		// "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
diff --git a/rtc/config.json b/rtc/config.json
index 9e26dfee..0967ef42 100644
--- a/rtc/config.json
+++ b/rtc/config.json
@@ -1 +1 @@
-{}
\ No newline at end of file
+{}
diff --git a/util/src/dtos/DmChannelDTO.ts b/util/src/dtos/DmChannelDTO.ts
index 8b7a18fd..226b2f9d 100644
--- a/util/src/dtos/DmChannelDTO.ts
+++ b/util/src/dtos/DmChannelDTO.ts
@@ -12,24 +12,30 @@ export class DmChannelDTO {
 	type: number;
 
 	static async from(channel: Channel, excluded_recipients: string[] = [], origin_channel_id?: string) {
-		const obj = new DmChannelDTO()
-		obj.icon = channel.icon || null
-		obj.id = channel.id
-		obj.last_message_id = channel.last_message_id || null
-		obj.name = channel.name || null
-		obj.origin_channel_id = origin_channel_id || null
-		obj.owner_id = channel.owner_id
-		obj.type = channel.type
-		obj.recipients = (await Promise.all(channel.recipients!.filter(r => !excluded_recipients.includes(r.user_id)).map(async r => {
-			return await User.findOneOrFail({ where: { id: r.user_id }, select: PublicUserProjection })
-		}))).map(u => new MinimalPublicUserDTO(u))
-		return obj
+		const obj = new DmChannelDTO();
+		obj.icon = channel.icon || null;
+		obj.id = channel.id;
+		obj.last_message_id = channel.last_message_id || null;
+		obj.name = channel.name || null;
+		obj.origin_channel_id = origin_channel_id || null;
+		obj.owner_id = channel.owner_id;
+		obj.type = channel.type;
+		obj.recipients = (
+			await Promise.all(
+				channel
+					.recipients!.filter((r) => !excluded_recipients.includes(r.user_id))
+					.map(async (r) => {
+						return await User.findOneOrFail({ where: { id: r.user_id }, select: PublicUserProjection });
+					})
+			)
+		).map((u) => new MinimalPublicUserDTO(u));
+		return obj;
 	}
 
 	excludedRecipients(excluded_recipients: string[]): DmChannelDTO {
 		return {
 			...this,
-			recipients: this.recipients.filter(r => !excluded_recipients.includes(r.id))
-		}
+			recipients: this.recipients.filter((r) => !excluded_recipients.includes(r.id)),
+		};
 	}
-}
\ No newline at end of file
+}
diff --git a/util/src/dtos/UserDTO.ts b/util/src/dtos/UserDTO.ts
index f09b5f4e..ee2752a4 100644
--- a/util/src/dtos/UserDTO.ts
+++ b/util/src/dtos/UserDTO.ts
@@ -8,10 +8,10 @@ export class MinimalPublicUserDTO {
 	username: string;
 
 	constructor(user: User) {
-		this.avatar = user.avatar
-		this.discriminator = user.discriminator
-		this.id = user.id
-		this.public_flags = user.public_flags
-		this.username = user.username
+		this.avatar = user.avatar;
+		this.discriminator = user.discriminator;
+		this.id = user.id;
+		this.public_flags = user.public_flags;
+		this.username = user.username;
 	}
-}
\ No newline at end of file
+}
diff --git a/util/src/dtos/index.ts b/util/src/dtos/index.ts
index 13702342..0e8f8459 100644
--- a/util/src/dtos/index.ts
+++ b/util/src/dtos/index.ts
@@ -1,2 +1,2 @@
 export * from "./DmChannelDTO";
-export * from "./UserDTO";
\ No newline at end of file
+export * from "./UserDTO";
diff --git a/util/src/entities/Invite.ts b/util/src/entities/Invite.ts
index b3e00957..6ac64ddc 100644
--- a/util/src/entities/Invite.ts
+++ b/util/src/entities/Invite.ts
@@ -71,7 +71,7 @@ export class Invite extends BaseClassWithoutId {
 	@Column({ nullable: true })
 	target_user_type?: number;
 
-	@Column({ nullable: true})
+	@Column({ nullable: true })
 	vanity_url?: boolean;
 
 	static async joinGuild(user_id: string, code: string) {
diff --git a/util/src/entities/Migration.ts b/util/src/entities/Migration.ts
index 7393496f..3f39ae72 100644
--- a/util/src/entities/Migration.ts
+++ b/util/src/entities/Migration.ts
@@ -10,7 +10,7 @@ export class Migration extends BaseClassWithoutId {
 	@PrimaryIdAutoGenerated()
 	id: number;
 
-	@Column({ type: 'bigint' })
+	@Column({ type: "bigint" })
 	timestamp: number;
 
 	@Column()
diff --git a/util/src/util/ApiError.ts b/util/src/util/ApiError.ts
index c133e6e7..f1a9b4f6 100644
--- a/util/src/util/ApiError.ts
+++ b/util/src/util/ApiError.ts
@@ -9,7 +9,8 @@ export class ApiError extends Error {
 	}
 
 	withDefaultParams(): ApiError {
-		if (this.defaultParams) return new ApiError(applyParamsToString(this.message, this.defaultParams), this.code, this.httpStatus);
+		if (this.defaultParams)
+			return new ApiError(applyParamsToString(this.message, this.defaultParams), this.code, this.httpStatus);
 		return this;
 	}
 
diff --git a/util/src/util/Array.ts b/util/src/util/Array.ts
index 27f7c961..5a45d1b5 100644
--- a/util/src/util/Array.ts
+++ b/util/src/util/Array.ts
@@ -1,3 +1,3 @@
 export function containsAll(arr: any[], target: any[]) {
-	return target.every(v => arr.includes(v));
-}
\ No newline at end of file
+	return target.every((v) => arr.includes(v));
+}
diff --git a/util/src/util/FieldError.ts b/util/src/util/FieldError.ts
index 0b3f93d2..406b33e8 100644
--- a/util/src/util/FieldError.ts
+++ b/util/src/util/FieldError.ts
@@ -8,9 +8,9 @@ export function FieldErrors(fields: Record<string, { code?: string; message: str
 			_errors: [
 				{
 					message,
-					code: code || "BASE_TYPE_INVALID"
-				}
-			]
+					code: code || "BASE_TYPE_INVALID",
+				},
+			],
 		}))
 	);
 }
diff --git a/util/src/util/Rights.ts b/util/src/util/Rights.ts
index 5edd9142..f0d00baf 100644
--- a/util/src/util/Rights.ts
+++ b/util/src/util/Rights.ts
@@ -56,7 +56,7 @@ export class Rights extends BitField {
 		INVITE_USERS: BitFlag(29), // can create user-specific invites in the guilds that they have INVITE_USERS
 		SELF_DELETE_DISABLE: BitFlag(30), // can disable/delete own account
 		DEBTABLE: BitFlag(31), // can use pay-to-use features
-		CREDITABLE: BitFlag(32) // can receive money from monetisation related features
+		CREDITABLE: BitFlag(32), // can receive money from monetisation related features
 	};
 
 	any(permission: RightResolvable, checkOperator = true) {
diff --git a/webrtc/README.md b/webrtc/README.md
index 026dae9d..c18ef54b 100644
--- a/webrtc/README.md
+++ b/webrtc/README.md
@@ -1,2 +1,3 @@
 # fosscord-rtc-js
+
 A javascript fosscord webrtc server for voice and video communication
diff --git a/webrtc/src/Server.ts b/webrtc/src/Server.ts
index 41ca65d1..6591691c 100644
--- a/webrtc/src/Server.ts
+++ b/webrtc/src/Server.ts
@@ -23,7 +23,11 @@ export class Server {
 							ssrc: 1,
 							ip: "127.0.0.1",
 							port: 3004,
-							modes: ["xsalsa20_poly1305", "xsalsa20_poly1305_suffix", "xsalsa20_poly1305_lite"],
+							modes: [
+								"xsalsa20_poly1305",
+								"xsalsa20_poly1305_suffix",
+								"xsalsa20_poly1305_lite",
+							],
 							heartbeat_interval: 1,
 						},
 					})
diff --git a/webrtc/tsconfig.json b/webrtc/tsconfig.json
index 70631fca..77353db0 100644
--- a/webrtc/tsconfig.json
+++ b/webrtc/tsconfig.json
@@ -7,7 +7,9 @@
 		// "incremental": true,                   /* Enable incremental compilation */
 		"target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
 		"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
-		"lib": ["ES2021"] /* Specify library files to be included in the compilation. */,
+		"lib": [
+			"ES2021"
+		] /* Specify library files to be included in the compilation. */,
 		"allowJs": true /* Allow javascript files to be compiled. */,
 		"checkJs": true /* Report errors in .js files. */,
 		// "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
@@ -45,7 +47,9 @@
 		// "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
 		// "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
 		// "typeRoots": [],                       /* List of folders to include type definitions from. */
-		"types": ["node"] /* Type declaration files to be included in compilation. */,
+		"types": [
+			"node"
+		] /* Type declaration files to be included in compilation. */,
 		// "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
 		"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
 		// "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */