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 + + +
+
+
+

Config

+
+
+
+
+
+
+
+ +
+
+

Errors

+
+
+
+
+
+
+
+
+ + + + 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"] +}