From bca5d05d72d82e9cd043948b19eacd6936aec5e2 Mon Sep 17 00:00:00 2001
From: Dragory <2606411+Dragory@users.noreply.github.com>
Date: Fri, 23 May 2025 01:23:16 +0000
Subject: [PATCH] feat: add config-checker page
---
backend/package.json | 2 +-
config-checker/.gitignore | 24 +
config-checker/index.html | 36 +
config-checker/package-lock.json | 1179 ++
config-checker/package.json | 18 +
config-checker/public/config-schema.json | 17699 +++++++++++++++++++++
config-checker/src/main.ts | 88 +
config-checker/src/style.css | 86 +
config-checker/src/vite-env.d.ts | 1 +
config-checker/src/yaml.worker.js | 1 +
config-checker/tsconfig.json | 25 +
11 files changed, 19158 insertions(+), 1 deletion(-)
create mode 100644 config-checker/.gitignore
create mode 100644 config-checker/index.html
create mode 100644 config-checker/package-lock.json
create mode 100644 config-checker/package.json
create mode 100644 config-checker/public/config-schema.json
create mode 100644 config-checker/src/main.ts
create mode 100644 config-checker/src/style.css
create mode 100644 config-checker/src/vite-env.d.ts
create mode 100644 config-checker/src/yaml.worker.js
create mode 100644 config-checker/tsconfig.json
diff --git a/backend/package.json b/backend/package.json
index 37ef719f..a63559b1 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -29,7 +29,7 @@
"migrate-rollback-prod": "npm run migrate-rollback",
"migrate-rollback-dev": "npm run build && npm run migrate-rollback",
"validate-active-configs": "node --enable-source-maps dist/validateActiveConfigs.js > ../config-errors.txt",
- "export-config-json-schema": "node --enable-source-maps dist/exportSchemas.js",
+ "export-config-json-schema": "node --enable-source-maps dist/exportSchemas.js ../config-checker/public/config-schema.json",
"test": "npm run build && npm run run-tests",
"run-tests": "ava",
"test-watch": "tsc-watch --build --onSuccess \"npx ava\""
diff --git a/config-checker/.gitignore b/config-checker/.gitignore
new file mode 100644
index 00000000..a547bf36
--- /dev/null
+++ b/config-checker/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/config-checker/index.html b/config-checker/index.html
new file mode 100644
index 00000000..a47c7905
--- /dev/null
+++ b/config-checker/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Zeppelin config checker
+
+
+
+
+
+
+
diff --git a/config-checker/package-lock.json b/config-checker/package-lock.json
new file mode 100644
index 00000000..75e1b81d
--- /dev/null
+++ b/config-checker/package-lock.json
@@ -0,0 +1,1179 @@
+{
+ "name": "config-checker",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "config-checker",
+ "dependencies": {
+ "monaco-editor": "^0.52.2",
+ "monaco-yaml": "^5.4.0"
+ },
+ "devDependencies": {
+ "typescript": "~5.8.3",
+ "vite": "^6.3.5"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz",
+ "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz",
+ "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz",
+ "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz",
+ "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz",
+ "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz",
+ "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz",
+ "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz",
+ "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz",
+ "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz",
+ "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz",
+ "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz",
+ "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz",
+ "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz",
+ "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz",
+ "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz",
+ "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz",
+ "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz",
+ "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz",
+ "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz",
+ "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz",
+ "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz",
+ "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz",
+ "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz",
+ "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz",
+ "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz",
+ "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz",
+ "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz",
+ "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz",
+ "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz",
+ "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz",
+ "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz",
+ "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz",
+ "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz",
+ "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz",
+ "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz",
+ "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz",
+ "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz",
+ "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz",
+ "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz",
+ "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz",
+ "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz",
+ "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz",
+ "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz",
+ "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz",
+ "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.4",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz",
+ "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.4",
+ "@esbuild/android-arm": "0.25.4",
+ "@esbuild/android-arm64": "0.25.4",
+ "@esbuild/android-x64": "0.25.4",
+ "@esbuild/darwin-arm64": "0.25.4",
+ "@esbuild/darwin-x64": "0.25.4",
+ "@esbuild/freebsd-arm64": "0.25.4",
+ "@esbuild/freebsd-x64": "0.25.4",
+ "@esbuild/linux-arm": "0.25.4",
+ "@esbuild/linux-arm64": "0.25.4",
+ "@esbuild/linux-ia32": "0.25.4",
+ "@esbuild/linux-loong64": "0.25.4",
+ "@esbuild/linux-mips64el": "0.25.4",
+ "@esbuild/linux-ppc64": "0.25.4",
+ "@esbuild/linux-riscv64": "0.25.4",
+ "@esbuild/linux-s390x": "0.25.4",
+ "@esbuild/linux-x64": "0.25.4",
+ "@esbuild/netbsd-arm64": "0.25.4",
+ "@esbuild/netbsd-x64": "0.25.4",
+ "@esbuild/openbsd-arm64": "0.25.4",
+ "@esbuild/openbsd-x64": "0.25.4",
+ "@esbuild/sunos-x64": "0.25.4",
+ "@esbuild/win32-arm64": "0.25.4",
+ "@esbuild/win32-ia32": "0.25.4",
+ "@esbuild/win32-x64": "0.25.4"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.4.4",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
+ "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "license": "MIT"
+ },
+ "node_modules/monaco-editor": {
+ "version": "0.52.2",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz",
+ "integrity": "sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==",
+ "license": "MIT"
+ },
+ "node_modules/monaco-languageserver-types": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/monaco-languageserver-types/-/monaco-languageserver-types-0.4.0.tgz",
+ "integrity": "sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==",
+ "license": "MIT",
+ "dependencies": {
+ "monaco-types": "^0.1.0",
+ "vscode-languageserver-protocol": "^3.0.0",
+ "vscode-uri": "^3.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/remcohaszing"
+ }
+ },
+ "node_modules/monaco-marker-data-provider": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/monaco-marker-data-provider/-/monaco-marker-data-provider-1.2.4.tgz",
+ "integrity": "sha512-4DsPgsAqpTyUDs3humXRBPUJoihTv+L6v9aupQWD80X2YXaCXUd11mWYeSCYHuPgdUmjFaNWCEOjQ6ewf/QA1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "monaco-types": "^0.1.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/remcohaszing"
+ }
+ },
+ "node_modules/monaco-types": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/monaco-types/-/monaco-types-0.1.0.tgz",
+ "integrity": "sha512-aWK7SN9hAqNYi0WosPoMjenMeXJjwCxDibOqWffyQ/qXdzB/86xshGQobRferfmNz7BSNQ8GB0MD0oby9/5fTQ==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/remcohaszing"
+ }
+ },
+ "node_modules/monaco-worker-manager": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/monaco-worker-manager/-/monaco-worker-manager-2.0.1.tgz",
+ "integrity": "sha512-kdPL0yvg5qjhKPNVjJoym331PY/5JC11aPJXtCZNwWRvBr6jhkIamvYAyiY5P1AWFmNOy0aRDRoMdZfa71h8kg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "monaco-editor": ">=0.30.0"
+ }
+ },
+ "node_modules/monaco-yaml": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/monaco-yaml/-/monaco-yaml-5.4.0.tgz",
+ "integrity": "sha512-tuBVDy1KAPrgO905GHTItu8AaA5bIzF5S4X0JVRAE/D66FpRhkDUk7tKi5bwKMVTTugtpMLsXN4ewh4CgE/FtQ==",
+ "license": "MIT",
+ "workspaces": [
+ "examples/*"
+ ],
+ "dependencies": {
+ "jsonc-parser": "^3.0.0",
+ "monaco-languageserver-types": "^0.4.0",
+ "monaco-marker-data-provider": "^1.0.0",
+ "monaco-types": "^0.1.0",
+ "monaco-worker-manager": "^2.0.0",
+ "path-browserify": "^1.0.0",
+ "prettier": "^3.0.0",
+ "vscode-languageserver-textdocument": "^1.0.0",
+ "vscode-languageserver-types": "^3.0.0",
+ "vscode-uri": "^3.0.0",
+ "yaml": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/remcohaszing"
+ },
+ "peerDependencies": {
+ "monaco-editor": ">=0.36"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.3",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
+ "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.8",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
+ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz",
+ "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.7"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.41.0",
+ "@rollup/rollup-android-arm64": "4.41.0",
+ "@rollup/rollup-darwin-arm64": "4.41.0",
+ "@rollup/rollup-darwin-x64": "4.41.0",
+ "@rollup/rollup-freebsd-arm64": "4.41.0",
+ "@rollup/rollup-freebsd-x64": "4.41.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.41.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.41.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.41.0",
+ "@rollup/rollup-linux-arm64-musl": "4.41.0",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.41.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.41.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.41.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.41.0",
+ "@rollup/rollup-linux-x64-gnu": "4.41.0",
+ "@rollup/rollup-linux-x64-musl": "4.41.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.41.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.41.0",
+ "@rollup/rollup-win32-x64-msvc": "4.41.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
+ "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
+ "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2",
+ "postcss": "^8.5.3",
+ "rollup": "^4.34.9",
+ "tinyglobby": "^0.2.13"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vscode-jsonrpc": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+ "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/vscode-languageserver-protocol": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+ "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
+ "license": "MIT",
+ "dependencies": {
+ "vscode-jsonrpc": "8.2.0",
+ "vscode-languageserver-types": "3.17.5"
+ }
+ },
+ "node_modules/vscode-languageserver-textdocument": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
+ "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
+ "license": "MIT"
+ },
+ "node_modules/vscode-languageserver-types": {
+ "version": "3.17.5",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+ "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
+ "license": "MIT"
+ },
+ "node_modules/vscode-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
+ "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
+ "license": "MIT"
+ },
+ "node_modules/yaml": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
+ "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ }
+ }
+ }
+}
diff --git a/config-checker/package.json b/config-checker/package.json
new file mode 100644
index 00000000..076811ae
--- /dev/null
+++ b/config-checker/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "config-checker",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite --host 127.0.0.1",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "typescript": "~5.8.3",
+ "vite": "^6.3.5"
+ },
+ "dependencies": {
+ "monaco-editor": "^0.52.2",
+ "monaco-yaml": "^5.4.0"
+ }
+}
diff --git a/config-checker/public/config-schema.json b/config-checker/public/config-schema.json
new file mode 100644
index 00000000..b8a98013
--- /dev/null
+++ b/config-checker/public/config-schema.json
@@ -0,0 +1,17699 @@
+{
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "type": "string"
+ },
+ "levels": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "number"
+ }
+ },
+ "plugins": {
+ "type": "object",
+ "properties": {
+ "auto_delete": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "delay": {
+ "default": "5s",
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "delay": {
+ "default": "5s",
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "automod": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "rules": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "pretty_name": {
+ "type": "string"
+ },
+ "presets": {
+ "default": [],
+ "maxItems": 25,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 100
+ }
+ },
+ "affects_bots": {
+ "default": false,
+ "type": "boolean"
+ },
+ "affects_self": {
+ "default": false,
+ "type": "boolean"
+ },
+ "cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_further_rules": {
+ "default": false,
+ "type": "boolean"
+ },
+ "triggers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "any_message": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_words": {
+ "type": "object",
+ "properties": {
+ "words": {
+ "maxItems": 1024,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "case_sensitive": {
+ "default": false,
+ "type": "boolean"
+ },
+ "only_full_words": {
+ "default": true,
+ "type": "boolean"
+ },
+ "normalize": {
+ "default": false,
+ "type": "boolean"
+ },
+ "loose_matching": {
+ "default": false,
+ "type": "boolean"
+ },
+ "loose_matching_threshold": {
+ "default": 4,
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "strip_markdown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "words"
+ ],
+ "additionalProperties": false
+ },
+ "match_regex": {
+ "type": "object",
+ "properties": {
+ "patterns": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "case_sensitive": {
+ "default": false,
+ "type": "boolean"
+ },
+ "normalize": {
+ "default": false,
+ "type": "boolean"
+ },
+ "strip_markdown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "patterns"
+ ],
+ "additionalProperties": false
+ },
+ "match_invites": {
+ "type": "object",
+ "properties": {
+ "include_guilds": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude_guilds": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_invite_codes": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "exclude_invite_codes": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "allow_group_dm_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_links": {
+ "type": "object",
+ "properties": {
+ "include_domains": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ }
+ },
+ "exclude_domains": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ }
+ },
+ "include_subdomains": {
+ "default": true,
+ "type": "boolean"
+ },
+ "include_words": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "exclude_words": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "include_regex": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "exclude_regex": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "phisherman": {
+ "type": "object",
+ "properties": {
+ "include_suspected": {
+ "type": "boolean"
+ },
+ "include_verified": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "only_real_links": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_attachment_type": {
+ "type": "object",
+ "properties": {
+ "whitelist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filetype_whitelist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "blacklist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filetype_blacklist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_mime_type": {
+ "type": "object",
+ "properties": {
+ "whitelist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mime_type_whitelist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "blacklist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mime_type_blacklist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "member_join": {
+ "type": "object",
+ "properties": {
+ "only_new": {
+ "default": false,
+ "type": "boolean"
+ },
+ "new_threshold": {
+ "default": "1h",
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "member_leave": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "role_added": {
+ "default": [],
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "role_removed": {
+ "default": [],
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "message_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "mention_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "link_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "attachment_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "emoji_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "line_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "character_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "member_join_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "sticker_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "thread_create_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [
+ "amount",
+ "within"
+ ],
+ "additionalProperties": false
+ },
+ "counter_trigger": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "trigger": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "reverse": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "counter",
+ "trigger"
+ ],
+ "additionalProperties": false
+ },
+ "note": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "warn": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "mute": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "unmute": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "kick": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "ban": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "unban": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "antiraid_level": {
+ "type": "object",
+ "properties": {
+ "level": {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 100
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "only_on_change": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "level",
+ "only_on_change"
+ ],
+ "additionalProperties": false
+ },
+ "thread_create": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_delete": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_archive": {
+ "type": "object",
+ "properties": {
+ "locked": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_unarchive": {
+ "type": "object",
+ "properties": {
+ "locked": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "actions": {
+ "type": "object",
+ "properties": {
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ },
+ "warn": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "mute": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "duration": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "kick": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "ban": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "duration": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "deleteMessageDays": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "alert": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "allowed_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "everyone": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "users": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "roles": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "replied_user": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "channel",
+ "text"
+ ]
+ },
+ "change_nickname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "log": {
+ "default": true,
+ "type": "boolean"
+ },
+ "add_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "remove_roles": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "set_antiraid_level": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reply": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "text": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ },
+ "auto_delete": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "inline": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "add_to_counter": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string"
+ },
+ "amount": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "counter",
+ "amount"
+ ]
+ },
+ "set_counter": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 2147483647
+ }
+ },
+ "required": [
+ "counter",
+ "value"
+ ],
+ "additionalProperties": false
+ },
+ "set_slowmode": {
+ "type": "object",
+ "properties": {
+ "channels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "duration": {
+ "default": "10s",
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "channels"
+ ],
+ "additionalProperties": false
+ },
+ "start_thread": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_archive": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "private": {
+ "default": false,
+ "type": "boolean"
+ },
+ "slowmode": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "limit_per_channel": {
+ "default": 5,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "name",
+ "auto_archive"
+ ],
+ "additionalProperties": false
+ },
+ "archive_thread": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "change_perms": {
+ "type": "object",
+ "properties": {
+ "target": {
+ "type": "string"
+ },
+ "channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "perms": {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "CreateInstantInvite",
+ "KickMembers",
+ "BanMembers",
+ "Administrator",
+ "ManageChannels",
+ "ManageGuild",
+ "AddReactions",
+ "ViewAuditLog",
+ "PrioritySpeaker",
+ "Stream",
+ "ViewChannel",
+ "SendMessages",
+ "SendTTSMessages",
+ "ManageMessages",
+ "EmbedLinks",
+ "AttachFiles",
+ "ReadMessageHistory",
+ "MentionEveryone",
+ "UseExternalEmojis",
+ "ViewGuildInsights",
+ "Connect",
+ "Speak",
+ "MuteMembers",
+ "DeafenMembers",
+ "MoveMembers",
+ "UseVAD",
+ "ChangeNickname",
+ "ManageNicknames",
+ "ManageRoles",
+ "ManageWebhooks",
+ "ManageEmojisAndStickers",
+ "ManageGuildExpressions",
+ "UseApplicationCommands",
+ "RequestToSpeak",
+ "ManageEvents",
+ "ManageThreads",
+ "CreatePublicThreads",
+ "CreatePrivateThreads",
+ "UseExternalStickers",
+ "SendMessagesInThreads",
+ "UseEmbeddedActivities",
+ "ModerateMembers",
+ "ViewCreatorMonetizationAnalytics",
+ "UseSoundboard",
+ "CreateGuildExpressions",
+ "CreateEvents",
+ "UseExternalSounds",
+ "SendVoiceMessages",
+ "SendPolls",
+ "UseExternalApps",
+ "CREATE_INSTANT_INVITE",
+ "KICK_MEMBERS",
+ "BAN_MEMBERS",
+ "ADMINISTRATOR",
+ "MANAGE_CHANNELS",
+ "MANAGE_GUILD",
+ "ADD_REACTIONS",
+ "VIEW_AUDIT_LOG",
+ "PRIORITY_SPEAKER",
+ "STREAM",
+ "VIEW_CHANNEL",
+ "SEND_MESSAGES",
+ "SEND_TTSMESSAGES",
+ "MANAGE_MESSAGES",
+ "EMBED_LINKS",
+ "ATTACH_FILES",
+ "READ_MESSAGE_HISTORY",
+ "MENTION_EVERYONE",
+ "USE_EXTERNAL_EMOJIS",
+ "VIEW_GUILD_INSIGHTS",
+ "CONNECT",
+ "SPEAK",
+ "MUTE_MEMBERS",
+ "DEAFEN_MEMBERS",
+ "MOVE_MEMBERS",
+ "USE_VAD",
+ "CHANGE_NICKNAME",
+ "MANAGE_NICKNAMES",
+ "MANAGE_ROLES",
+ "MANAGE_WEBHOOKS",
+ "MANAGE_EMOJIS_AND_STICKERS",
+ "USE_APPLICATION_COMMANDS",
+ "REQUEST_TO_SPEAK",
+ "MANAGE_EVENTS",
+ "MANAGE_THREADS",
+ "CREATE_PUBLIC_THREADS",
+ "CREATE_PRIVATE_THREADS",
+ "USE_EXTERNAL_STICKERS",
+ "SEND_MESSAGES_IN_THREADS",
+ "USE_EMBEDDED_ACTIVITIES",
+ "MODERATE_MEMBERS"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "target",
+ "perms"
+ ],
+ "additionalProperties": false
+ },
+ "pause_invites": {
+ "type": "object",
+ "properties": {
+ "paused": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "paused"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "triggers",
+ "actions"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "antiraid_levels": {
+ "default": [
+ "low",
+ "medium",
+ "high"
+ ],
+ "maxItems": 10,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 100
+ }
+ },
+ "can_set_antiraid": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_view_antiraid": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "rules": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "pretty_name": {
+ "type": "string"
+ },
+ "presets": {
+ "default": [],
+ "maxItems": 25,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 100
+ }
+ },
+ "affects_bots": {
+ "default": false,
+ "type": "boolean"
+ },
+ "affects_self": {
+ "default": false,
+ "type": "boolean"
+ },
+ "cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_further_rules": {
+ "default": false,
+ "type": "boolean"
+ },
+ "triggers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "any_message": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_words": {
+ "type": "object",
+ "properties": {
+ "words": {
+ "maxItems": 1024,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "case_sensitive": {
+ "default": false,
+ "type": "boolean"
+ },
+ "only_full_words": {
+ "default": true,
+ "type": "boolean"
+ },
+ "normalize": {
+ "default": false,
+ "type": "boolean"
+ },
+ "loose_matching": {
+ "default": false,
+ "type": "boolean"
+ },
+ "loose_matching_threshold": {
+ "default": 4,
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "strip_markdown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_regex": {
+ "type": "object",
+ "properties": {
+ "patterns": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "case_sensitive": {
+ "default": false,
+ "type": "boolean"
+ },
+ "normalize": {
+ "default": false,
+ "type": "boolean"
+ },
+ "strip_markdown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_invites": {
+ "type": "object",
+ "properties": {
+ "include_guilds": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude_guilds": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "include_invite_codes": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "exclude_invite_codes": {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "allow_group_dm_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_links": {
+ "type": "object",
+ "properties": {
+ "include_domains": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ }
+ },
+ "exclude_domains": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 255
+ }
+ },
+ "include_subdomains": {
+ "default": true,
+ "type": "boolean"
+ },
+ "include_words": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "exclude_words": {
+ "maxItems": 700,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "include_regex": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "exclude_regex": {
+ "maxItems": 512,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 2000
+ }
+ },
+ "phisherman": {
+ "type": "object",
+ "properties": {
+ "include_suspected": {
+ "type": "boolean"
+ },
+ "include_verified": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "only_real_links": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_messages": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_embeds": {
+ "default": true,
+ "type": "boolean"
+ },
+ "match_visible_names": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_usernames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "match_custom_status": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_attachment_type": {
+ "type": "object",
+ "properties": {
+ "whitelist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filetype_whitelist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "blacklist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filetype_blacklist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "match_mime_type": {
+ "type": "object",
+ "properties": {
+ "whitelist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mime_type_whitelist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "blacklist_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mime_type_blacklist": {
+ "default": [],
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 32
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "member_join": {
+ "type": "object",
+ "properties": {
+ "only_new": {
+ "default": false,
+ "type": "boolean"
+ },
+ "new_threshold": {
+ "default": "1h",
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "member_leave": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "role_added": {
+ "default": [],
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "role_removed": {
+ "default": [],
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "maxItems": 255,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "message_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "mention_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "link_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "attachment_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "emoji_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "line_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "character_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "member_join_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "sticker_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "per_channel": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_create_spam": {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "minimum": -9007199254740991,
+ "maximum": 9007199254740991
+ },
+ "within": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "counter_trigger": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "trigger": {
+ "type": "string",
+ "maxLength": 100
+ },
+ "reverse": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "note": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "warn": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "mute": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "unmute": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "kick": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "ban": {
+ "type": "object",
+ "properties": {
+ "manual": {
+ "default": true,
+ "type": "boolean"
+ },
+ "automatic": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "unban": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "antiraid_level": {
+ "type": "object",
+ "properties": {
+ "level": {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 100
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "only_on_change": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_create": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_delete": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_archive": {
+ "type": "object",
+ "properties": {
+ "locked": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "thread_unarchive": {
+ "type": "object",
+ "properties": {
+ "locked": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "actions": {
+ "type": "object",
+ "properties": {
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ },
+ "warn": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "mute": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "duration": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "kick": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "ban": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "duration": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notify": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "dm"
+ },
+ {
+ "const": "channel"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notifyChannel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "deleteMessageDays": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "postInCaseLog": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hide_case": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "alert": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "allowed_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "everyone": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "users": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "roles": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "replied_user": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ },
+ "change_nickname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "log": {
+ "default": true,
+ "type": "boolean"
+ },
+ "add_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "remove_roles": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "set_antiraid_level": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reply": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "text": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ },
+ "auto_delete": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "inline": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "add_to_counter": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string"
+ },
+ "amount": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "set_counter": {
+ "type": "object",
+ "properties": {
+ "counter": {
+ "type": "string"
+ },
+ "value": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 2147483647
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "set_slowmode": {
+ "type": "object",
+ "properties": {
+ "channels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "duration": {
+ "default": "10s",
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "start_thread": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_archive": {
+ "type": "string",
+ "maxLength": 32
+ },
+ "private": {
+ "default": false,
+ "type": "boolean"
+ },
+ "slowmode": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 32
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "limit_per_channel": {
+ "default": 5,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "archive_thread": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "change_perms": {
+ "type": "object",
+ "properties": {
+ "target": {
+ "type": "string"
+ },
+ "channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "perms": {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "CreateInstantInvite",
+ "KickMembers",
+ "BanMembers",
+ "Administrator",
+ "ManageChannels",
+ "ManageGuild",
+ "AddReactions",
+ "ViewAuditLog",
+ "PrioritySpeaker",
+ "Stream",
+ "ViewChannel",
+ "SendMessages",
+ "SendTTSMessages",
+ "ManageMessages",
+ "EmbedLinks",
+ "AttachFiles",
+ "ReadMessageHistory",
+ "MentionEveryone",
+ "UseExternalEmojis",
+ "ViewGuildInsights",
+ "Connect",
+ "Speak",
+ "MuteMembers",
+ "DeafenMembers",
+ "MoveMembers",
+ "UseVAD",
+ "ChangeNickname",
+ "ManageNicknames",
+ "ManageRoles",
+ "ManageWebhooks",
+ "ManageEmojisAndStickers",
+ "ManageGuildExpressions",
+ "UseApplicationCommands",
+ "RequestToSpeak",
+ "ManageEvents",
+ "ManageThreads",
+ "CreatePublicThreads",
+ "CreatePrivateThreads",
+ "UseExternalStickers",
+ "SendMessagesInThreads",
+ "UseEmbeddedActivities",
+ "ModerateMembers",
+ "ViewCreatorMonetizationAnalytics",
+ "UseSoundboard",
+ "CreateGuildExpressions",
+ "CreateEvents",
+ "UseExternalSounds",
+ "SendVoiceMessages",
+ "SendPolls",
+ "UseExternalApps",
+ "CREATE_INSTANT_INVITE",
+ "KICK_MEMBERS",
+ "BAN_MEMBERS",
+ "ADMINISTRATOR",
+ "MANAGE_CHANNELS",
+ "MANAGE_GUILD",
+ "ADD_REACTIONS",
+ "VIEW_AUDIT_LOG",
+ "PRIORITY_SPEAKER",
+ "STREAM",
+ "VIEW_CHANNEL",
+ "SEND_MESSAGES",
+ "SEND_TTSMESSAGES",
+ "MANAGE_MESSAGES",
+ "EMBED_LINKS",
+ "ATTACH_FILES",
+ "READ_MESSAGE_HISTORY",
+ "MENTION_EVERYONE",
+ "USE_EXTERNAL_EMOJIS",
+ "VIEW_GUILD_INSIGHTS",
+ "CONNECT",
+ "SPEAK",
+ "MUTE_MEMBERS",
+ "DEAFEN_MEMBERS",
+ "MOVE_MEMBERS",
+ "USE_VAD",
+ "CHANGE_NICKNAME",
+ "MANAGE_NICKNAMES",
+ "MANAGE_ROLES",
+ "MANAGE_WEBHOOKS",
+ "MANAGE_EMOJIS_AND_STICKERS",
+ "USE_APPLICATION_COMMANDS",
+ "REQUEST_TO_SPEAK",
+ "MANAGE_EVENTS",
+ "MANAGE_THREADS",
+ "CREATE_PUBLIC_THREADS",
+ "CREATE_PRIVATE_THREADS",
+ "USE_EXTERNAL_STICKERS",
+ "SEND_MESSAGES_IN_THREADS",
+ "USE_EMBEDDED_ACTIVITIES",
+ "MODERATE_MEMBERS"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "pause_invites": {
+ "type": "object",
+ "properties": {
+ "paused": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "antiraid_levels": {
+ "default": [
+ "low",
+ "medium",
+ "high"
+ ],
+ "maxItems": 10,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 100
+ }
+ },
+ "can_set_antiraid": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_view_antiraid": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "auto_reactions": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "cases": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "log_automatic_actions": {
+ "default": true,
+ "type": "boolean"
+ },
+ "case_log_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "show_relative_times": {
+ "default": true,
+ "type": "boolean"
+ },
+ "relative_time_cutoff": {
+ "default": "1w",
+ "type": "string",
+ "maxLength": 32
+ },
+ "case_colors": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "ban",
+ "unban",
+ "note",
+ "warn",
+ "kick",
+ "mute",
+ "unmute",
+ "deleted",
+ "softban"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "case_icons": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "ban",
+ "unban",
+ "note",
+ "warn",
+ "kick",
+ "mute",
+ "unmute",
+ "deleted",
+ "softban"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "log_automatic_actions": {
+ "default": true,
+ "type": "boolean"
+ },
+ "case_log_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "show_relative_times": {
+ "default": true,
+ "type": "boolean"
+ },
+ "relative_time_cutoff": {
+ "default": "1w",
+ "type": "string",
+ "maxLength": 32
+ },
+ "case_colors": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "ban",
+ "unban",
+ "note",
+ "warn",
+ "kick",
+ "mute",
+ "unmute",
+ "deleted",
+ "softban"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "case_icons": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "ban",
+ "unban",
+ "note",
+ "warn",
+ "kick",
+ "mute",
+ "unmute",
+ "deleted",
+ "softban"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "censor": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "filter_zalgo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filter_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "invite_guild_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_guild_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_code_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_code_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_group_dm_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filter_domains": {
+ "default": false,
+ "type": "boolean"
+ },
+ "domain_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "domain_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_tokens": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_words": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_regex": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 1000
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "filter_zalgo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filter_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "invite_guild_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_guild_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_code_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "invite_code_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_group_dm_invites": {
+ "default": false,
+ "type": "boolean"
+ },
+ "filter_domains": {
+ "default": false,
+ "type": "boolean"
+ },
+ "domain_whitelist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "domain_blacklist": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_tokens": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_words": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "blocked_regex": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "maxLength": 1000
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "companion_channels": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "entries": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "voice_channel_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "text_channel_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "type": "number"
+ },
+ "enabled": {
+ "default": true,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "voice_channel_ids",
+ "text_channel_ids",
+ "permissions"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "entries": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "voice_channel_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "text_channel_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "type": "number"
+ },
+ "enabled": {
+ "default": true,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "context_menu": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_open_mod_menu": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_open_mod_menu": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "counters": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "counters": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "pretty_name": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "per_channel": {
+ "default": false,
+ "type": "boolean"
+ },
+ "per_user": {
+ "default": false,
+ "type": "boolean"
+ },
+ "initial_value": {
+ "default": 0,
+ "type": "number",
+ "minimum": 0,
+ "maximum": 2147483647
+ },
+ "triggers": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "pretty_name": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "condition": {
+ "type": "string"
+ },
+ "reverse_condition": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "condition"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "decay": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "every": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [
+ "amount",
+ "every"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_edit": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reset_all": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "triggers"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_edit": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reset_all": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "counters": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "pretty_name": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "per_channel": {
+ "default": false,
+ "type": "boolean"
+ },
+ "per_user": {
+ "default": false,
+ "type": "boolean"
+ },
+ "initial_value": {
+ "default": 0,
+ "type": "number",
+ "minimum": 0,
+ "maximum": 2147483647
+ },
+ "triggers": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "pretty_name": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "condition": {
+ "type": "string"
+ },
+ "reverse_condition": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "string"
+ }
+ ]
+ }
+ },
+ "decay": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "every": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_edit": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reset_all": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_edit": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reset_all": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "custom_events": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "events": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "trigger": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "command"
+ },
+ "name": {
+ "type": "string"
+ },
+ "params": {
+ "type": "string"
+ },
+ "can_use": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "name",
+ "params",
+ "can_use"
+ ],
+ "additionalProperties": false
+ },
+ "actions": {
+ "maxItems": 10,
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "add_role"
+ },
+ "target": {
+ "type": "string"
+ },
+ "role": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "required": [
+ "type",
+ "target",
+ "role"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "create_case"
+ },
+ "case_type": {
+ "type": "string"
+ },
+ "mod": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "case_type",
+ "mod",
+ "target",
+ "reason"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "move_to_vc"
+ },
+ "target": {
+ "type": "string"
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "target",
+ "channel"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "message"
+ },
+ "channel": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "channel",
+ "content"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "make_role_mentionable"
+ },
+ "role": {
+ "type": "string"
+ },
+ "timeout": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [
+ "type",
+ "role",
+ "timeout"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "make_role_unmentionable"
+ },
+ "role": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "role"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "set_channel_permission_overrides"
+ },
+ "channel": {
+ "type": "string"
+ },
+ "overrides": {
+ "maxItems": 15,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "anyOf": [
+ {
+ "const": "member"
+ },
+ {
+ "const": "role"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "allow": {
+ "type": "number"
+ },
+ "deny": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "allow",
+ "deny"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [
+ "type",
+ "channel",
+ "overrides"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "name",
+ "trigger",
+ "actions"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "events": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "trigger": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "command"
+ },
+ "name": {
+ "type": "string"
+ },
+ "params": {
+ "type": "string"
+ },
+ "can_use": {
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "actions": {
+ "maxItems": 10,
+ "type": "array",
+ "items": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "add_role"
+ },
+ "target": {
+ "type": "string"
+ },
+ "role": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "create_case"
+ },
+ "case_type": {
+ "type": "string"
+ },
+ "mod": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "move_to_vc"
+ },
+ "target": {
+ "type": "string"
+ },
+ "channel": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "message"
+ },
+ "channel": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "make_role_mentionable"
+ },
+ "role": {
+ "type": "string"
+ },
+ "timeout": {
+ "type": "string",
+ "maxLength": 32
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "make_role_unmentionable"
+ },
+ "role": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "const": "set_channel_permission_overrides"
+ },
+ "channel": {
+ "type": "string"
+ },
+ "overrides": {
+ "maxItems": 15,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "anyOf": [
+ {
+ "const": "member"
+ },
+ {
+ "const": "role"
+ }
+ ]
+ },
+ "id": {
+ "type": "string"
+ },
+ "allow": {
+ "type": "number"
+ },
+ "deny": {
+ "type": "number"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ ]
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "guild_info_saver": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "internal_poster": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "default": {},
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "default": {},
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "locate_user": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_where": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_alert": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_where": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_alert": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "logs": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "channels": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "include": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "batched": {
+ "default": true,
+ "type": "boolean"
+ },
+ "batch_time": {
+ "default": 1000,
+ "type": "number",
+ "minimum": 250,
+ "maximum": 5000
+ },
+ "excluded_users": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_message_regexes": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_channels": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_categories": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_threads": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exclude_bots": {
+ "default": false,
+ "type": "boolean"
+ },
+ "excluded_roles": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "format": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "MEMBER_WARN",
+ "MEMBER_MUTE",
+ "MEMBER_UNMUTE",
+ "MEMBER_MUTE_EXPIRED",
+ "MEMBER_KICK",
+ "MEMBER_BAN",
+ "MEMBER_UNBAN",
+ "MEMBER_FORCEBAN",
+ "MEMBER_SOFTBAN",
+ "MEMBER_JOIN",
+ "MEMBER_LEAVE",
+ "MEMBER_ROLE_ADD",
+ "MEMBER_ROLE_REMOVE",
+ "MEMBER_NICK_CHANGE",
+ "MEMBER_USERNAME_CHANGE",
+ "MEMBER_RESTORE",
+ "CHANNEL_CREATE",
+ "CHANNEL_DELETE",
+ "CHANNEL_UPDATE",
+ "THREAD_CREATE",
+ "THREAD_DELETE",
+ "THREAD_UPDATE",
+ "ROLE_CREATE",
+ "ROLE_DELETE",
+ "ROLE_UPDATE",
+ "MESSAGE_EDIT",
+ "MESSAGE_DELETE",
+ "MESSAGE_DELETE_BULK",
+ "MESSAGE_DELETE_BARE",
+ "VOICE_CHANNEL_JOIN",
+ "VOICE_CHANNEL_LEAVE",
+ "VOICE_CHANNEL_MOVE",
+ "STAGE_INSTANCE_CREATE",
+ "STAGE_INSTANCE_DELETE",
+ "STAGE_INSTANCE_UPDATE",
+ "EMOJI_CREATE",
+ "EMOJI_DELETE",
+ "EMOJI_UPDATE",
+ "STICKER_CREATE",
+ "STICKER_DELETE",
+ "STICKER_UPDATE",
+ "COMMAND",
+ "MESSAGE_SPAM_DETECTED",
+ "CENSOR",
+ "CLEAN",
+ "CASE_CREATE",
+ "MASSUNBAN",
+ "MASSBAN",
+ "MASSMUTE",
+ "MEMBER_TIMED_MUTE",
+ "MEMBER_TIMED_UNMUTE",
+ "MEMBER_TIMED_BAN",
+ "MEMBER_TIMED_UNBAN",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS",
+ "OTHER_SPAM_DETECTED",
+ "MEMBER_ROLE_CHANGES",
+ "VOICE_CHANNEL_FORCE_MOVE",
+ "VOICE_CHANNEL_FORCE_DISCONNECT",
+ "CASE_UPDATE",
+ "MEMBER_MUTE_REJOIN",
+ "SCHEDULED_MESSAGE",
+ "POSTED_SCHEDULED_MESSAGE",
+ "BOT_ALERT",
+ "AUTOMOD_ACTION",
+ "SCHEDULED_REPEATED_MESSAGE",
+ "REPEATED_MESSAGE",
+ "MESSAGE_DELETE_AUTO",
+ "SET_ANTIRAID_USER",
+ "SET_ANTIRAID_AUTO",
+ "MEMBER_NOTE",
+ "CASE_DELETE",
+ "DM_FAILED"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "timestamp_format": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "include_embed_timestamp": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "format": {
+ "default": {
+ "MEMBER_NOTE": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}",
+ "MEMBER_WARN": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}",
+ "MEMBER_MUTE": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}",
+ "MEMBER_TIMED_MUTE": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}",
+ "MEMBER_UNMUTE": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}",
+ "MEMBER_TIMED_UNMUTE": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}",
+ "MEMBER_MUTE_EXPIRED": "{timestamp} 🔊 {userMention(member)}'s mute expired",
+ "MEMBER_KICK": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}",
+ "MEMBER_BAN": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}",
+ "MEMBER_UNBAN": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}",
+ "MEMBER_FORCEBAN": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}",
+ "MEMBER_SOFTBAN": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}",
+ "MEMBER_JOIN": "{timestamp} 📥 {new} {userMention(member)} joined (created )",
+ "MEMBER_LEAVE": "{timestamp} 📤 {userMention(member)} left the server",
+ "MEMBER_ROLE_ADD": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**",
+ "MEMBER_ROLE_REMOVE": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**",
+ "MEMBER_ROLE_CHANGES": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**",
+ "MEMBER_NICK_CHANGE": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**",
+ "MEMBER_USERNAME_CHANGE": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**",
+ "MEMBER_RESTORE": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin",
+ "MEMBER_TIMED_BAN": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}",
+ "MEMBER_TIMED_UNBAN": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}",
+ "CHANNEL_CREATE": "{timestamp} 🖊 Channel {channelMention(channel)} was created",
+ "CHANNEL_DELETE": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted",
+ "CHANNEL_UPDATE": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}",
+ "THREAD_CREATE": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>",
+ "THREAD_DELETE": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>",
+ "THREAD_UPDATE": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}",
+ "ROLE_CREATE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created",
+ "ROLE_DELETE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted",
+ "ROLE_UPDATE": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}",
+ "MESSAGE_EDIT": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}",
+ "MESSAGE_DELETE": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}",
+ "MESSAGE_DELETE_BULK": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})",
+ "MESSAGE_DELETE_BARE": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)",
+ "MESSAGE_DELETE_AUTO": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}",
+ "VOICE_CHANNEL_JOIN": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}",
+ "VOICE_CHANNEL_MOVE": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}",
+ "VOICE_CHANNEL_LEAVE": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}",
+ "VOICE_CHANNEL_FORCE_MOVE": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}",
+ "VOICE_CHANNEL_FORCE_DISCONNECT": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}",
+ "STAGE_INSTANCE_CREATE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>",
+ "STAGE_INSTANCE_DELETE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>",
+ "STAGE_INSTANCE_UPDATE": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}",
+ "EMOJI_CREATE": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created",
+ "EMOJI_DELETE": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted",
+ "EMOJI_UPDATE": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}",
+ "STICKER_CREATE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}",
+ "STICKER_DELETE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.",
+ "STICKER_UPDATE": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}",
+ "COMMAND": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`",
+ "MESSAGE_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}",
+ "OTHER_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)",
+ "CENSOR": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```",
+ "CLEAN": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}",
+ "CASE_CREATE": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})",
+ "CASE_DELETE": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}",
+ "MASSUNBAN": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users",
+ "MASSBAN": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users",
+ "MASSMUTE": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}",
+ "CASE_UPDATE": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```",
+ "MEMBER_MUTE_REJOIN": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin",
+ "SCHEDULED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}",
+ "SCHEDULED_REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}",
+ "REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}",
+ "POSTED_SCHEDULED_MESSAGE": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}",
+ "BOT_ALERT": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}",
+ "DM_FAILED": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}",
+ "AUTOMOD_ACTION": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**",
+ "SET_ANTIRAID_USER": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**",
+ "SET_ANTIRAID_AUTO": "{timestamp} ⚔ Anti-raid automatically set to **{level}**"
+ },
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "MEMBER_WARN",
+ "MEMBER_MUTE",
+ "MEMBER_UNMUTE",
+ "MEMBER_MUTE_EXPIRED",
+ "MEMBER_KICK",
+ "MEMBER_BAN",
+ "MEMBER_UNBAN",
+ "MEMBER_FORCEBAN",
+ "MEMBER_SOFTBAN",
+ "MEMBER_JOIN",
+ "MEMBER_LEAVE",
+ "MEMBER_ROLE_ADD",
+ "MEMBER_ROLE_REMOVE",
+ "MEMBER_NICK_CHANGE",
+ "MEMBER_USERNAME_CHANGE",
+ "MEMBER_RESTORE",
+ "CHANNEL_CREATE",
+ "CHANNEL_DELETE",
+ "CHANNEL_UPDATE",
+ "THREAD_CREATE",
+ "THREAD_DELETE",
+ "THREAD_UPDATE",
+ "ROLE_CREATE",
+ "ROLE_DELETE",
+ "ROLE_UPDATE",
+ "MESSAGE_EDIT",
+ "MESSAGE_DELETE",
+ "MESSAGE_DELETE_BULK",
+ "MESSAGE_DELETE_BARE",
+ "VOICE_CHANNEL_JOIN",
+ "VOICE_CHANNEL_LEAVE",
+ "VOICE_CHANNEL_MOVE",
+ "STAGE_INSTANCE_CREATE",
+ "STAGE_INSTANCE_DELETE",
+ "STAGE_INSTANCE_UPDATE",
+ "EMOJI_CREATE",
+ "EMOJI_DELETE",
+ "EMOJI_UPDATE",
+ "STICKER_CREATE",
+ "STICKER_DELETE",
+ "STICKER_UPDATE",
+ "COMMAND",
+ "MESSAGE_SPAM_DETECTED",
+ "CENSOR",
+ "CLEAN",
+ "CASE_CREATE",
+ "MASSUNBAN",
+ "MASSBAN",
+ "MASSMUTE",
+ "MEMBER_TIMED_MUTE",
+ "MEMBER_TIMED_UNMUTE",
+ "MEMBER_TIMED_BAN",
+ "MEMBER_TIMED_UNBAN",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS",
+ "OTHER_SPAM_DETECTED",
+ "MEMBER_ROLE_CHANGES",
+ "VOICE_CHANNEL_FORCE_MOVE",
+ "VOICE_CHANNEL_FORCE_DISCONNECT",
+ "CASE_UPDATE",
+ "MEMBER_MUTE_REJOIN",
+ "SCHEDULED_MESSAGE",
+ "POSTED_SCHEDULED_MESSAGE",
+ "BOT_ALERT",
+ "AUTOMOD_ACTION",
+ "SCHEDULED_REPEATED_MESSAGE",
+ "REPEATED_MESSAGE",
+ "MESSAGE_DELETE_AUTO",
+ "SET_ANTIRAID_USER",
+ "SET_ANTIRAID_AUTO",
+ "MEMBER_NOTE",
+ "CASE_DELETE",
+ "DM_FAILED"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "ping_user": {
+ "default": true,
+ "type": "boolean"
+ },
+ "allow_user_mentions": {
+ "default": false,
+ "type": "boolean"
+ },
+ "timestamp_format": {
+ "default": "[]",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "include_embed_timestamp": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "channels": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "include": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "exclude": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "batched": {
+ "default": true,
+ "type": "boolean"
+ },
+ "batch_time": {
+ "default": 1000,
+ "type": "number",
+ "minimum": 250,
+ "maximum": 5000
+ },
+ "excluded_users": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_message_regexes": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_channels": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_categories": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "excluded_threads": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exclude_bots": {
+ "default": false,
+ "type": "boolean"
+ },
+ "excluded_roles": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "format": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "MEMBER_WARN",
+ "MEMBER_MUTE",
+ "MEMBER_UNMUTE",
+ "MEMBER_MUTE_EXPIRED",
+ "MEMBER_KICK",
+ "MEMBER_BAN",
+ "MEMBER_UNBAN",
+ "MEMBER_FORCEBAN",
+ "MEMBER_SOFTBAN",
+ "MEMBER_JOIN",
+ "MEMBER_LEAVE",
+ "MEMBER_ROLE_ADD",
+ "MEMBER_ROLE_REMOVE",
+ "MEMBER_NICK_CHANGE",
+ "MEMBER_USERNAME_CHANGE",
+ "MEMBER_RESTORE",
+ "CHANNEL_CREATE",
+ "CHANNEL_DELETE",
+ "CHANNEL_UPDATE",
+ "THREAD_CREATE",
+ "THREAD_DELETE",
+ "THREAD_UPDATE",
+ "ROLE_CREATE",
+ "ROLE_DELETE",
+ "ROLE_UPDATE",
+ "MESSAGE_EDIT",
+ "MESSAGE_DELETE",
+ "MESSAGE_DELETE_BULK",
+ "MESSAGE_DELETE_BARE",
+ "VOICE_CHANNEL_JOIN",
+ "VOICE_CHANNEL_LEAVE",
+ "VOICE_CHANNEL_MOVE",
+ "STAGE_INSTANCE_CREATE",
+ "STAGE_INSTANCE_DELETE",
+ "STAGE_INSTANCE_UPDATE",
+ "EMOJI_CREATE",
+ "EMOJI_DELETE",
+ "EMOJI_UPDATE",
+ "STICKER_CREATE",
+ "STICKER_DELETE",
+ "STICKER_UPDATE",
+ "COMMAND",
+ "MESSAGE_SPAM_DETECTED",
+ "CENSOR",
+ "CLEAN",
+ "CASE_CREATE",
+ "MASSUNBAN",
+ "MASSBAN",
+ "MASSMUTE",
+ "MEMBER_TIMED_MUTE",
+ "MEMBER_TIMED_UNMUTE",
+ "MEMBER_TIMED_BAN",
+ "MEMBER_TIMED_UNBAN",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS",
+ "OTHER_SPAM_DETECTED",
+ "MEMBER_ROLE_CHANGES",
+ "VOICE_CHANNEL_FORCE_MOVE",
+ "VOICE_CHANNEL_FORCE_DISCONNECT",
+ "CASE_UPDATE",
+ "MEMBER_MUTE_REJOIN",
+ "SCHEDULED_MESSAGE",
+ "POSTED_SCHEDULED_MESSAGE",
+ "BOT_ALERT",
+ "AUTOMOD_ACTION",
+ "SCHEDULED_REPEATED_MESSAGE",
+ "REPEATED_MESSAGE",
+ "MESSAGE_DELETE_AUTO",
+ "SET_ANTIRAID_USER",
+ "SET_ANTIRAID_AUTO",
+ "MEMBER_NOTE",
+ "CASE_DELETE",
+ "DM_FAILED"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "timestamp_format": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "include_embed_timestamp": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "format": {
+ "default": {
+ "MEMBER_NOTE": "{timestamp} 🖊 Note added on {userMention(user)} by {userMention(mod)}",
+ "MEMBER_WARN": "{timestamp} ⚠️ {userMention(member)} was warned by {userMention(mod)}",
+ "MEMBER_MUTE": "{timestamp} 🔇 {userMention(user)} was muted indefinitely by {userMention(mod)}",
+ "MEMBER_TIMED_MUTE": "{timestamp} 🔇 {userMention(user)} was muted for **{time}** by {userMention(mod)}",
+ "MEMBER_UNMUTE": "{timestamp} 🔊 {userMention(user)} was unmuted by {userMention(mod)}",
+ "MEMBER_TIMED_UNMUTE": "{timestamp} 🔊 {userMention(user)} was scheduled to be unmuted in **{time}** by {userMention(mod)}",
+ "MEMBER_MUTE_EXPIRED": "{timestamp} 🔊 {userMention(member)}'s mute expired",
+ "MEMBER_KICK": "{timestamp} 👢 {userMention(user)} was kicked by {userMention(mod)}",
+ "MEMBER_BAN": "{timestamp} 🔨 {userMention(user)} was banned by {userMention(mod)}",
+ "MEMBER_UNBAN": "{timestamp} 🔓 User (`{userId}`) was unbanned by {userMention(mod)}",
+ "MEMBER_FORCEBAN": "{timestamp} 🔨 User (`{userId}`) was forcebanned by {userMention(mod)}",
+ "MEMBER_SOFTBAN": "{timestamp} 🔨 {userMention(member)} was softbanned by {userMention(mod)}",
+ "MEMBER_JOIN": "{timestamp} 📥 {new} {userMention(member)} joined (created )",
+ "MEMBER_LEAVE": "{timestamp} 📤 {userMention(member)} left the server",
+ "MEMBER_ROLE_ADD": "{timestamp} 🔑 {userMention(mod)} added roles for {userMention(member)}: **{roles}**",
+ "MEMBER_ROLE_REMOVE": "{timestamp} 🔑 {userMention(mod)} removed roles from {userMention(member)}: **{roles}**",
+ "MEMBER_ROLE_CHANGES": "{timestamp} 🔑 {userMention(member)} had role changes: received **{addedRoles}**, lost **{removedRoles}**",
+ "MEMBER_NICK_CHANGE": "{timestamp} ✏ {userMention(member)}: nickname changed from **{oldNick}** to **{newNick}**",
+ "MEMBER_USERNAME_CHANGE": "{timestamp} ✏ {userMention(user)}: username changed from **{oldName}** to **{newName}**",
+ "MEMBER_RESTORE": "{timestamp} 💿 Restored {restoredData} for {userMention(member)} on rejoin",
+ "MEMBER_TIMED_BAN": "{timestamp} 🔨 {userMention(user)} was tempbanned by {userMention(mod)} for {banTime}",
+ "MEMBER_TIMED_UNBAN": "{timestamp} 🔓 User (`{userId}`) was automatically unbanned by {userMention(mod)} after a tempban for {banTime}",
+ "CHANNEL_CREATE": "{timestamp} 🖊 Channel {channelMention(channel)} was created",
+ "CHANNEL_DELETE": "{timestamp} 🗑 Channel {channelMention(channel)} was deleted",
+ "CHANNEL_UPDATE": "{timestamp} ✏ Channel {channelMention(newChannel)} was edited. Changes:\n{differenceString}",
+ "THREAD_CREATE": "{timestamp} 🖊 Thread {channelMention(thread)} was created in channel <#{thread.parentId}>",
+ "THREAD_DELETE": "{timestamp} 🗑 Thread {channelMention(thread)} was deleted/archived from channel <#{thread.parentId}>",
+ "THREAD_UPDATE": "{timestamp} ✏ Thread {channelMention(newThread)} was edited. Changes:\n{differenceString}",
+ "ROLE_CREATE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was created",
+ "ROLE_DELETE": "{timestamp} 🖊 Role **{role.name}** (`{role.id}`) was deleted",
+ "ROLE_UPDATE": "{timestamp} 🖊 Role **{newRole.name}** (`{newRole.id}`) was edited. Changes:\n{differenceString}",
+ "MESSAGE_EDIT": "{timestamp} ✏ {userMention(user)} edited their message (`{after.id}`) in {channelMention(channel)}:\n**Before:**{messageSummary(before)}**After:**{messageSummary(after)}",
+ "MESSAGE_DELETE": "{timestamp} 🗑 Message (`{message.id}`) from {userMention(user)} deleted in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}",
+ "MESSAGE_DELETE_BULK": "{timestamp} 🗑 **{count}** messages by {authorIds} deleted in {channelMention(channel)} ({archiveUrl})",
+ "MESSAGE_DELETE_BARE": "{timestamp} 🗑 Message (`{messageId}`) deleted in {channelMention(channel)} (no more info available)",
+ "MESSAGE_DELETE_AUTO": "{timestamp} 🗑 Auto-deleted message (`{message.id}`) from {userMention(user)} in {channelMention(channel)} (originally posted at **{messageDate}**):{messageSummary(message)}",
+ "VOICE_CHANNEL_JOIN": "{timestamp} 🎙 🔵 {userMention(member)} joined {channelMention(channel)}",
+ "VOICE_CHANNEL_MOVE": "{timestamp} 🎙 ↔ {userMention(member)} moved from {channelMention(oldChannel)} to {channelMention(newChannel)}",
+ "VOICE_CHANNEL_LEAVE": "{timestamp} 🎙 🔴 {userMention(member)} left {channelMention(channel)}",
+ "VOICE_CHANNEL_FORCE_MOVE": "{timestamp} 🎙 ✍ {userMention(member)} was moved from **{oldChannel.name}** to **{newChannel.name}** by {userMention(mod)}",
+ "VOICE_CHANNEL_FORCE_DISCONNECT": "{timestamp} 🎙 🚫 {userMention(member)} was forcefully disconnected from **{oldChannel.name}** by {userMention(mod)}",
+ "STAGE_INSTANCE_CREATE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was created in Stage Channel <#{stageChannel.id}>",
+ "STAGE_INSTANCE_DELETE": "{timestamp} 📣 Stage Instance `{stageInstance.topic}` was deleted in Stage Channel <#{stageChannel.id}>",
+ "STAGE_INSTANCE_UPDATE": "{timestamp} 📣 Stage Instance `{newStageInstance.topic}` was edited in Stage Channel <#{stageChannel.id}>. Changes:\n{differenceString}",
+ "EMOJI_CREATE": "{timestamp} {emoji.mention} Emoji **{emoji.name}** (`{emoji.id}`) was created",
+ "EMOJI_DELETE": "{timestamp} 👋 Emoji **{emoji.name}** (`{emoji.id}`) was deleted",
+ "EMOJI_UPDATE": "{timestamp} {newEmoji.mention} Emoji **{newEmoji.name}** (`{newEmoji.id}`) was updated. Changes:\n{differenceString}",
+ "STICKER_CREATE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was created. Description: `{sticker.description}` Format: {emoji.format}",
+ "STICKER_DELETE": "{timestamp} 🖼️ Sticker `{sticker.name} ({sticker.id})` was deleted.",
+ "STICKER_UPDATE": "{timestamp} 🖼️ Sticker `{newSticker.name} ({sticker.id})` was updated. Changes:\n{differenceString}",
+ "COMMAND": "{timestamp} 🤖 {userMention(member)} used command in {channelMention(channel)}:\n`{command}`",
+ "MESSAGE_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected in {channelMention(channel)}: {description} (more than {limit} in {interval}s)\n{archiveUrl}",
+ "OTHER_SPAM_DETECTED": "{timestamp} 🛑 {userMention(member)} spam detected: {description} (more than {limit} in {interval}s)",
+ "CENSOR": "{timestamp} 🛑 Censored message (`{message.id}`) from {userMention(user)} in {channelMention(channel)}: {reason}:\n```{messageText}```",
+ "CLEAN": "{timestamp} 🚿 {userMention(mod)} cleaned **{count}** message(s) in {channelMention(channel)}\n{archiveUrl}",
+ "CASE_CREATE": "{timestamp} ✏ {userMention(mod)} manually created new **{caseType}** case (#{caseNum})",
+ "CASE_DELETE": "{timestamp} ✂️ **Case #{case.case_number}** was deleted by {userMention(mod)}",
+ "MASSUNBAN": "{timestamp} ⚒ {userMention(mod)} mass-unbanned {count} users",
+ "MASSBAN": "{timestamp} ⚒ {userMention(mod)} massbanned {count} users",
+ "MASSMUTE": "{timestamp} 📢🚫 {userMention(mod)} massmuted {count} users",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS": "{timestamp} ⚠ {userMention(member)} joined with prior records. Recent cases:\n{recentCaseSummary}",
+ "CASE_UPDATE": "{timestamp} ✏ {userMention(mod)} updated case #{caseNumber} ({caseType}) with note:\n```{note}```",
+ "MEMBER_MUTE_REJOIN": "{timestamp} ⚠ Reapplied active mute for {userMention(member)} on rejoin",
+ "SCHEDULED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}",
+ "SCHEDULED_REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} on {datetime}, repeated {repeatDetails}",
+ "REPEATED_MESSAGE": "{timestamp} ⏰ {userMention(author)} scheduled a message to be posted to {channelMention(channel)} {repeatDetails}",
+ "POSTED_SCHEDULED_MESSAGE": "{timestamp} 📨 Posted scheduled message (`{messageId}`) to {channelMention(channel)} as scheduled by {userMention(author)}",
+ "BOT_ALERT": "{timestamp} ⚠ **BOT ALERT:** {tmplEval(body)}",
+ "DM_FAILED": "{timestamp} 🚧 Failed to send DM ({source}) to {userMention(user)}",
+ "AUTOMOD_ACTION": "{timestamp} 🤖 Automod rule **{if(not(prettyName), rule, prettyName)}** triggered by {userMention(users)}\n{matchSummary}\nActions taken: **{actionsTaken}**",
+ "SET_ANTIRAID_USER": "{timestamp} ⚔ {userMention(user)} set anti-raid to **{level}**",
+ "SET_ANTIRAID_AUTO": "{timestamp} ⚔ Anti-raid automatically set to **{level}**"
+ },
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "MEMBER_WARN",
+ "MEMBER_MUTE",
+ "MEMBER_UNMUTE",
+ "MEMBER_MUTE_EXPIRED",
+ "MEMBER_KICK",
+ "MEMBER_BAN",
+ "MEMBER_UNBAN",
+ "MEMBER_FORCEBAN",
+ "MEMBER_SOFTBAN",
+ "MEMBER_JOIN",
+ "MEMBER_LEAVE",
+ "MEMBER_ROLE_ADD",
+ "MEMBER_ROLE_REMOVE",
+ "MEMBER_NICK_CHANGE",
+ "MEMBER_USERNAME_CHANGE",
+ "MEMBER_RESTORE",
+ "CHANNEL_CREATE",
+ "CHANNEL_DELETE",
+ "CHANNEL_UPDATE",
+ "THREAD_CREATE",
+ "THREAD_DELETE",
+ "THREAD_UPDATE",
+ "ROLE_CREATE",
+ "ROLE_DELETE",
+ "ROLE_UPDATE",
+ "MESSAGE_EDIT",
+ "MESSAGE_DELETE",
+ "MESSAGE_DELETE_BULK",
+ "MESSAGE_DELETE_BARE",
+ "VOICE_CHANNEL_JOIN",
+ "VOICE_CHANNEL_LEAVE",
+ "VOICE_CHANNEL_MOVE",
+ "STAGE_INSTANCE_CREATE",
+ "STAGE_INSTANCE_DELETE",
+ "STAGE_INSTANCE_UPDATE",
+ "EMOJI_CREATE",
+ "EMOJI_DELETE",
+ "EMOJI_UPDATE",
+ "STICKER_CREATE",
+ "STICKER_DELETE",
+ "STICKER_UPDATE",
+ "COMMAND",
+ "MESSAGE_SPAM_DETECTED",
+ "CENSOR",
+ "CLEAN",
+ "CASE_CREATE",
+ "MASSUNBAN",
+ "MASSBAN",
+ "MASSMUTE",
+ "MEMBER_TIMED_MUTE",
+ "MEMBER_TIMED_UNMUTE",
+ "MEMBER_TIMED_BAN",
+ "MEMBER_TIMED_UNBAN",
+ "MEMBER_JOIN_WITH_PRIOR_RECORDS",
+ "OTHER_SPAM_DETECTED",
+ "MEMBER_ROLE_CHANGES",
+ "VOICE_CHANNEL_FORCE_MOVE",
+ "VOICE_CHANNEL_FORCE_DISCONNECT",
+ "CASE_UPDATE",
+ "MEMBER_MUTE_REJOIN",
+ "SCHEDULED_MESSAGE",
+ "POSTED_SCHEDULED_MESSAGE",
+ "BOT_ALERT",
+ "AUTOMOD_ACTION",
+ "SCHEDULED_REPEATED_MESSAGE",
+ "REPEATED_MESSAGE",
+ "MESSAGE_DELETE_AUTO",
+ "SET_ANTIRAID_USER",
+ "SET_ANTIRAID_AUTO",
+ "MEMBER_NOTE",
+ "CASE_DELETE",
+ "DM_FAILED"
+ ]
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "ping_user": {
+ "default": true,
+ "type": "boolean"
+ },
+ "allow_user_mentions": {
+ "default": false,
+ "type": "boolean"
+ },
+ "timestamp_format": {
+ "default": "[]",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "include_embed_timestamp": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "message_saver": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "mod_actions": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "dm_on_warn": {
+ "default": true,
+ "type": "boolean"
+ },
+ "dm_on_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_warn": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "warn_message": {
+ "default": "You have received a warning on the {guildName} server: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "kick_message": {
+ "default": "You have been kicked from the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ban_message": {
+ "default": "You have been banned from the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tempban_message": {
+ "default": "You have been banned from the {guildName} server for {banTime}. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "alert_on_rejoin": {
+ "default": false,
+ "type": "boolean"
+ },
+ "alert_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "warn_notify_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "warn_notify_threshold": {
+ "default": 5,
+ "type": "number"
+ },
+ "warn_notify_message": {
+ "default": "The user already has **{priorWarnings}** warnings!\n Please check their prior cases and assess whether or not to warn anyways.\n Proceed with the warning?",
+ "type": "string"
+ },
+ "ban_delete_message_days": {
+ "default": 1,
+ "type": "number"
+ },
+ "attachment_link_reaction": {
+ "default": "warn",
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "none"
+ },
+ {
+ "const": "warn"
+ },
+ {
+ "const": "restrict"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_note": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_warn": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_unban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_addcase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massunban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massmute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_hidecase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_deletecase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_act_as_other": {
+ "default": false,
+ "type": "boolean"
+ },
+ "create_cases_for_manual_actions": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "dm_on_warn": {
+ "default": true,
+ "type": "boolean"
+ },
+ "dm_on_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_warn": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "warn_message": {
+ "default": "You have received a warning on the {guildName} server: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "kick_message": {
+ "default": "You have been kicked from the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ban_message": {
+ "default": "You have been banned from the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tempban_message": {
+ "default": "You have been banned from the {guildName} server for {banTime}. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "alert_on_rejoin": {
+ "default": false,
+ "type": "boolean"
+ },
+ "alert_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "warn_notify_enabled": {
+ "default": false,
+ "type": "boolean"
+ },
+ "warn_notify_threshold": {
+ "default": 5,
+ "type": "number"
+ },
+ "warn_notify_message": {
+ "default": "The user already has **{priorWarnings}** warnings!\n Please check their prior cases and assess whether or not to warn anyways.\n Proceed with the warning?",
+ "type": "string"
+ },
+ "ban_delete_message_days": {
+ "default": 1,
+ "type": "number"
+ },
+ "attachment_link_reaction": {
+ "default": "warn",
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": "none"
+ },
+ {
+ "const": "warn"
+ },
+ {
+ "const": "restrict"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_note": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_warn": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_kick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_unban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_addcase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massunban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massban": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_massmute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_hidecase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_deletecase": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_act_as_other": {
+ "default": false,
+ "type": "boolean"
+ },
+ "create_cases_for_manual_actions": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "mutes": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "mute_role": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "move_to_voice_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "kick_from_voice_channel": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_update": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_update": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "mute_message": {
+ "default": "You have been muted on the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "timed_mute_message": {
+ "default": "You have been muted on the {guildName} server for {time}. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "update_mute_message": {
+ "default": "Your mute on the {guildName} server has been updated to {time}.",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "can_view_list": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_cleanup": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "mute_role": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "move_to_voice_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "kick_from_voice_channel": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "dm_on_update": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_on_update": {
+ "default": false,
+ "type": "boolean"
+ },
+ "message_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "mute_message": {
+ "default": "You have been muted on the {guildName} server. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "timed_mute_message": {
+ "default": "You have been muted on the {guildName} server for {time}. Reason given: {reason}",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "update_mute_message": {
+ "default": "Your mute on the {guildName} server has been updated to {time}.",
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "can_view_list": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_cleanup": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "name_history": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_view": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "persist": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "persisted_roles": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "persist_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "persist_voice_mutes": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "persisted_roles": {
+ "default": [],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "persist_nicknames": {
+ "default": false,
+ "type": "boolean"
+ },
+ "persist_voice_mutes": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "phisherman": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "api_key": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 255
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "api_key": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 255
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "pingable_roles": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "post": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_post": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_post": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "reaction_roles": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "auto_refresh_interval": {
+ "default": 900000,
+ "type": "number",
+ "minimum": 900000
+ },
+ "remove_user_reactions": {
+ "default": true,
+ "type": "boolean"
+ },
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ },
+ "button_groups": {
+ "default": null,
+ "type": "null"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "auto_refresh_interval": {
+ "default": 900000,
+ "type": "number",
+ "minimum": 900000
+ },
+ "remove_user_reactions": {
+ "default": true,
+ "type": "boolean"
+ },
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ },
+ "button_groups": {
+ "default": null,
+ "type": "null"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "reminders": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "role_buttons": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "buttons": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "message_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "channel_id",
+ "message_id"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "content": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "required": [
+ "channel_id",
+ "content"
+ ],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "options": {
+ "maxItems": 25,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "role_id": {
+ "type": "string"
+ },
+ "label": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "emoji": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "style": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": 1
+ },
+ {
+ "const": 2
+ },
+ {
+ "const": 3
+ },
+ {
+ "const": 4
+ },
+ {
+ "const": "PRIMARY"
+ },
+ {
+ "const": "SECONDARY"
+ },
+ {
+ "const": "SUCCESS"
+ },
+ {
+ "const": "DANGER"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "start_new_row": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "role_id"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "exclusive": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "message",
+ "options"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "can_reset": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "buttons": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "message_id": {
+ "type": "string"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "content": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ ]
+ },
+ "options": {
+ "maxItems": 25,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "role_id": {
+ "type": "string"
+ },
+ "label": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "emoji": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "style": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "const": 1
+ },
+ {
+ "const": 2
+ },
+ {
+ "const": 3
+ },
+ {
+ "const": 4
+ },
+ {
+ "const": "PRIMARY"
+ },
+ {
+ "const": "SECONDARY"
+ },
+ {
+ "const": "SUCCESS"
+ },
+ {
+ "const": "DANGER"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "start_new_row": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "exclusive": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "can_reset": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "role_manager": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "roles": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_assign": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_mass_assign": {
+ "default": false,
+ "type": "boolean"
+ },
+ "assignable_roles": {
+ "default": [],
+ "maxItems": 100,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_assign": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_mass_assign": {
+ "default": false,
+ "type": "boolean"
+ },
+ "assignable_roles": {
+ "default": [],
+ "maxItems": 100,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "self_grantable_roles": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "entries": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "roles": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "maxItems": 100,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ignore_cooldown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "max_roles": {
+ "default": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "roles"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "mention_roles": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "entries": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "roles": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "maxItems": 100,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ignore_cooldown": {
+ "default": false,
+ "type": "boolean"
+ },
+ "max_roles": {
+ "default": 0,
+ "type": "number"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "mention_roles": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "slowmode": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "use_native_slowmode": {
+ "default": true,
+ "type": "boolean"
+ },
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ },
+ "is_affected": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "use_native_slowmode": {
+ "default": true,
+ "type": "boolean"
+ },
+ "can_manage": {
+ "default": false,
+ "type": "boolean"
+ },
+ "is_affected": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "spam": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "max_censor": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_messages": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_links": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_attachments": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_emojis": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_newlines": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_duplicates": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_characters": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_voice_moves": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "interval",
+ "count"
+ ],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "max_censor": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_messages": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_links": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_attachments": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_emojis": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_newlines": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_duplicates": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_characters": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "max_voice_moves": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "interval": {
+ "type": "number"
+ },
+ "count": {
+ "type": "number"
+ },
+ "mute": {
+ "default": false,
+ "type": "boolean"
+ },
+ "mute_time": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "remove_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "restore_roles_on_mute": {
+ "default": false,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ "clean": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "starboard": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "boards": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "stars_required": {
+ "type": "number"
+ },
+ "star_emoji": {
+ "default": [
+ "⭐"
+ ],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allow_selfstars": {
+ "default": false,
+ "type": "boolean"
+ },
+ "copy_full_embed": {
+ "default": false,
+ "type": "boolean"
+ },
+ "enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "show_star_count": {
+ "default": true,
+ "type": "boolean"
+ },
+ "color": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "channel_id",
+ "stars_required"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "can_migrate": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "boards": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "channel_id": {
+ "type": "string"
+ },
+ "stars_required": {
+ "type": "number"
+ },
+ "star_emoji": {
+ "default": [
+ "⭐"
+ ],
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "allow_selfstars": {
+ "default": false,
+ "type": "boolean"
+ },
+ "copy_full_embed": {
+ "default": false,
+ "type": "boolean"
+ },
+ "enabled": {
+ "default": true,
+ "type": "boolean"
+ },
+ "show_star_count": {
+ "default": true,
+ "type": "boolean"
+ },
+ "color": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "can_migrate": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "tags": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "default": "!!",
+ "type": "string"
+ },
+ "delete_with_command": {
+ "default": true,
+ "type": "boolean"
+ },
+ "user_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_mentions": {
+ "default": false,
+ "type": "boolean"
+ },
+ "global_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_delete_command": {
+ "default": false,
+ "type": "boolean"
+ },
+ "categories": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "delete_with_command": {
+ "default": false,
+ "type": "boolean"
+ },
+ "user_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user_category_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_category_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_delete_command": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ]
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "can_use": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "tags"
+ ],
+ "additionalProperties": false
+ }
+ },
+ "can_create": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_list": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "default": "!!",
+ "type": "string"
+ },
+ "delete_with_command": {
+ "default": true,
+ "type": "boolean"
+ },
+ "user_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_mentions": {
+ "default": false,
+ "type": "boolean"
+ },
+ "global_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_delete_command": {
+ "default": false,
+ "type": "boolean"
+ },
+ "categories": {
+ "default": {},
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "delete_with_command": {
+ "default": false,
+ "type": "boolean"
+ },
+ "user_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user_category_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_tag_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "allow_mentions": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "global_category_cooldown": {
+ "default": null,
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "auto_delete_command": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "tts": {
+ "type": "boolean"
+ },
+ "embeds": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "string"
+ },
+ "color": {
+ "type": "number"
+ },
+ "footer": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "icon_url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "image": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "thumbnail": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "video": {
+ "type": "object",
+ "properties": {
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ "provider": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": []
+ },
+ "fields": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "inline": {
+ "type": "boolean"
+ }
+ },
+ "required": []
+ }
+ },
+ "author": {
+ "anyOf": [
+ {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "width": {
+ "type": "number"
+ },
+ "height": {
+ "type": "number"
+ }
+ },
+ "required": []
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": []
+ }
+ }
+ },
+ "required": []
+ }
+ ]
+ }
+ },
+ "can_use": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "can_create": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_use": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_list": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "time_and_date": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "timezone": {
+ "default": "Etc/UTC",
+ "type": "string"
+ },
+ "date_formats": {
+ "default": {
+ "date": "MMM D, YYYY",
+ "time": "H:mm",
+ "pretty_datetime": "MMM D, YYYY [at] H:mm z"
+ },
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "date",
+ "time",
+ "pretty_datetime"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_set_timezone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "timezone": {
+ "default": "Etc/UTC",
+ "type": "string"
+ },
+ "date_formats": {
+ "default": {
+ "date": "MMM D, YYYY",
+ "time": "H:mm",
+ "pretty_datetime": "MMM D, YYYY [at] H:mm z"
+ },
+ "anyOf": [
+ {
+ "type": "object",
+ "propertyNames": {
+ "enum": [
+ "date",
+ "time",
+ "pretty_datetime"
+ ]
+ },
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "can_set_timezone": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "username_saver": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {},
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "utility": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_roles": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_level": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_search": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_clean": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_info": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_server": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_inviteinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_channelinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_messageinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_userinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_roleinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_emojiinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_snowflake": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reload_guild": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_nickname": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ping": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_source": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_vcmove": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_vckick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_help": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_about": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_context": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_jumbo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "jumbo_size": {
+ "default": 128,
+ "type": "number"
+ },
+ "can_avatar": {
+ "default": false,
+ "type": "boolean"
+ },
+ "info_on_single_result": {
+ "default": true,
+ "type": "boolean"
+ },
+ "autojoin_threads": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "can_roles": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_level": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_search": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_clean": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_info": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_server": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_inviteinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_channelinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_messageinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_userinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_roleinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_emojiinfo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_snowflake": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_reload_guild": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_nickname": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_ping": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_source": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_vcmove": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_vckick": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_help": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_about": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_context": {
+ "default": false,
+ "type": "boolean"
+ },
+ "can_jumbo": {
+ "default": false,
+ "type": "boolean"
+ },
+ "jumbo_size": {
+ "default": 128,
+ "type": "number"
+ },
+ "can_avatar": {
+ "default": false,
+ "type": "boolean"
+ },
+ "info_on_single_result": {
+ "default": true,
+ "type": "boolean"
+ },
+ "autojoin_threads": {
+ "default": true,
+ "type": "boolean"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "welcome_message": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "send_dm": {
+ "default": false,
+ "type": "boolean"
+ },
+ "send_to_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "send_dm": {
+ "default": false,
+ "type": "boolean"
+ },
+ "send_to_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ },
+ "common": {
+ "type": "object",
+ "properties": {
+ "config": {
+ "type": "object",
+ "properties": {
+ "success_emoji": {
+ "default": "✅",
+ "type": "string"
+ },
+ "error_emoji": {
+ "default": "❌",
+ "type": "string"
+ },
+ "attachment_storing_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ },
+ "overrides": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "config": {
+ "type": "object",
+ "properties": {
+ "success_emoji": {
+ "default": "✅",
+ "type": "string"
+ },
+ "error_emoji": {
+ "default": "❌",
+ "type": "string"
+ },
+ "attachment_storing_channel": {
+ "default": null,
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [
+ "config"
+ ],
+ "additionalProperties": false
+ }
+ }
+ },
+ "required": []
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "required": [],
+ "additionalProperties": false,
+ "$defs": {
+ "__schema0": {
+ "$ref": "#/$defs/__schema1"
+ },
+ "__schema1": {
+ "type": "object",
+ "properties": {
+ "channel": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "category": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "level": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "role": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread": {
+ "anyOf": [
+ {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_thread": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "thread_type": {
+ "anyOf": [
+ {
+ "enum": [
+ "public",
+ "private"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "extra": {},
+ "zzz_dummy_property_do_not_use": {},
+ "all": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "any": {
+ "type": "array",
+ "items": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "not": {
+ "$ref": "#/$defs/__schema1"
+ }
+ },
+ "required": [],
+ "additionalProperties": false
+ }
+ },
+ "$schema": "https://json-schema.org/draft-2020-12/schema"
+}
\ No newline at end of file
diff --git a/config-checker/src/main.ts b/config-checker/src/main.ts
new file mode 100644
index 00000000..d5445122
--- /dev/null
+++ b/config-checker/src/main.ts
@@ -0,0 +1,88 @@
+import * as monaco from "monaco-editor";
+import { configureMonacoYaml } from "monaco-yaml";
+import schemaUri from "/config-schema.json?url";
+
+window.MonacoEnvironment = {
+ getWorker(_, label) {
+ switch (label) {
+ case "editorWorkerService":
+ return new Worker(new URL("monaco-editor/esm/vs/editor/editor.worker.js", import.meta.url), { type: "module" });
+ case "yaml":
+ return new Worker(new URL("./yaml.worker.js", import.meta.url), { type: "module" })
+ default:
+ throw new Error(`Unknown label ${label}`);
+ }
+ },
+};
+
+configureMonacoYaml(monaco, {
+ enableSchemaRequest: true,
+ schemas: [{
+ fileMatch: ["**/config.yaml"],
+ uri: schemaUri,
+ }],
+});
+
+const initialModel = monaco.editor.createModel("# Paste your config here to check it\n", undefined, monaco.Uri.parse("file:///config.yaml"));
+initialModel.updateOptions({ tabSize: 2 });
+
+const editorRoot = document.getElementById("editor")!;
+const errorsRoot = document.getElementById("errors")!;
+
+monaco.editor.defineTheme("zeppelin", {
+ base: "vs-dark",
+ inherit: true,
+ rules: [],
+ colors: {
+ "editor.background": "#00000000",
+ "editor.focusBorder": "#00000000",
+ "list.focusOutline": "#00000000",
+ "editorStickyScroll.background": "#070c11",
+ },
+});
+monaco.editor.create(editorRoot, {
+ automaticLayout: true,
+ model: initialModel,
+ quickSuggestions: {
+ other: true,
+ comments: true,
+ strings: true,
+ },
+ theme: "zeppelin",
+ minimap: {
+ enabled: false,
+ },
+});
+
+function showErrors(markers: monaco.editor.IMarker[]) {
+ if (markers.length) {
+ markers.sort((a, b) => a.startLineNumber - b.startLineNumber);
+ const frag = document.createDocumentFragment();
+ for (const marker of markers) {
+ const error = document.createElement("div");
+ error.classList.add("error");
+
+ const lineMarker = document.createElement("strong");
+ lineMarker.innerText = `Line ${marker.startLineNumber}: `;
+
+ const errorText = document.createElement("span");
+ errorText.innerText = marker.message;
+
+ error.append(lineMarker, errorText);
+ frag.append(error);
+ }
+ errorsRoot.replaceChildren(frag);
+ } else {
+ const success = document.createElement("div");
+ success.classList.add("noErrors");
+ success.innerText = "No errors!";
+ errorsRoot.replaceChildren(success);
+ }
+}
+
+monaco.editor.onDidChangeMarkers(([uri]) => {
+ const markers = monaco.editor.getModelMarkers({ resource: uri });
+ showErrors(markers);
+});
+
+showErrors([]);
diff --git a/config-checker/src/style.css b/config-checker/src/style.css
new file mode 100644
index 00000000..cbaab1bb
--- /dev/null
+++ b/config-checker/src/style.css
@@ -0,0 +1,86 @@
+*, *::before, *::after {
+ box-sizing: border-box;
+}
+
+body {
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+ font-size: 14px;
+ background: linear-gradient(45deg, #040a0e, #27699e);
+ color: #f8f8f8;
+ margin: 0;
+}
+
+.wrap {
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+ padding: 16px;
+ gap: 16px;
+}
+
+.section {
+ background-color: #000000b8;
+ display: flex;
+ flex-direction: column;
+ border-radius: 4px;
+ overflow: hidden;
+ box-shadow: 0 0 12px rgba(0, 0, 0, 0.397);
+}
+
+.title {
+ flex: 0 0 32px;
+ background-color: #ffffff11;
+ display: flex;
+ align-items: center;
+ padding-left: 10px;
+}
+
+.title h1 {
+ margin: 0;
+ font-size: 12px;
+ line-height: 1;
+ text-transform: uppercase;
+}
+
+.content {
+ flex: 1 1 auto;
+ display: flex;
+ flex-direction: column;
+}
+
+.editor-wrap {
+ flex: 0 0 100%;
+
+ display: flex;
+ flex-direction: column;
+}
+
+#editor {
+ flex: 0 0 100%;
+}
+
+.monaco-editor {
+ outline: 0 !important;
+}
+
+.errors-wrap {
+ flex: 0 0 100%;
+
+ display: flex;
+ flex-direction: column;
+
+ padding: 10px;
+}
+
+#errors {
+ flex: 0 0 max(300px, 40vh);
+}
+
+.error {
+ color: hsl(10.7deg 58.76% 57.09%);
+}
+
+.noErrors {
+ color: hsl(93.81deg 56.52% 52.07%);
+ font-weight: 700;
+}
diff --git a/config-checker/src/vite-env.d.ts b/config-checker/src/vite-env.d.ts
new file mode 100644
index 00000000..11f02fe2
--- /dev/null
+++ b/config-checker/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/config-checker/src/yaml.worker.js b/config-checker/src/yaml.worker.js
new file mode 100644
index 00000000..566e2df6
--- /dev/null
+++ b/config-checker/src/yaml.worker.js
@@ -0,0 +1 @@
+import "monaco-yaml/yaml.worker.js";
diff --git a/config-checker/tsconfig.json b/config-checker/tsconfig.json
new file mode 100644
index 00000000..a22caba9
--- /dev/null
+++ b/config-checker/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}