From 1d3c5ec7646ca0d7d27a9b93988aff0fe1cc51b0 Mon Sep 17 00:00:00 2001 From: "Rhys (SunburntRock89)" Date: Sat, 1 Oct 2022 22:49:28 +0100 Subject: [PATCH] Unfinished call hold --- package-lock.json | 782 ++++++++--------- package.json | 28 +- prisma/debug/1-datamodel.json | 982 ---------------------- prisma/debug/2-datamodel-map-applied.json | 982 ---------------------- prisma/debug/3-mermaid.mmd | 102 --- prisma/schema.prisma | 10 +- src/commands/support/deassign.ts | 6 +- src/config/commands.ts | 9 + src/dtel.ts | 4 - src/events/sharderMessage.ts | 25 +- src/internals/callClient.ts | 71 +- src/internals/client.ts | 8 +- 12 files changed, 513 insertions(+), 2496 deletions(-) delete mode 100644 prisma/debug/1-datamodel.json delete mode 100644 prisma/debug/2-datamodel-map-applied.json delete mode 100644 prisma/debug/3-mermaid.mmd diff --git a/package-lock.json b/package-lock.json index f5e74a3e..24a29534 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,19 +11,19 @@ "license": "SEE LICENSE IN LICENSE", "dependencies": { "@discoin/scambio": "^2.2.0", - "@prisma/client": "^4.2.1", + "@prisma/client": "^4.4.0", "bufferutil": "^4.0.6", - "dayjs": "^1.11.4", - "discord-api-types": "^0.37.1", - "discord.js": "^14.0.3", + "dayjs": "^1.11.5", + "discord-api-types": "^0.37.11", + "discord.js": "^14.5.0", "erlpack": "github:discordapp/erlpack", - "i18next": "^21.9.0", + "i18next": "^21.9.2", "node-schedule": "^2.1.0", "re2": "^1.17.7", "url-regex-safe": "^3.0.0", "utf-8-validate": "^5.0.9", - "uuid": "^8.3.2", - "winston": "^3.8.1", + "uuid": "^9.0.0", + "winston": "^3.8.2", "winston-daily-rotate-file": "^4.7.1", "zlib-sync": "^0.1.7", "zucc": "^0.1.2" @@ -31,17 +31,17 @@ "devDependencies": { "@mermaid-js/mermaid-cli": "^9.1.6", "@tsconfig/node18": "^1.0.1", - "@types/node": "^18.6.5", + "@types/node": "^18.7.23", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.33.0", - "@typescript-eslint/parser": "^5.33.0", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", "cross-env": "^7.0.3", - "eslint": "^8.21.0", - "prisma": "^4.2.1", - "prisma-erd-generator": "^1.2.0", + "eslint": "^8.24.0", + "prisma": "^4.4.0", + "prisma-erd-generator": "^1.2.1", "safe-regex": "^2.1.1", "transformer": "^1.2.8", - "typescript": "^4.7.4" + "typescript": "^4.8.4" }, "engines": { "node": ">=16" @@ -92,12 +92,12 @@ } }, "node_modules/@discordjs/builders": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.0.0.tgz", - "integrity": "sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.2.0.tgz", + "integrity": "sha512-ARy4BUTMU+S0ZI6605NDqfWO+qZqV2d/xfY32z3hVSsd9IaAKJBZ1ILTZLy87oIjW8+gUpQmk9Kt0ZP9bmmd8Q==", "dependencies": { "@sapphire/shapeshift": "^3.5.1", - "discord-api-types": "^0.36.2", + "discord-api-types": "^0.37.3", "fast-deep-equal": "^3.1.3", "ts-mixer": "^6.0.1", "tslib": "^2.4.0" @@ -106,50 +106,40 @@ "node": ">=16.9.0" } }, - "node_modules/@discordjs/builders/node_modules/discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - }, "node_modules/@discordjs/collection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.0.tgz", - "integrity": "sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.1.0.tgz", + "integrity": "sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ==", "engines": { "node": ">=16.9.0" } }, "node_modules/@discordjs/rest": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.0.tgz", - "integrity": "sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.2.0.tgz", + "integrity": "sha512-WX79uzMdnBzFNgsDdA440Ia2q7SMk6F8bNaPMmV4i6qcUNJpg+Sgb2spKuQmQPlNTX4HCntR609xHqUkK1tnVQ==", "dependencies": { - "@discordjs/collection": "^1.0.0", - "@sapphire/async-queue": "^1.3.2", + "@discordjs/collection": "^1.1.0", + "@sapphire/async-queue": "^1.5.0", "@sapphire/snowflake": "^3.2.2", - "discord-api-types": "^0.36.2", - "file-type": "^17.1.2", + "discord-api-types": "^0.37.10", + "file-type": "^18.0.0", "tslib": "^2.4.0", - "undici": "^5.7.0" + "undici": "^5.10.0" }, "engines": { "node": ">=16.9.0" } }, - "node_modules/@discordjs/rest/node_modules/discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - }, "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", + "espree": "^9.4.0", "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -159,6 +149,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@gar/promisify": { @@ -167,9 +160,9 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -190,6 +183,19 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -301,12 +307,12 @@ } }, "node_modules/@prisma/client": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", - "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.4.0.tgz", + "integrity": "sha512-ciKOP246x1xwr04G9ajHlJ4pkmtu9Q6esVyqVBO0QJihaKQIUvbPjClp17IsRJyxqNpFm4ScbOc/s9DUzKHINQ==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" + "@prisma/engines-version": "4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6" }, "engines": { "node": ">=14.17" @@ -321,9 +327,9 @@ } }, "node_modules/@prisma/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-rvDiWvChaKHZO4F9UFX/qG3jqYIYUbkWySAGJG0B9AMhw7k0EtjwYef02p/aLoz7smM3+ZPKJU9E+sqS1nympg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-tpJqrvmA8VlQuaVAmkFzIU7Of6xk3kQ2DYV6bPJukDZ6xmnufT27EpU8TSIra4jGdzz7y/R0rxmuXSBp24ew5w==", "dev": true, "dependencies": { "@types/debug": "4.1.7", @@ -332,42 +338,42 @@ } }, "node_modules/@prisma/engines": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz", - "integrity": "sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.4.0.tgz", + "integrity": "sha512-Fpykccxlt9MHrAs/QpPGpI2nOiRxuLA+LiApgA59ibbf24YICZIMWd3SI2YD+q0IAIso0jCGiHhirAIbxK3RyQ==", "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b.tgz", - "integrity": "sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw==" + "version": "4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6.tgz", + "integrity": "sha512-P5v/PuEIJLYXZUZBvOLPqoyCW+m6StNqHdiR6te++gYVODpPdLakks5HVx3JaZIY+LwR02juJWFlwpc9Eog/ug==" }, "node_modules/@prisma/generator-helper": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-4.3.1.tgz", - "integrity": "sha512-tWIfbpXG30nvxYhyp0MZj4RX/3B4dnYWj5i4hanK7yTTXt6oRBm4b1veYbC/nW1KcBbJvbp+zvLN0dDSmSldqQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-4.4.0.tgz", + "integrity": "sha512-6z5Tl+Cjk/WDWUMvpCOzhsK4Nkcb64zGoU/NePl3Z0tFR2RkfnBfnmJbpWdHr9HQYz7jO7LsTAyS5aWPjqeHKg==", "dev": true, "dependencies": { - "@prisma/debug": "4.3.1", + "@prisma/debug": "4.4.0", "@types/cross-spawn": "6.0.2", "chalk": "4.1.2", "cross-spawn": "7.0.3" } }, "node_modules/@sapphire/async-queue": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.3.2.tgz", - "integrity": "sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.0.tgz", + "integrity": "sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==", "engines": { "node": ">=v14.0.0", "npm": ">=7.0.0" } }, "node_modules/@sapphire/shapeshift": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.5.1.tgz", - "integrity": "sha512-7JFsW5IglyOIUQI1eE0g6h06D/Far6HqpcowRScgCiLSqTf3hhkPWCWotVTtVycnDCMYIwPeaw6IEPBomKC8pA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.6.0.tgz", + "integrity": "sha512-tu2WLRdo5wotHRvsCkspg3qMiP6ETC3Q1dns1Q5V6zKUki+1itq6AbhMwohF9ZcLoYqg+Y8LkgRRtVxxTQVTBQ==", "dependencies": { "fast-deep-equal": "^3.1.3", "lodash.uniqwith": "^4.5.0" @@ -436,9 +442,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.6.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz", - "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==" + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==" }, "node_modules/@types/uuid": { "version": "8.3.4", @@ -465,16 +471,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz", - "integrity": "sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/type-utils": "5.33.0", - "@typescript-eslint/utils": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -498,14 +503,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.0.tgz", - "integrity": "sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/typescript-estree": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "debug": "^4.3.4" }, "engines": { @@ -525,13 +530,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz", - "integrity": "sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/visitor-keys": "5.33.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -542,12 +547,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz", - "integrity": "sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.33.0", + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -568,9 +574,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.0.tgz", - "integrity": "sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -581,13 +587,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz", - "integrity": "sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/visitor-keys": "5.33.0", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -608,15 +614,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.0.tgz", - "integrity": "sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/typescript-estree": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -632,12 +638,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz", - "integrity": "sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/types": "5.38.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1214,9 +1220,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz", - "integrity": "sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==" + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", + "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==" }, "node_modules/debug": { "version": "4.3.4", @@ -1296,35 +1302,50 @@ } }, "node_modules/discord-api-types": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.1.tgz", - "integrity": "sha512-mePTvycgxnXh1wZO2BTj0mVKsxX69tuc1Zgf4A7dZDGX/HT/geb/26ZLIVqBU9BREJbySuDQlluyIjwZFQj3qw==" + "version": "0.37.11", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.11.tgz", + "integrity": "sha512-cUNXrCdD4hEj5iJ9SligTNur64rNnLX5s6CbvmatRpWKMZtrLTOlyLhuXmVbjfDXeXH7os8Qb71Wa7IEhC27Sw==" }, "node_modules/discord.js": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.0.3.tgz", - "integrity": "sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==", + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.5.0.tgz", + "integrity": "sha512-Kd5OqdeiXe3t9eHUHCzf1r3LmKpeJJ7lKqwlWX1qdC0WfsbO2K3kucIDLfe0INnZVZaErUQ6/U6kGbTDnGgwZg==", "dependencies": { - "@discordjs/builders": "^1.0.0", - "@discordjs/collection": "^1.0.0", - "@discordjs/rest": "^1.0.0", + "@discordjs/builders": "^1.2.0", + "@discordjs/collection": "^1.1.0", + "@discordjs/rest": "^1.2.0", "@sapphire/snowflake": "^3.2.2", "@types/ws": "^8.5.3", - "discord-api-types": "^0.36.2", + "discord-api-types": "^0.37.10", "fast-deep-equal": "^3.1.3", "lodash.snakecase": "^4.1.1", "tslib": "^2.4.0", - "undici": "^5.8.0", - "ws": "^8.8.1" + "undici": "^5.10.0", + "ws": "^8.9.0" }, "engines": { "node": ">=16.9.0" } }, - "node_modules/discord.js/node_modules/discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" + "node_modules/discord.js/node_modules/ws": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, "node_modules/doctrine": { "version": "3.0.0", @@ -1411,14 +1432,15 @@ } }, "node_modules/eslint": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", - "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -1428,13 +1450,12 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", "globby": "^11.1.0", @@ -1443,6 +1464,7 @@ "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -1453,8 +1475,7 @@ "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -1538,9 +1559,9 @@ } }, "node_modules/espree": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", - "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "dependencies": { "acorn": "^8.8.0", @@ -1744,16 +1765,16 @@ } }, "node_modules/file-type": { - "version": "17.1.4", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.4.tgz", - "integrity": "sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.0.0.tgz", + "integrity": "sha512-jjMwFpnW8PKofLE/4ohlhqwDk5k0NC6iy0UHAJFKoY1fQeGMN0GDdLgHQrvCbSpMwbqzoCZhRI5dETCZna5qVA==", "dependencies": { "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0-alpha.9", - "token-types": "^5.0.0-alpha.2" + "strtok3": "^7.0.0", + "token-types": "^5.0.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/file-type?sponsor=1" @@ -1861,12 +1882,6 @@ "noop6": "^1.0.1" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -1945,9 +1960,9 @@ } }, "node_modules/globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2076,9 +2091,9 @@ } }, "node_modules/i18next": { - "version": "21.9.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.0.tgz", - "integrity": "sha512-B+6/yd7rCpJidyPuBaEApUECx7G8Ai6+tqYhrChsY4MmQqJhG7qJ4eT6Lm1OnRhieVelEtfxh4aAQktdNVZtDA==", + "version": "21.9.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.2.tgz", + "integrity": "sha512-00fVrLQOwy45nm3OtC9l1WiLK3nJlIYSljgCt0qzTaAy65aciMdRy9GsuW+a2AtKtdg9/njUGfRH30LRupV7ZQ==", "funding": [ { "type": "individual", @@ -2289,6 +2304,12 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -2891,11 +2912,11 @@ } }, "node_modules/peek-readable": { - "version": "5.0.0-alpha.5", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0-alpha.5.tgz", - "integrity": "sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "type": "github", @@ -2930,13 +2951,13 @@ } }, "node_modules/prisma": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz", - "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.4.0.tgz", + "integrity": "sha512-l/QKLmLcKJQFuc+X02LyICo0NWTUVaNNZ00jKJBqwDyhwMAhboD1FWwYV50rkH4Wls0RviAJSFzkC2ZrfawpfA==", "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "4.2.1" + "@prisma/engines": "4.4.0" }, "bin": { "prisma": "build/index.js", @@ -2947,14 +2968,14 @@ } }, "node_modules/prisma-erd-generator": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/prisma-erd-generator/-/prisma-erd-generator-1.2.0.tgz", - "integrity": "sha512-BILXdb32Ed8+VJZKVe7uiH9SDvMQ5iCqwiqavexiigwmdybjiceQpJAH2ObLIIKHD3AWDP9zFuzmB6APa1KEPQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prisma-erd-generator/-/prisma-erd-generator-1.2.1.tgz", + "integrity": "sha512-EAmlMlaBN9/L9SayECOE7mJ7iYAfn/QTiIfwGhwFw2klQMEBAVdew/UzOJ7fgGubK14Frp8ov2tWede1yHqe2Q==", "dev": true, "dependencies": { "@mermaid-js/mermaid-cli": "^9.1.6", - "@prisma/client": "^4.3.1", - "@prisma/generator-helper": "^4.3.1", + "@prisma/client": "^4.4.0", + "@prisma/generator-helper": "^4.4.0", "dotenv": "^16.0.2" }, "bin": { @@ -3464,15 +3485,15 @@ } }, "node_modules/strtok3": { - "version": "7.0.0-alpha.9", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0-alpha.9.tgz", - "integrity": "sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", "dependencies": { "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0-alpha.5" + "peek-readable": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "type": "github", @@ -3579,15 +3600,15 @@ } }, "node_modules/token-types": { - "version": "5.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0-alpha.2.tgz", - "integrity": "sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "type": "github", @@ -3675,9 +3696,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -3717,9 +3738,9 @@ } }, "node_modules/undici": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz", - "integrity": "sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.10.0.tgz", + "integrity": "sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==", "engines": { "node": ">=12.18" } @@ -3787,19 +3808,13 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -3839,10 +3854,11 @@ } }, "node_modules/winston": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz", - "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", + "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", "dependencies": { + "@colors/colors": "1.5.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", @@ -3906,6 +3922,7 @@ "version": "8.8.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, "engines": { "node": ">=10.0.0" }, @@ -4003,59 +4020,45 @@ } }, "@discordjs/builders": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.0.0.tgz", - "integrity": "sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.2.0.tgz", + "integrity": "sha512-ARy4BUTMU+S0ZI6605NDqfWO+qZqV2d/xfY32z3hVSsd9IaAKJBZ1ILTZLy87oIjW8+gUpQmk9Kt0ZP9bmmd8Q==", "requires": { "@sapphire/shapeshift": "^3.5.1", - "discord-api-types": "^0.36.2", + "discord-api-types": "^0.37.3", "fast-deep-equal": "^3.1.3", "ts-mixer": "^6.0.1", "tslib": "^2.4.0" - }, - "dependencies": { - "discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - } } }, "@discordjs/collection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.0.tgz", - "integrity": "sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.1.0.tgz", + "integrity": "sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ==" }, "@discordjs/rest": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.0.0.tgz", - "integrity": "sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.2.0.tgz", + "integrity": "sha512-WX79uzMdnBzFNgsDdA440Ia2q7SMk6F8bNaPMmV4i6qcUNJpg+Sgb2spKuQmQPlNTX4HCntR609xHqUkK1tnVQ==", "requires": { - "@discordjs/collection": "^1.0.0", - "@sapphire/async-queue": "^1.3.2", + "@discordjs/collection": "^1.1.0", + "@sapphire/async-queue": "^1.5.0", "@sapphire/snowflake": "^3.2.2", - "discord-api-types": "^0.36.2", - "file-type": "^17.1.2", + "discord-api-types": "^0.37.10", + "file-type": "^18.0.0", "tslib": "^2.4.0", - "undici": "^5.7.0" - }, - "dependencies": { - "discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" - } + "undici": "^5.10.0" } }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", + "espree": "^9.4.0", "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -4070,9 +4073,9 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -4086,6 +4089,12 @@ "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", "dev": true }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -4172,17 +4181,17 @@ } }, "@prisma/client": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", - "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.4.0.tgz", + "integrity": "sha512-ciKOP246x1xwr04G9ajHlJ4pkmtu9Q6esVyqVBO0QJihaKQIUvbPjClp17IsRJyxqNpFm4ScbOc/s9DUzKHINQ==", "requires": { - "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" + "@prisma/engines-version": "4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6" } }, "@prisma/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-rvDiWvChaKHZO4F9UFX/qG3jqYIYUbkWySAGJG0B9AMhw7k0EtjwYef02p/aLoz7smM3+ZPKJU9E+sqS1nympg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-tpJqrvmA8VlQuaVAmkFzIU7Of6xk3kQ2DYV6bPJukDZ6xmnufT27EpU8TSIra4jGdzz7y/R0rxmuXSBp24ew5w==", "dev": true, "requires": { "@types/debug": "4.1.7", @@ -4191,37 +4200,37 @@ } }, "@prisma/engines": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz", - "integrity": "sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.4.0.tgz", + "integrity": "sha512-Fpykccxlt9MHrAs/QpPGpI2nOiRxuLA+LiApgA59ibbf24YICZIMWd3SI2YD+q0IAIso0jCGiHhirAIbxK3RyQ==", "devOptional": true }, "@prisma/engines-version": { - "version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b.tgz", - "integrity": "sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw==" + "version": "4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.4.0-66.f352a33b70356f46311da8b00d83386dd9f145d6.tgz", + "integrity": "sha512-P5v/PuEIJLYXZUZBvOLPqoyCW+m6StNqHdiR6te++gYVODpPdLakks5HVx3JaZIY+LwR02juJWFlwpc9Eog/ug==" }, "@prisma/generator-helper": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-4.3.1.tgz", - "integrity": "sha512-tWIfbpXG30nvxYhyp0MZj4RX/3B4dnYWj5i4hanK7yTTXt6oRBm4b1veYbC/nW1KcBbJvbp+zvLN0dDSmSldqQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@prisma/generator-helper/-/generator-helper-4.4.0.tgz", + "integrity": "sha512-6z5Tl+Cjk/WDWUMvpCOzhsK4Nkcb64zGoU/NePl3Z0tFR2RkfnBfnmJbpWdHr9HQYz7jO7LsTAyS5aWPjqeHKg==", "dev": true, "requires": { - "@prisma/debug": "4.3.1", + "@prisma/debug": "4.4.0", "@types/cross-spawn": "6.0.2", "chalk": "4.1.2", "cross-spawn": "7.0.3" } }, "@sapphire/async-queue": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.3.2.tgz", - "integrity": "sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.0.tgz", + "integrity": "sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==" }, "@sapphire/shapeshift": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.5.1.tgz", - "integrity": "sha512-7JFsW5IglyOIUQI1eE0g6h06D/Far6HqpcowRScgCiLSqTf3hhkPWCWotVTtVycnDCMYIwPeaw6IEPBomKC8pA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.6.0.tgz", + "integrity": "sha512-tu2WLRdo5wotHRvsCkspg3qMiP6ETC3Q1dns1Q5V6zKUki+1itq6AbhMwohF9ZcLoYqg+Y8LkgRRtVxxTQVTBQ==", "requires": { "fast-deep-equal": "^3.1.3", "lodash.uniqwith": "^4.5.0" @@ -4279,9 +4288,9 @@ "dev": true }, "@types/node": { - "version": "18.6.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.5.tgz", - "integrity": "sha512-Xjt5ZGUa5WusGZJ4WJPbOT8QOqp6nDynVFRKcUt32bOgvXEoc6o085WNkYTMO7ifAj2isEfQQ2cseE+wT6jsRw==" + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==" }, "@types/uuid": { "version": "8.3.4", @@ -4308,16 +4317,15 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz", - "integrity": "sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/type-utils": "5.33.0", - "@typescript-eslint/utils": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", @@ -4325,52 +4333,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.0.tgz", - "integrity": "sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/typescript-estree": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz", - "integrity": "sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/visitor-keys": "5.33.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" } }, "@typescript-eslint/type-utils": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz", - "integrity": "sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.33.0", + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.0.tgz", - "integrity": "sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz", - "integrity": "sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/visitor-keys": "5.33.0", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4379,26 +4388,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.0.tgz", - "integrity": "sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.0", - "@typescript-eslint/types": "5.33.0", - "@typescript-eslint/typescript-estree": "5.33.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz", - "integrity": "sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.0", + "@typescript-eslint/types": "5.38.1", "eslint-visitor-keys": "^3.3.0" } }, @@ -4829,9 +4838,9 @@ "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" }, "dayjs": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.4.tgz", - "integrity": "sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==" + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", + "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==" }, "debug": { "version": "4.3.4", @@ -4891,32 +4900,33 @@ } }, "discord-api-types": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.1.tgz", - "integrity": "sha512-mePTvycgxnXh1wZO2BTj0mVKsxX69tuc1Zgf4A7dZDGX/HT/geb/26ZLIVqBU9BREJbySuDQlluyIjwZFQj3qw==" + "version": "0.37.11", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.11.tgz", + "integrity": "sha512-cUNXrCdD4hEj5iJ9SligTNur64rNnLX5s6CbvmatRpWKMZtrLTOlyLhuXmVbjfDXeXH7os8Qb71Wa7IEhC27Sw==" }, "discord.js": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.0.3.tgz", - "integrity": "sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==", + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.5.0.tgz", + "integrity": "sha512-Kd5OqdeiXe3t9eHUHCzf1r3LmKpeJJ7lKqwlWX1qdC0WfsbO2K3kucIDLfe0INnZVZaErUQ6/U6kGbTDnGgwZg==", "requires": { - "@discordjs/builders": "^1.0.0", - "@discordjs/collection": "^1.0.0", - "@discordjs/rest": "^1.0.0", + "@discordjs/builders": "^1.2.0", + "@discordjs/collection": "^1.1.0", + "@discordjs/rest": "^1.2.0", "@sapphire/snowflake": "^3.2.2", "@types/ws": "^8.5.3", - "discord-api-types": "^0.36.2", + "discord-api-types": "^0.37.10", "fast-deep-equal": "^3.1.3", "lodash.snakecase": "^4.1.1", "tslib": "^2.4.0", - "undici": "^5.8.0", - "ws": "^8.8.1" + "undici": "^5.10.0", + "ws": "^8.9.0" }, "dependencies": { - "discord-api-types": { - "version": "0.36.3", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.36.3.tgz", - "integrity": "sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==" + "ws": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "requires": {} } } }, @@ -4988,14 +4998,15 @@ "dev": true }, "eslint": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", - "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -5005,13 +5016,12 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", "globby": "^11.1.0", @@ -5020,6 +5030,7 @@ "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -5030,8 +5041,7 @@ "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "eslint-scope": { @@ -5086,9 +5096,9 @@ "dev": true }, "espree": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", - "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -5246,13 +5256,13 @@ } }, "file-type": { - "version": "17.1.4", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-17.1.4.tgz", - "integrity": "sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.0.0.tgz", + "integrity": "sha512-jjMwFpnW8PKofLE/4ohlhqwDk5k0NC6iy0UHAJFKoY1fQeGMN0GDdLgHQrvCbSpMwbqzoCZhRI5dETCZna5qVA==", "requires": { "readable-web-to-node-stream": "^3.0.2", - "strtok3": "^7.0.0-alpha.9", - "token-types": "^5.0.0-alpha.2" + "strtok3": "^7.0.0", + "token-types": "^5.0.1" } }, "file-uri-to-path": { @@ -5342,12 +5352,6 @@ "noop6": "^1.0.1" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -5405,9 +5409,9 @@ } }, "globals": { - "version": "13.16.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.16.0.tgz", - "integrity": "sha512-A1lrQfpNF+McdPOnnFqY3kSN0AFTy485bTi1bkLk4mVPODIUEcSfhHgRqA+QdXPksrSTTztYXx37NFV+GpGk3Q==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -5503,9 +5507,9 @@ } }, "i18next": { - "version": "21.9.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.0.tgz", - "integrity": "sha512-B+6/yd7rCpJidyPuBaEApUECx7G8Ai6+tqYhrChsY4MmQqJhG7qJ4eT6Lm1OnRhieVelEtfxh4aAQktdNVZtDA==", + "version": "21.9.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.9.2.tgz", + "integrity": "sha512-00fVrLQOwy45nm3OtC9l1WiLK3nJlIYSljgCt0qzTaAy65aciMdRy9GsuW+a2AtKtdg9/njUGfRH30LRupV7ZQ==", "requires": { "@babel/runtime": "^7.17.2" } @@ -5639,6 +5643,12 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -6080,9 +6090,9 @@ "dev": true }, "peek-readable": { - "version": "5.0.0-alpha.5", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0-alpha.5.tgz", - "integrity": "sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==" }, "pend": { "version": "1.2.0", @@ -6103,23 +6113,23 @@ "dev": true }, "prisma": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz", - "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.4.0.tgz", + "integrity": "sha512-l/QKLmLcKJQFuc+X02LyICo0NWTUVaNNZ00jKJBqwDyhwMAhboD1FWwYV50rkH4Wls0RviAJSFzkC2ZrfawpfA==", "devOptional": true, "requires": { - "@prisma/engines": "4.2.1" + "@prisma/engines": "4.4.0" } }, "prisma-erd-generator": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/prisma-erd-generator/-/prisma-erd-generator-1.2.0.tgz", - "integrity": "sha512-BILXdb32Ed8+VJZKVe7uiH9SDvMQ5iCqwiqavexiigwmdybjiceQpJAH2ObLIIKHD3AWDP9zFuzmB6APa1KEPQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prisma-erd-generator/-/prisma-erd-generator-1.2.1.tgz", + "integrity": "sha512-EAmlMlaBN9/L9SayECOE7mJ7iYAfn/QTiIfwGhwFw2klQMEBAVdew/UzOJ7fgGubK14Frp8ov2tWede1yHqe2Q==", "dev": true, "requires": { "@mermaid-js/mermaid-cli": "^9.1.6", - "@prisma/client": "^4.3.1", - "@prisma/generator-helper": "^4.3.1", + "@prisma/client": "^4.4.0", + "@prisma/generator-helper": "^4.4.0", "dotenv": "^16.0.2" } }, @@ -6472,12 +6482,12 @@ "dev": true }, "strtok3": { - "version": "7.0.0-alpha.9", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0-alpha.9.tgz", - "integrity": "sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", "requires": { "@tokenizer/token": "^0.3.0", - "peek-readable": "^5.0.0-alpha.5" + "peek-readable": "^5.0.0" } }, "supports-color": { @@ -6567,9 +6577,9 @@ } }, "token-types": { - "version": "5.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.0-alpha.2.tgz", - "integrity": "sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", "requires": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" @@ -6643,9 +6653,9 @@ "dev": true }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "dev": true }, "typpy": { @@ -6678,9 +6688,9 @@ } }, "undici": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz", - "integrity": "sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q==" + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.10.0.tgz", + "integrity": "sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==" }, "unique-filename": { "version": "1.1.1", @@ -6730,15 +6740,9 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" }, "webidl-conversions": { "version": "3.0.1", @@ -6773,10 +6777,11 @@ } }, "winston": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz", - "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", + "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", "requires": { + "@colors/colors": "1.5.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", @@ -6825,6 +6830,7 @@ "version": "8.8.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, "requires": {} }, "yallist": { diff --git a/package.json b/package.json index cb1049c9..12d104bc 100644 --- a/package.json +++ b/package.json @@ -34,19 +34,19 @@ }, "dependencies": { "@discoin/scambio": "^2.2.0", - "@prisma/client": "^4.2.1", + "@prisma/client": "^4.4.0", "bufferutil": "^4.0.6", - "dayjs": "^1.11.4", - "discord-api-types": "^0.37.1", - "discord.js": "^14.0.3", + "dayjs": "^1.11.5", + "discord-api-types": "^0.37.11", + "discord.js": "^14.5.0", "erlpack": "github:discordapp/erlpack", - "i18next": "^21.9.0", + "i18next": "^21.9.2", "node-schedule": "^2.1.0", "re2": "^1.17.7", "url-regex-safe": "^3.0.0", "utf-8-validate": "^5.0.9", - "uuid": "^8.3.2", - "winston": "^3.8.1", + "uuid": "^9.0.0", + "winston": "^3.8.2", "winston-daily-rotate-file": "^4.7.1", "zlib-sync": "^0.1.7", "zucc": "^0.1.2" @@ -54,16 +54,16 @@ "devDependencies": { "@mermaid-js/mermaid-cli": "^9.1.6", "@tsconfig/node18": "^1.0.1", - "@types/node": "^18.6.5", + "@types/node": "^18.7.23", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.33.0", - "@typescript-eslint/parser": "^5.33.0", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", "cross-env": "^7.0.3", - "eslint": "^8.21.0", - "prisma": "^4.2.1", - "prisma-erd-generator": "^1.2.0", + "eslint": "^8.24.0", + "prisma": "^4.4.0", + "prisma-erd-generator": "^1.2.1", "safe-regex": "^2.1.1", "transformer": "^1.2.8", - "typescript": "^4.7.4" + "typescript": "^4.8.4" } } diff --git a/prisma/debug/1-datamodel.json b/prisma/debug/1-datamodel.json deleted file mode 100644 index c21e2bc2..00000000 --- a/prisma/debug/1-datamodel.json +++ /dev/null @@ -1,982 +0,0 @@ -{ - "enums": [ - { - "name": "StrikeOffenderType", - "values": [ - { - "name": "USER", - "dbName": null - }, - { - "name": "GUILD", - "dbName": null - } - ], - "dbName": null - } - ], - "models": [ - { - "name": "Numbers", - "dbName": null, - "fields": [ - { - "name": "number", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "channelID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": true, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guildID", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "userID", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "blocked", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "contacts", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "expiry", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "mentions", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "promote", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "numberPromote", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "vip", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "numberVIP", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "waiting", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "createdAt", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "DateTime", - "default": { - "name": "now", - "args": [] - }, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "outgoingCalls", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "to", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "incomingCalls", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "from", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guild", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "GuildConfigs", - "relationName": "GuildConfigsToNumbers", - "relationFromFields": [ - "guildID" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [ - [ - "channelID" - ] - ], - "uniqueIndexes": [ - { - "name": "channel", - "fields": [ - "channelID" - ] - } - ], - "isGenerated": false - }, - { - "name": "CallMessages", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "String", - "default": { - "name": "auto", - "args": [] - }, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "callID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "call", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "CallMessagesToCalls", - "relationFromFields": [ - "callID" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "forwardedMessageID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "originalMessageID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "sentAt", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "sender", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Calls", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "toNum", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "fromNum", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "to", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "to", - "relationFromFields": [ - "toNum" - ], - "relationToFields": [ - "number" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "from", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "from", - "relationFromFields": [ - "fromNum" - ], - "relationToFields": [ - "number" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "pickedUp", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "randomCall", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "started", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "ended", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "messages", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "CallMessages", - "relationName": "CallMessagesToCalls", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "active", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": true, - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "GuildConfigs", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "whitelisted", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "locale", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "String", - "default": "en-US", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "numbers", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "GuildConfigsToNumbers", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "strikes", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Strikes", - "relationName": "GuildConfigsToStrikes", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Accounts", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "balance", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Int", - "default": 0.0, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "dailyClaimedAt", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "vipMonthsRemaining", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Int", - "default": 0.0, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "strikes", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Strikes", - "relationName": "AccountsToStrikes", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Strikes", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "offender", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "reason", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "type", - "kind": "enum", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "StrikeOffenderType", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "created", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "account", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Accounts", - "relationName": "AccountsToStrikes", - "relationFromFields": [ - "offender" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guildConfig", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "GuildConfigs", - "relationName": "GuildConfigsToStrikes", - "relationFromFields": [ - "offender" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Blacklist", - "dbName": null, - "fields": [ - { - "name": "id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - } - ], - "types": [ - { - "name": "numberPromote", - "dbName": null, - "fields": [ - { - "name": "embed", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Json" - }, - { - "name": "lastEdited", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "lastPromoted", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "lastMsg", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - }, - { - "name": "lastUser", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - }, - { - "name": "numberVIP", - "dbName": null, - "fields": [ - { - "name": "expiry", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "hidden", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Boolean" - }, - { - "name": "name", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - }, - { - "name": "atAndBy", - "dbName": null, - "fields": [ - { - "name": "at", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "DateTime", - "default": { - "name": "now", - "args": [] - } - }, - { - "name": "by", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - } - ] - } \ No newline at end of file diff --git a/prisma/debug/2-datamodel-map-applied.json b/prisma/debug/2-datamodel-map-applied.json deleted file mode 100644 index 0a864789..00000000 --- a/prisma/debug/2-datamodel-map-applied.json +++ /dev/null @@ -1,982 +0,0 @@ -{ - "enums": [ - { - "name": "StrikeOffenderType", - "values": [ - { - "name": "USER", - "dbName": null - }, - { - "name": "GUILD", - "dbName": null - } - ], - "dbName": null - } - ], - "models": [ - { - "name": "Numbers", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "channelID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": true, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guildID", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "userID", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "blocked", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "contacts", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "expiry", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "mentions", - "kind": "scalar", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "promote", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "numberPromote", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "vip", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "numberVIP", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "waiting", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "createdAt", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "DateTime", - "default": { - "name": "now", - "args": [] - }, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "outgoingCalls", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "to", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "incomingCalls", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "from", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guild", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "GuildConfigs", - "relationName": "GuildConfigsToNumbers", - "relationFromFields": [ - "guildID" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [ - [ - "channelID" - ] - ], - "uniqueIndexes": [ - { - "name": "channel", - "fields": [ - "channelID" - ] - } - ], - "isGenerated": false - }, - { - "name": "CallMessages", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "String", - "default": { - "name": "auto", - "args": [] - }, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "callID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "call", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Calls", - "relationName": "CallMessagesToCalls", - "relationFromFields": [ - "callID" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "forwardedMessageID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "originalMessageID", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "sentAt", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "sender", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Calls", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "toNum", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "fromNum", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "to", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "to", - "relationFromFields": [ - "toNum" - ], - "relationToFields": [ - "number" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "from", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "from", - "relationFromFields": [ - "fromNum" - ], - "relationToFields": [ - "number" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "pickedUp", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "randomCall", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "started", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "ended", - "kind": "object", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "messages", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "CallMessages", - "relationName": "CallMessagesToCalls", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "active", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": true, - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "GuildConfigs", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "whitelisted", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Boolean", - "default": false, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "locale", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "String", - "default": "en-US", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "numbers", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Numbers", - "relationName": "GuildConfigsToNumbers", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "strikes", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Strikes", - "relationName": "GuildConfigsToStrikes", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Accounts", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "balance", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Int", - "default": 0, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "dailyClaimedAt", - "kind": "scalar", - "isList": false, - "isRequired": false, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "vipMonthsRemaining", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "Int", - "default": 0, - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "strikes", - "kind": "object", - "isList": true, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Strikes", - "relationName": "AccountsToStrikes", - "relationFromFields": [], - "relationToFields": [], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Strikes", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "offender", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": true, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "reason", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "type", - "kind": "enum", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "StrikeOffenderType", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "created", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "atAndBy", - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "account", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Accounts", - "relationName": "AccountsToStrikes", - "relationFromFields": [ - "offender" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - }, - { - "name": "guildConfig", - "kind": "object", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "GuildConfigs", - "relationName": "GuildConfigsToStrikes", - "relationFromFields": [ - "offender" - ], - "relationToFields": [ - "id" - ], - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - }, - { - "name": "Blacklist", - "dbName": null, - "fields": [ - { - "name": "z_id", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": true, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String", - "isGenerated": false, - "isUpdatedAt": false - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [], - "isGenerated": false - } - ], - "types": [ - { - "name": "numberPromote", - "dbName": null, - "fields": [ - { - "name": "embed", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Json" - }, - { - "name": "lastEdited", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "lastPromoted", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "lastMsg", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - }, - { - "name": "lastUser", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - }, - { - "name": "numberVIP", - "dbName": null, - "fields": [ - { - "name": "expiry", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "DateTime" - }, - { - "name": "hidden", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "Boolean" - }, - { - "name": "name", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - }, - { - "name": "atAndBy", - "dbName": null, - "fields": [ - { - "name": "at", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": true, - "type": "DateTime", - "default": { - "name": "now", - "args": [] - } - }, - { - "name": "by", - "kind": "scalar", - "isList": false, - "isRequired": true, - "isUnique": false, - "isId": false, - "isReadOnly": false, - "hasDefaultValue": false, - "type": "String" - } - ], - "primaryKey": null, - "uniqueFields": [], - "uniqueIndexes": [] - } - ] -} \ No newline at end of file diff --git a/prisma/debug/3-mermaid.mmd b/prisma/debug/3-mermaid.mmd deleted file mode 100644 index 27f171a7..00000000 --- a/prisma/debug/3-mermaid.mmd +++ /dev/null @@ -1,102 +0,0 @@ -erDiagram - - StrikeOffenderType { - USER USER -GUILD GUILD - } - - Numbers { - String z_id PK - String channelID - String guildID "nullable" - String userID "nullable" - String blocked - String contacts - DateTime expiry - String mentions - Boolean waiting - DateTime createdAt - } - - - CallMessages { - String z_id PK - String callID - String forwardedMessageID - String originalMessageID - DateTime sentAt - String sender - } - - - Calls { - String z_id PK - String toNum - String fromNum - Boolean randomCall - Boolean active - } - - - GuildConfigs { - String z_id PK - Boolean whitelisted - String locale - } - - - Accounts { - String z_id PK - Int balance - DateTime dailyClaimedAt "nullable" - Int vipMonthsRemaining - } - - - Strikes { - String z_id PK - String offender - String reason - StrikeOffenderType type - } - - - Blacklist { - String z_id PK - } - - - numberPromote { - Json embed - DateTime lastEdited - DateTime lastPromoted - String lastMsg - DateTime lastUser - } - - - numberVIP { - DateTime expiry - Boolean hidden - String name - } - - - atAndBy { - DateTime at - String by - } - - Numbers |o--|o numberPromote : "promote" - Numbers |o--|o numberVIP : "vip" - Numbers o{--|o GuildConfigs : "guild" - CallMessages o{--|| Calls : "call" - Calls o{--|o Numbers : "to" - Calls o{--|o Numbers : "from" - Calls |o--|o atAndBy : "pickedUp" - Calls ||--|| atAndBy : "started" - Calls |o--|o atAndBy : "ended" - Strikes o|--|| StrikeOffenderType : "enum:type" - Strikes ||--|| atAndBy : "created" - Strikes o{--|| Accounts : "account" - Strikes o{--|| GuildConfigs : "guildConfig" diff --git a/prisma/schema.prisma b/prisma/schema.prisma index bc21b5cb..43afb3cb 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -2,11 +2,11 @@ generator client { provider = "prisma-client-js" } -generator erd { - provider = "prisma-erd-generator" - includeRelationFromFields = true - output = "../ERD.svg" -} +// generator erd { +// provider = "prisma-erd-generator" +// includeRelationFromFields = true +// output = "../ERD.svg" +// } datasource db { provider = "mongodb" diff --git a/src/commands/support/deassign.ts b/src/commands/support/deassign.ts index d7493cb2..bd4c6ed6 100644 --- a/src/commands/support/deassign.ts +++ b/src/commands/support/deassign.ts @@ -1,5 +1,7 @@ import Command from "../../internals/commandProcessor"; export default class Deassign extends Command { - -} \ No newline at end of file + async run(): Promise { + return; + } +} diff --git a/src/config/commands.ts b/src/config/commands.ts index c79fccda..1fa4644c 100644 --- a/src/config/commands.ts +++ b/src/config/commands.ts @@ -337,6 +337,15 @@ const commands: Command[] = [ permissionLevel: PermissionLevel.none, useType: CommandType.standard, }, + { + name: "hold", + description: `Put a call on hold`, + guildOnly: false, + numberRequired: true, + + permissionLevel: PermissionLevel.none, + useType: CommandType.call, + }, ]; export default commands; diff --git a/src/dtel.ts b/src/dtel.ts index bb76b9d8..077f05bc 100644 --- a/src/dtel.ts +++ b/src/dtel.ts @@ -71,7 +71,3 @@ process.on("message", msg => SharderMessageEvent(client, msg as Record { - console.log(`[Calls] ${client.calls.size}`); -}, 10000); diff --git a/src/events/sharderMessage.ts b/src/events/sharderMessage.ts index 953630df..77a6c9e9 100644 --- a/src/events/sharderMessage.ts +++ b/src/events/sharderMessage.ts @@ -1,4 +1,6 @@ +import { Calls } from "@prisma/client"; import { TextBasedChannel } from "discord.js"; +import { winston } from "../dtel"; import CallClient, { CallsWithNumbers } from "../internals/callClient"; import DTelClient from "../internals/client"; @@ -20,15 +22,36 @@ export default async(client: DTelClient, msg: Record): Promise< client.calls.set(callClient.id, callClient); break; } + case "callRepropagate": { + // TODO: Efficiency boost? + const messageObject = JSON.parse(msg.callDBObject as string) as callRepropagate; + const call = client.calls.get(messageObject.callID); + + if (!call) { + winston.error(`Call repropagation for ID ${messageObject.callID} failed: Call not found`); + return; + } + + call.handleReprop(messageObject.call); + break; + } case "callEnded": { const typed = msg as unknown as callEnded; client.calls.delete(typed.callID); + break; } } }; -interface callEnded { +interface callBase { msg: string, callID: string, +} + +interface callRepropagate extends callBase { + call: Calls +} + +interface callEnded extends callBase { endedBy: string, } diff --git a/src/internals/callClient.ts b/src/internals/callClient.ts index a2d9098d..5ed9d205 100644 --- a/src/internals/callClient.ts +++ b/src/internals/callClient.ts @@ -1,9 +1,9 @@ import DTelClient from "./client"; import { getFixedT, TFunction } from "i18next"; import { v4 as uuidv4 } from "uuid"; -import { ActionRowBuilder, ButtonBuilder, Client, CommandInteraction, Message, MessageComponentInteraction, MessageOptions, PermissionsBitField, Typing } from "discord.js"; +import { ActionRowBuilder, ButtonBuilder, Client, CommandInteraction, EmbedBuilder, Message, MessageComponentInteraction, PermissionsBitField, Typing, MessageCreateOptions } from "discord.js"; import { PermissionLevel } from "../interfaces/commandData"; -import { Calls, Numbers, atAndBy, CallMessages } from "@prisma/client"; +import { Calls, Numbers, atAndBy, CallMessages, onHold } from "@prisma/client"; import { db } from "../database/db"; import config from "../config/config"; import { APIEmbed, APIMessage, ButtonStyle, RESTGetAPIChannelMessageResult } from "discord-api-types/v10"; @@ -157,10 +157,10 @@ export default class CallClient implements CallsWithNumbers { return dayjs(this.started.at).fromNow(true); } - toSend(payload: MessageOptions): Promise { + toSend(payload: MessageCreateOptions): Promise { return this.client.sendCrossShard(payload, this.to.channelID); } - fromSend(payload: MessageOptions): Promise { + fromSend(payload: MessageCreateOptions): Promise { return this.client.sendCrossShard(payload, this.from.channelID); } @@ -418,10 +418,10 @@ export default class CallClient implements CallsWithNumbers { }); } - async processContent(message: Message, sideToSendTo: ClientCallParticipant): Promise { + async processContent(message: Message, sideToSendTo: ClientCallParticipant): Promise { const userPerms = await this.client.getPerms(message.author.id); - const toSend: MessageOptions = { content: `**${message.author.tag}`, embeds: [] }; + const toSend: MessageCreateOptions = { content: `**${message.author.tag}`, embeds: [] }; if (sideToSendTo.number === this.client.config.supportGuild.supportNumber) { toSend.content += `(${message.author.id})`; @@ -646,27 +646,61 @@ export default class CallClient implements CallsWithNumbers { return; } + const baseEmbed = { + color: config.colors.info, + }; + + const thisSideEmbed = EmbedBuilder.from(baseEmbed); + const otherSideEmbed = EmbedBuilder.from(baseEmbed); // Hold call if (!this.hold.onHold) { this.hold = { onHold: true, holdingSide: interaction.channelId, }; + thisSideEmbed.setDescription("You have put the call on hold. Use `/hold` to resume the call."); + otherSideEmbed.setDescription("The other side have put you on hold. Please wait..."); // Unhold call - } else { + } else { + console.log(this.hold.holdingSide); + console.log(interaction.channelId); + if (this.hold.holdingSide != interaction.channelId) { + interaction.reply({ + embeds: [this.client.errorEmbed("You can't release the hold if you didn't start it!")], + }); + return; + } + this.hold = { onHold: false, holdingSide: null, }; + thisSideEmbed.setDescription("You have released the hold on this call"); + otherSideEmbed.setDescription("The other side have ended the hold!"); } + thisSideEmbed.setTitle(`⏳ Call ${this.hold.onHold ? "held" : "resumed"}`); + otherSideEmbed.setTitle(`⏳ Call ${this.hold.onHold ? "held" : "resumed"}`); + + // Send the embeds await interaction.reply({ - embeds: [{ - color: config.colors.info, - title: `⏳ Call ${this.hold.onHold ? "held" : "resumed"}`, - description: `You have put this call on hold. Use `/hold` again to release it.`, - }], + embeds: [thisSideEmbed], + }); + await this.client.sendCrossShard({ + embeds: [otherSideEmbed], + }, this.getOtherSide(interaction.channelId).channelID); + + const newObject = await db.calls.update({ + where: { + id: this.id, + }, + data: { + hold: this.hold, + }, }); + + // Propagate the hold status to the other side + this.repropagate(newObject); } async endHandler(endedBy = ""): Promise { @@ -698,6 +732,19 @@ export default class CallClient implements CallsWithNumbers { }).catch(() => null); } + async repropagate(call: Calls) { + if (!this.otherSideShardID) return; + + this.client.shard!.send({ + msg: "callRepropagate", + callID: this.id, + call, + }); + } + handleReprop(call: Calls) { + Object.assign(this, call); + } + static async prematureEnd(callDoc: callMissingChannel): Promise { CallClient.endInDB(callDoc.id, "system - number lost"); } diff --git a/src/internals/client.ts b/src/internals/client.ts index 360b0858..4721e283 100644 --- a/src/internals/client.ts +++ b/src/internals/client.ts @@ -1,7 +1,7 @@ -import { Channel, Client, ClientOptions, Collection, DMChannel, Guild, APIEmbed, MessageOptions, Role, ShardClientUtil, Snowflake, TextChannel, User } from "discord.js"; +import { Channel, Client, ClientOptions, Collection, DMChannel, Guild, MessageCreateOptions, Role, ShardClientUtil, Snowflake, TextChannel, User } from "discord.js"; import config from "../config/config"; import CallClient from "./callClient"; -import { APIMessage, APITextChannel, ChannelType, RESTPatchAPIChannelMessageResult, RESTPostAPIChannelMessageResult } from "discord-api-types/v10"; +import { APIEmbed, APIMessage, APITextChannel, ChannelType, RESTPatchAPIChannelMessageResult, RESTPostAPIChannelMessageResult } from "discord-api-types/v10"; import { PermissionLevel } from "../interfaces/commandData"; import { winston } from "../dtel"; import { Logger } from "winston"; @@ -50,13 +50,13 @@ class DTelClient extends Client { }; } - async sendCrossShard(options: MessageOptions, channelID: Snowflake | string): Promise { + async sendCrossShard(options: MessageCreateOptions, channelID: Snowflake | string): Promise { return this.rest.post(`/channels/${channelID}/messages`, { body: options, }) as Promise; } - async editCrossShard(options: MessageOptions, channelID: string, messageID: string): Promise { + async editCrossShard(options: MessageCreateOptions, channelID: string, messageID: string): Promise { return this.rest.patch(`/channels/${channelID}/messages/${messageID}`, { body: options, }) as Promise;