From ae5cb93c4173ed8988d82d56084db4f960c1624b Mon Sep 17 00:00:00 2001 From: Szedann <65607498+Szedann@users.noreply.github.com> Date: Sun, 15 Oct 2023 17:24:59 +0200 Subject: [PATCH 01/15] fix errors and update packages (#10) --- package.json | 28 +- pnpm-lock.yaml | 834 +++++++++++------------- src/commands/moderation/warn.command.ts | 14 +- src/handlers/command.handler.ts | 30 +- 4 files changed, 416 insertions(+), 490 deletions(-) diff --git a/package.json b/package.json index 0a6d156..914bc73 100644 --- a/package.json +++ b/package.json @@ -9,27 +9,29 @@ "lint:fix": "prettier --write ." }, "dependencies": { - "@discordjs/rest": "1.7.1", - "@prisma/client": "5.1.1", + "@discordjs/builders": "^1.6.5", + "@discordjs/rest": "2.0.1", + "@prisma/client": "5.4.2", "colorette": "^2.0.20", - "discord.js": "14.11.0", + "discord-api-types": "^0.37.60", + "discord.js": "14.13.0", "express": "^4.18.2", "gray-matter": "^4.0.3", - "tsx": "3.12.7", - "valibot": "^0.12.0" + "tsx": "3.13.0", + "valibot": "^0.19.0" }, "devDependencies": { - "@types/express": "^4.17.17", - "@types/node": "20.3.1", - "@typescript-eslint/eslint-plugin": "5.60.1", - "@typescript-eslint/parser": "5.60.1", + "@types/express": "^4.17.19", + "@types/node": "20.8.6", + "@typescript-eslint/eslint-plugin": "6.7.5", + "@typescript-eslint/parser": "6.7.5", "cross-env": "^7.0.3", "dotenv": "16.3.1", - "eslint": "8.43.0", - "prettier": "2.8.8", - "prisma": "^5.1.1", + "eslint": "8.51.0", + "prettier": "3.0.3", + "prisma": "^5.4.2", "ts-node": "^10.9.1", - "typescript": "5.1.3" + "typescript": "5.2.2" }, "packageManager": "pnpm@8.6.5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 068dd83..be2d12d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,24 @@ settings: excludeLinksFromLockfile: false dependencies: + '@discordjs/builders': + specifier: ^1.6.5 + version: 1.6.5 '@discordjs/rest': - specifier: 1.7.1 - version: 1.7.1 + specifier: 2.0.1 + version: 2.0.1 '@prisma/client': - specifier: 5.1.1 - version: 5.1.1(prisma@5.1.1) + specifier: 5.4.2 + version: 5.4.2(prisma@5.4.2) colorette: specifier: ^2.0.20 version: 2.0.20 + discord-api-types: + specifier: ^0.37.60 + version: 0.37.60 discord.js: - specifier: 14.11.0 - version: 14.11.0 + specifier: 14.13.0 + version: 14.13.0 express: specifier: ^4.18.2 version: 4.18.2 @@ -24,25 +30,25 @@ dependencies: specifier: ^4.0.3 version: 4.0.3 tsx: - specifier: 3.12.7 - version: 3.12.7 + specifier: 3.13.0 + version: 3.13.0 valibot: - specifier: ^0.12.0 - version: 0.12.0 + specifier: ^0.19.0 + version: 0.19.0 devDependencies: '@types/express': - specifier: ^4.17.17 - version: 4.17.17 + specifier: ^4.17.19 + version: 4.17.19 '@types/node': - specifier: 20.3.1 - version: 20.3.1 + specifier: 20.8.6 + version: 20.8.6 '@typescript-eslint/eslint-plugin': - specifier: 5.60.1 - version: 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@5.1.3) + specifier: 6.7.5 + version: 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.51.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: 5.60.1 - version: 5.60.1(eslint@8.43.0)(typescript@5.1.3) + specifier: 6.7.5 + version: 6.7.5(eslint@8.51.0)(typescript@5.2.2) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -50,20 +56,20 @@ devDependencies: specifier: 16.3.1 version: 16.3.1 eslint: - specifier: 8.43.0 - version: 8.43.0 + specifier: 8.51.0 + version: 8.51.0 prettier: - specifier: 2.8.8 - version: 2.8.8 + specifier: 3.0.3 + version: 3.0.3 prisma: - specifier: ^5.1.1 - version: 5.1.1 + specifier: ^5.4.2 + version: 5.4.2 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.3.1)(typescript@5.1.3) + version: 10.9.1(@types/node@20.8.6)(typescript@5.2.2) typescript: - specifier: 5.1.3 - version: 5.1.3 + specifier: 5.2.2 + version: 5.2.2 packages: @@ -79,96 +85,71 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@discordjs/builders@1.6.4: - resolution: {integrity: sha512-ARFKvmAkLhfkQQiNxqi0YIWqwUExvBRtvdtMFVJXvJoibsGkFrB/DWTf9byU7BTVUfsmW8w7NM55tYXR5S/iSg==} - engines: {node: '>=16.9.0'} + /@discordjs/builders@1.6.5: + resolution: {integrity: sha512-SdweyCs/+mHj+PNhGLLle7RrRFX9ZAhzynHahMCLqp5Zeq7np7XC6/mgzHc79QoVlQ1zZtOkTTiJpOZu5V8Ufg==} + engines: {node: '>=16.11.0'} dependencies: - '@discordjs/formatters': 0.3.1 - '@discordjs/util': 1.0.0 - '@sapphire/shapeshift': 3.9.2 - discord-api-types: 0.37.53 + '@discordjs/formatters': 0.3.2 + '@discordjs/util': 1.0.1 + '@sapphire/shapeshift': 3.9.3 + discord-api-types: 0.37.50 fast-deep-equal: 3.1.3 ts-mixer: 6.0.3 - tslib: 2.6.1 + tslib: 2.6.2 dev: false - /@discordjs/collection@1.5.2: - resolution: {integrity: sha512-LDplPy8SPbc8MYkuCdnLRGWqygAX97E8NH7gA9uz+NZ/hXknUKJHuxsOmhC6pmHnF9Zmg0kvfwrDjGsRIljt9g==} - engines: {node: '>=16.9.0'} + /@discordjs/collection@1.5.3: + resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==} + engines: {node: '>=16.11.0'} dev: false - /@discordjs/formatters@0.3.1: - resolution: {integrity: sha512-M7X4IGiSeh4znwcRGcs+49B5tBkNDn4k5bmhxJDAUhRxRHTiFAOTVUNQ6yAKySu5jZTnCbSvTYHW3w0rAzV1MA==} - engines: {node: '>=16.9.0'} + /@discordjs/formatters@0.3.2: + resolution: {integrity: sha512-lE++JZK8LSSDRM5nLjhuvWhGuKiXqu+JZ/DsOR89DVVia3z9fdCJVcHF2W/1Zxgq0re7kCzmAJlCMMX3tetKpA==} + engines: {node: '>=16.11.0'} dependencies: - discord-api-types: 0.37.53 + discord-api-types: 0.37.50 dev: false - /@discordjs/rest@1.7.1: - resolution: {integrity: sha512-Ofa9UqT0U45G/eX86cURQnX7gzOJLG2oC28VhIk/G6IliYgQF7jFByBJEykPSHE4MxPhqCleYvmsrtfKh1nYmQ==} - engines: {node: '>=16.9.0'} + /@discordjs/rest@2.0.1: + resolution: {integrity: sha512-/eWAdDRvwX/rIE2tuQUmKaxmWeHmGealttIzGzlYfI4+a7y9b6ZoMp8BG/jaohs8D8iEnCNYaZiOFLVFLQb8Zg==} + engines: {node: '>=16.11.0'} dependencies: - '@discordjs/collection': 1.5.2 - '@discordjs/util': 0.3.1 + '@discordjs/collection': 1.5.3 + '@discordjs/util': 1.0.1 '@sapphire/async-queue': 1.5.0 '@sapphire/snowflake': 3.5.1 - discord-api-types: 0.37.53 - file-type: 18.5.0 - tslib: 2.6.1 - undici: 5.23.0 - dev: false - - /@discordjs/util@0.3.1: - resolution: {integrity: sha512-HxXKYKg7vohx2/OupUN/4Sd02Ev3PBJ5q0gtjdcvXb0ErCva8jNHWfe/v5sU3UKjIB/uxOhc+TDOnhqffj9pRA==} - engines: {node: '>=16.9.0'} + '@vladfrangu/async_event_emitter': 2.2.2 + discord-api-types: 0.37.50 + magic-bytes.js: 1.5.0 + tslib: 2.6.2 + undici: 5.22.1 dev: false - /@discordjs/util@1.0.0: - resolution: {integrity: sha512-U2Iiab0mo8cFe+o4ZY4GROoAetGjFYA1PhhxiXEW82LuPUjOU/seHZDtVjDpOf6n3rz4IRm84wNtgHdpqRY5CA==} - engines: {node: '>=16.9.0'} + /@discordjs/util@1.0.1: + resolution: {integrity: sha512-d0N2yCxB8r4bn00/hvFZwM7goDcUhtViC5un4hPj73Ba4yrChLSJD8fy7Ps5jpTLg1fE9n4K0xBLc1y9WGwSsA==} + engines: {node: '>=16.11.0'} dev: false - /@discordjs/ws@0.8.3: - resolution: {integrity: sha512-hcYtppanjHecbdNyCKQNH2I4RP9UrphDgmRgLYrATEQF1oo4sYSve7ZmGsBEXSzH72MO2tBPdWSThunbxUVk0g==} - engines: {node: '>=16.9.0'} + /@discordjs/ws@1.0.1: + resolution: {integrity: sha512-avvAolBqN3yrSvdBPcJ/0j2g42ABzrv3PEL76e3YTp2WYMGH7cuspkjfSyNWaqYl1J+669dlLp+YFMxSVQyS5g==} + engines: {node: '>=16.11.0'} dependencies: - '@discordjs/collection': 1.5.2 - '@discordjs/rest': 1.7.1 - '@discordjs/util': 0.3.1 + '@discordjs/collection': 1.5.3 + '@discordjs/rest': 2.0.1 + '@discordjs/util': 1.0.1 '@sapphire/async-queue': 1.5.0 - '@types/ws': 8.5.5 + '@types/ws': 8.5.7 '@vladfrangu/async_event_emitter': 2.2.2 - discord-api-types: 0.37.53 - tslib: 2.6.1 - ws: 8.13.0 + discord-api-types: 0.37.50 + tslib: 2.6.2 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false - /@esbuild-kit/cjs-loader@2.4.2: - resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} - dependencies: - '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.7.0 - dev: false - - /@esbuild-kit/core-utils@3.1.0: - resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} - dependencies: - esbuild: 0.17.19 - source-map-support: 0.5.21 - dev: false - - /@esbuild-kit/esm-loader@2.5.5: - resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} - dependencies: - '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.7.0 - dev: false - - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -176,8 +157,8 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -185,8 +166,8 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -194,8 +175,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -203,8 +184,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -212,8 +193,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -221,8 +202,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -230,8 +211,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -239,8 +220,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -248,8 +229,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -257,8 +238,8 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -266,8 +247,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -275,8 +256,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -284,8 +265,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -293,8 +274,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -302,8 +283,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -311,8 +292,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -320,8 +301,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -329,8 +310,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -338,8 +319,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -347,8 +328,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -356,8 +337,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -365,18 +346,18 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.51.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.43.0 + eslint: 8.51.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -387,7 +368,7 @@ packages: ajv: 6.12.6 debug: 4.3.4 espree: 9.6.1 - globals: 13.21.0 + globals: 13.23.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -397,13 +378,13 @@ packages: - supports-color dev: true - /@eslint/js@8.43.0: - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} + /@eslint/js@8.51.0: + resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@humanwhocodes/config-array@0.11.10: - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -459,8 +440,8 @@ packages: fastq: 1.15.0 dev: true - /@prisma/client@5.1.1(prisma@5.1.1): - resolution: {integrity: sha512-fxcCeK5pMQGcgCqCrWsi+I2rpIbk0rAhdrN+ke7f34tIrgPwA68ensrpin+9+fZvuV2OtzHmuipwduSY6HswdA==} + /@prisma/client@5.4.2(prisma@5.4.2): + resolution: {integrity: sha512-2xsPaz4EaMKj1WS9iW6MlPhmbqtBsXAOeVttSePp8vTFTtvzh2hZbDgswwBdSCgPzmmwF+tLB259QzggvCmJqA==} engines: {node: '>=16.13'} requiresBuild: true peerDependencies: @@ -469,16 +450,16 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 5.1.1-1.6a3747c37ff169c90047725a05a6ef02e32ac97e - prisma: 5.1.1 + '@prisma/engines-version': 5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574 + prisma: 5.4.2 dev: false - /@prisma/engines-version@5.1.1-1.6a3747c37ff169c90047725a05a6ef02e32ac97e: - resolution: {integrity: sha512-owZqbY/wucbr65bXJ/ljrHPgQU5xXTSkmcE/JcbqE1kusuAXV/TLN3/exmz21SZ5rJ7WDkyk70J2G/n68iogbQ==} + /@prisma/engines-version@5.4.1-2.ac9d7041ed77bcc8a8dbd2ab6616b39013829574: + resolution: {integrity: sha512-wvupDL4AA1vf4TQNANg7kR7y98ITqPsk6aacfBxZKtrJKRIsWjURHkZCGcQliHdqCiW/hGreO6d6ZuSv9MhdAA==} dev: false - /@prisma/engines@5.1.1: - resolution: {integrity: sha512-NV/4nVNWFZSJCCIA3HIFJbbDKO/NARc9ej0tX5S9k2EVbkrFJC4Xt9b0u4rNZWL4V+F5LAjvta8vzEUw0rw+HA==} + /@prisma/engines@5.4.2: + resolution: {integrity: sha512-fqeucJ3LH0e1eyFdT0zRx+oETLancu5+n4lhiYECyEz6H2RDskPJHJYHkVc0LhkU4Uv7fuEnppKU3nVKNzMh8g==} requiresBuild: true /@sapphire/async-queue@1.5.0: @@ -486,8 +467,8 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sapphire/shapeshift@3.9.2: - resolution: {integrity: sha512-YRbCXWy969oGIdqR/wha62eX8GNHsvyYi0Rfd4rNW6tSVVa8p0ELiMEuOH/k8rgtvRoM+EMV7Csqz77YdwiDpA==} + /@sapphire/shapeshift@3.9.3: + resolution: {integrity: sha512-WzKJSwDYloSkHoBbE8rkRW8UNKJiSRJ/P8NqJ5iVq7U2Yr/kriIBx2hW+wj2Z5e5EnXL1hgYomgaFsdK6b+zqQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dependencies: fast-deep-equal: 3.1.3 @@ -499,10 +480,6 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@tokenizer/token@0.3.0: - resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false - /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true @@ -519,216 +496,219 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@types/body-parser@1.19.2: - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + /@types/body-parser@1.19.3: + resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} dependencies: - '@types/connect': 3.4.35 - '@types/node': 20.3.1 + '@types/connect': 3.4.36 + '@types/node': 20.8.6 dev: true - /@types/connect@3.4.35: - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + /@types/connect@3.4.36: + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.3.1 + '@types/node': 20.8.6 dev: true - /@types/express-serve-static-core@4.17.35: - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + /@types/express-serve-static-core@4.17.37: + resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} dependencies: - '@types/node': 20.3.1 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/node': 20.8.6 + '@types/qs': 6.9.8 + '@types/range-parser': 1.2.5 + '@types/send': 0.17.2 dev: true - /@types/express@4.17.17: - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + /@types/express@4.17.19: + resolution: {integrity: sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==} dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/body-parser': 1.19.3 + '@types/express-serve-static-core': 4.17.37 + '@types/qs': 6.9.8 + '@types/serve-static': 1.15.3 dev: true - /@types/http-errors@2.0.1: - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} + /@types/http-errors@2.0.2: + resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} dev: true - /@types/json-schema@7.0.12: - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + /@types/mime@1.3.3: + resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} dev: true - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@3.0.2: + resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} dev: true - /@types/node@20.3.1: - resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} + /@types/node@20.8.6: + resolution: {integrity: sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==} + dependencies: + undici-types: 5.25.3 - /@types/qs@6.9.7: - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + /@types/qs@6.9.8: + resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} dev: true - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.5: + resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.3: + resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} dev: true - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + /@types/send@0.17.2: + resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} dependencies: - '@types/mime': 1.3.2 - '@types/node': 20.3.1 + '@types/mime': 1.3.3 + '@types/node': 20.8.6 dev: true - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/serve-static@1.15.3: + resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 - '@types/node': 20.3.1 + '@types/http-errors': 2.0.2 + '@types/mime': 3.0.2 + '@types/node': 20.8.6 dev: true - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.7: + resolution: {integrity: sha512-6UrLjiDUvn40CMrAubXuIVtj2PEfKDffJS7ychvnPU44j+KVeXmdHHTgqcM/dxLUTHxlXHiFM8Skmb8ozGdTnQ==} dependencies: - '@types/node': 20.3.1 + '@types/node': 20.8.6 dev: false - /@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@5.1.3) - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/type-utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3) - '@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3) + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 6.7.5(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/type-utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.5 debug: 4.3.4 - eslint: 8.43.0 - grapheme-splitter: 1.0.4 + eslint: 8.51.0 + graphemer: 1.4.0 ignore: 5.2.4 - natural-compare-lite: 1.4.0 + natural-compare: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.60.1(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.7.5(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3) + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.5 debug: 4.3.4 - eslint: 8.43.0 - typescript: 5.1.3 + eslint: 8.51.0 + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.60.1: - resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/scope-manager@6.7.5: + resolution: {integrity: sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/visitor-keys': 5.60.1 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/visitor-keys': 6.7.5 dev: true - /@typescript-eslint/type-utils@5.60.1(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@6.7.5(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3) - '@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@5.1.3) + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.5(eslint@8.51.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + eslint: 8.51.0 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.60.1: - resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/types@6.7.5: + resolution: {integrity: sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.60.1(typescript@5.1.3): - resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@6.7.5(typescript@5.2.2): + resolution: {integrity: sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/visitor-keys': 5.60.1 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/visitor-keys': 6.7.5 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.60.1(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/utils@6.7.5(eslint@8.51.0)(typescript@5.2.2): + resolution: {integrity: sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.60.1 - '@typescript-eslint/types': 5.60.1 - '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.3) - eslint: 8.43.0 - eslint-scope: 5.1.1 + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@types/json-schema': 7.0.13 + '@types/semver': 7.5.3 + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + eslint: 8.51.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.60.1: - resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/visitor-keys@6.7.5: + resolution: {integrity: sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/types': 6.7.5 eslint-visitor-keys: 3.4.3 dev: true @@ -865,7 +845,7 @@ packages: /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 get-intrinsic: 1.2.1 dev: false @@ -992,28 +972,32 @@ packages: path-type: 4.0.0 dev: true - /discord-api-types@0.37.53: - resolution: {integrity: sha512-N6uUgv50OyP981Mfxrrt0uxcqiaNr0BDaQIoqfk+3zM2JpZtwU9v7ce1uaFAP53b2xSDvcbrk80Kneui6XJgGg==} + /discord-api-types@0.37.50: + resolution: {integrity: sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==} + dev: false + + /discord-api-types@0.37.60: + resolution: {integrity: sha512-5BELXTsv7becqVHrD81nZrqT4oEyXXWBwbsO/kwDDu6X3u19VV1tYDB5I5vaVAK+c1chcDeheI9zACBLm41LiQ==} dev: false - /discord.js@14.11.0: - resolution: {integrity: sha512-CkueWYFQ28U38YPR8HgsBR/QT35oPpMbEsTNM30Fs8loBIhnA4s70AwQEoy6JvLcpWWJO7GY0y2BUzZmuBMepQ==} - engines: {node: '>=16.9.0'} + /discord.js@14.13.0: + resolution: {integrity: sha512-Kufdvg7fpyTEwANGy9x7i4od4yu5c6gVddGi5CKm4Y5a6sF0VBODObI3o0Bh7TGCj0LfNT8Qp8z04wnLFzgnbA==} + engines: {node: '>=16.11.0'} dependencies: - '@discordjs/builders': 1.6.4 - '@discordjs/collection': 1.5.2 - '@discordjs/formatters': 0.3.1 - '@discordjs/rest': 1.7.1 - '@discordjs/util': 0.3.1 - '@discordjs/ws': 0.8.3 + '@discordjs/builders': 1.6.5 + '@discordjs/collection': 1.5.3 + '@discordjs/formatters': 0.3.2 + '@discordjs/rest': 2.0.1 + '@discordjs/util': 1.0.1 + '@discordjs/ws': 1.0.1 '@sapphire/snowflake': 3.5.1 - '@types/ws': 8.5.5 - discord-api-types: 0.37.53 + '@types/ws': 8.5.7 + discord-api-types: 0.37.50 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 - tslib: 2.6.1 - undici: 5.23.0 - ws: 8.13.0 + tslib: 2.6.2 + undici: 5.22.1 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -1040,34 +1024,34 @@ packages: engines: {node: '>= 0.8'} dev: false - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: false /escape-html@1.0.3: @@ -1079,14 +1063,6 @@ packages: engines: {node: '>=10'} dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1100,16 +1076,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} + /eslint@8.51.0: + resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) - '@eslint-community/regexpp': 4.6.2 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.51.0) + '@eslint-community/regexpp': 4.9.1 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.43.0 - '@humanwhocodes/config-array': 0.11.10 + '@eslint/js': 8.51.0 + '@humanwhocodes/config-array': 0.11.11 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -1127,10 +1103,9 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.21.0 + globals: 13.23.0 graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -1142,7 +1117,6 @@ packages: natural-compare: 1.4.0 optionator: 0.9.3 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -1177,11 +1151,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -1275,18 +1244,9 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.1 dev: true - /file-type@18.5.0: - resolution: {integrity: sha512-yvpl5U868+V6PqXHMmsESpg6unQ5GfnPssl4dxdJudBrr9qy7Fddt7EVX1VLlddFfe8Gj9N7goCZH22FXuSQXQ==} - engines: {node: '>=14.16'} - dependencies: - readable-web-to-node-stream: 3.0.2 - strtok3: 7.0.0 - token-types: 5.0.1 - dev: false - /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -1317,16 +1277,17 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /forwarded@0.2.0: @@ -1343,29 +1304,29 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: false optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: false /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: - function-bind: 1.1.1 - has: 1.0.3 + function-bind: 1.1.2 + has: 1.0.4 has-proto: 1.0.1 has-symbols: 1.0.3 dev: false - /get-tsconfig@4.7.0: - resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 dev: false @@ -1395,8 +1356,8 @@ packages: path-is-absolute: 1.0.1 dev: true - /globals@13.21.0: - resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -1414,10 +1375,6 @@ packages: slash: 3.0.0 dev: true - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -1447,11 +1404,9 @@ packages: engines: {node: '>= 0.4'} dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + /has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 dev: false /http-errors@2.0.0: @@ -1472,10 +1427,6 @@ packages: safer-buffer: 2.1.2 dev: false - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} @@ -1555,6 +1506,10 @@ packages: argparse: 2.0.1 dev: true + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -1563,6 +1518,12 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -1602,6 +1563,10 @@ packages: yallist: 4.0.0 dev: true + /magic-bytes.js@1.5.0: + resolution: {integrity: sha512-wJkXvutRbNWcc37tt5j1HyOK1nosspdh3dj6LUYYAvF6JYNqs53IfRvK9oEpcwiDA1NdoIi64yAMfdivPeVAyw==} + dev: false + /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true @@ -1669,10 +1634,6 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -1682,8 +1643,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + /object-inspect@1.13.0: + resolution: {integrity: sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==} dev: false /on-finished@2.4.1: @@ -1761,11 +1722,6 @@ packages: engines: {node: '>=8'} dev: true - /peek-readable@5.0.0: - resolution: {integrity: sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==} - engines: {node: '>=14.16'} - dev: false - /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -1776,19 +1732,19 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} hasBin: true dev: true - /prisma@5.1.1: - resolution: {integrity: sha512-WJFG/U7sMmcc6TjJTTifTfpI6Wjoh55xl4AzopVwAdyK68L9/ogNo8QQ2cxuUjJf/Wa82z/uhyh3wMzvRIBphg==} + /prisma@5.4.2: + resolution: {integrity: sha512-GDMZwZy7mysB2oXU+angQqJ90iaPFdD0rHaZNkn+dio5NRkGLmMqmXs31//tg/qXT3iB0cTQwnGGQNuirhSTZg==} engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 5.1.1 + '@prisma/engines': 5.4.2 /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} @@ -1829,22 +1785,6 @@ packages: unpipe: 1.0.0 dev: false - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: false - - /readable-web-to-node-stream@3.0.2: - resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} - engines: {node: '>=8'} - dependencies: - readable-stream: 3.6.2 - dev: false - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1950,7 +1890,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + object-inspect: 1.13.0 dev: false /slash@3.0.0: @@ -1984,12 +1924,6 @@ packages: engines: {node: '>=10.0.0'} dev: false - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -2007,14 +1941,6 @@ packages: engines: {node: '>=8'} dev: true - /strtok3@7.0.0: - resolution: {integrity: sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==} - engines: {node: '>=14.16'} - dependencies: - '@tokenizer/token': 0.3.0 - peek-readable: 5.0.0 - dev: false - /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2038,19 +1964,20 @@ packages: engines: {node: '>=0.6'} dev: false - /token-types@5.0.1: - resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} - engines: {node: '>=14.16'} + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' dependencies: - '@tokenizer/token': 0.3.0 - ieee754: 1.2.1 - dev: false + typescript: 5.2.2 + dev: true /ts-mixer@6.0.3: resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==} dev: false - /ts-node@10.9.1(@types/node@20.3.1)(typescript@5.1.3): + /ts-node@10.9.1(@types/node@20.8.6)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -2069,45 +1996,31 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.3.1 + '@types/node': 20.8.6 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.3 + typescript: 5.2.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib@2.6.1: - resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /tsutils@3.21.0(typescript@5.1.3): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.1.3 - dev: true - - /tsx@3.12.7: - resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} + /tsx@3.13.0: + resolution: {integrity: sha512-rjmRpTu3as/5fjNq/kOkOtihgLxuIz6pbKdj9xwP4J5jOLkBxw/rjN5ANw+KyrrOXV5uB7HC8+SrrSJxT65y+A==} hasBin: true dependencies: - '@esbuild-kit/cjs-loader': 2.4.2 - '@esbuild-kit/core-utils': 3.1.0 - '@esbuild-kit/esm-loader': 2.5.5 + esbuild: 0.18.20 + get-tsconfig: 4.7.2 + source-map-support: 0.5.21 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /type-check@0.4.0: @@ -2130,14 +2043,17 @@ packages: mime-types: 2.1.35 dev: false - /typescript@5.1.3: - resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true dev: true - /undici@5.23.0: - resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==} + /undici-types@5.25.3: + resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + + /undici@5.22.1: + resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 @@ -2154,10 +2070,6 @@ packages: punycode: 2.3.0 dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false - /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} @@ -2167,8 +2079,8 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /valibot@0.12.0: - resolution: {integrity: sha512-EGx/uDUpRa9wB9NkD7fsktc02rvXWlJzDTC/ihbE+NybhzAsMhns2OOdNv2R4BtdGnDvaCEGi/DbgR5RvgCS8A==} + /valibot@0.19.0: + resolution: {integrity: sha512-vzeuctzVirzoiDN9BTc4GludHaSgFYoy6AnbHOjfBUbX0DibqKuNCr2Ti4ox8eLdBdDSEZSZ3LwXZgjL6aE4RQ==} dev: false /vary@1.1.2: @@ -2188,8 +2100,8 @@ packages: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 diff --git a/src/commands/moderation/warn.command.ts b/src/commands/moderation/warn.command.ts index 6d3ccc1..5858dfd 100644 --- a/src/commands/moderation/warn.command.ts +++ b/src/commands/moderation/warn.command.ts @@ -34,13 +34,6 @@ export const warnCommand: Command = { const reason = interaction.options.get('reason', true); - if (member.id === interaction.user.id) { - return await interaction.reply({ - content: 'You cannot warn yourself.', - ephemeral: true, - }); - } - if (!member) { await interaction.reply({ content: 'User not found.', @@ -49,6 +42,13 @@ export const warnCommand: Command = { return; } + if (member.id === interaction.user.id) { + return await interaction.reply({ + content: 'You cannot warn yourself.', + ephemeral: true, + }); + } + try { const userRecord = await prisma.user.findUnique({ where: { id: member.id }, diff --git a/src/handlers/command.handler.ts b/src/handlers/command.handler.ts index 6d938bc..71f1e2c 100644 --- a/src/handlers/command.handler.ts +++ b/src/handlers/command.handler.ts @@ -85,17 +85,29 @@ const commandHandler: Handler = (client) => { await commandCollection .get(interaction.commandName)! .execute(interaction); // try execute the command + if (!interaction.replied) + interaction.reply({ + embeds: [ + new EmbedBuilder({ + color: 0x22ffff, + title: 'Command executed with no output.', + }), + ], + ephemeral: true, + }); } catch (error) { // in case of an error - await interaction.followUp({ - // send a followup to the interaction - embeds: [ - new EmbedBuilder({ - color: 0xff2222, - title: 'Internal error', - }), - ], - }); + + if (interaction.isRepliable()) + await interaction.reply({ + embeds: [ + new EmbedBuilder({ + color: 0xff2222, + title: "Command couldn't get executed", + }), + ], + ephemeral: true, + }); return; } }); From 277512187840ce40da11263e556f167128863341 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 10 Nov 2023 12:01:55 -0500 Subject: [PATCH 02/15] Create version-mismatch.md --- tags/version-mismatch.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 tags/version-mismatch.md diff --git a/tags/version-mismatch.md b/tags/version-mismatch.md new file mode 100644 index 0000000..2e7126d --- /dev/null +++ b/tags/version-mismatch.md @@ -0,0 +1,8 @@ +--- +title: Mismatched Versions +color: Ref +aliases: ['updatecreate', 'updatesnr', 'mismatch'] +--- + +You've got mismatched versions meaning the version of Steam 'n' Rails you have isn't compatible with your create version. +Click [here]([https://mclo.gs/](https://github.com/Layers-of-Railways/Railway/wiki)https://github.com/Layers-of-Railways/Railway/wiki/) to view our wiki with the version chart. From 6a1c3916ba23dd970c766889b68cf111f46c6476 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 10 Nov 2023 12:09:54 -0500 Subject: [PATCH 03/15] Update version-mismatch.md --- tags/version-mismatch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tags/version-mismatch.md b/tags/version-mismatch.md index 2e7126d..167979a 100644 --- a/tags/version-mismatch.md +++ b/tags/version-mismatch.md @@ -1,6 +1,6 @@ --- title: Mismatched Versions -color: Ref +color: Red aliases: ['updatecreate', 'updatesnr', 'mismatch'] --- From 210820064033afbf5f8316af5b6b8eea45fe3012 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 10 Nov 2023 12:13:52 -0500 Subject: [PATCH 04/15] Update version-mismatch.md --- tags/version-mismatch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tags/version-mismatch.md b/tags/version-mismatch.md index 167979a..4a55c46 100644 --- a/tags/version-mismatch.md +++ b/tags/version-mismatch.md @@ -5,4 +5,4 @@ aliases: ['updatecreate', 'updatesnr', 'mismatch'] --- You've got mismatched versions meaning the version of Steam 'n' Rails you have isn't compatible with your create version. -Click [here]([https://mclo.gs/](https://github.com/Layers-of-Railways/Railway/wiki)https://github.com/Layers-of-Railways/Railway/wiki/) to view our wiki with the version chart. +Click [here](https://github.com/Layers-of-Railways/Railway/wiki/) to view our wiki with the version chart. From 21c35c37b5991023136b096cd131caf1fdab0379 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 11 Nov 2023 11:34:04 -0500 Subject: [PATCH 05/15] optifine checker advanced edition Signed-off-by: IThundxr --- src/logIssueAnalyzers/createVersion.ts | 8 -------- src/logIssueAnalyzers/optifine.ts | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/logIssueAnalyzers/createVersion.ts b/src/logIssueAnalyzers/createVersion.ts index b3a9a74..a98f60c 100644 --- a/src/logIssueAnalyzers/createVersion.ts +++ b/src/logIssueAnalyzers/createVersion.ts @@ -28,13 +28,5 @@ export const createVersionAnalyzer: Analyzer = async (log) => { }; } - // Steam 'n' Rails is currently incompatible with Create 0.5.1.e - // if (log.mods.get('create') == '0.5.1.e') { - // return { - // name: 'Incompatible with Create 0.5.1.e', - // value: "Create: Steam 'n' Rails is currently incompatible with `Create 0.5.1.e`. 'Please downgrade to `Create 0.5.1.d` if you are are `1.20.1` or `Create 0.5.1c.c` if you are on `1.19.2`.", - // }; - // } - return null; }; diff --git a/src/logIssueAnalyzers/optifine.ts b/src/logIssueAnalyzers/optifine.ts index 7849d6a..70d69ca 100644 --- a/src/logIssueAnalyzers/optifine.ts +++ b/src/logIssueAnalyzers/optifine.ts @@ -1,14 +1,22 @@ import { Analyzer } from '../handlers/log.handler'; export const optifineAnalyzer: Analyzer = async (log) => { - const matchesOptifine = log.mods - ? log.mods.has('optifine') - : log.content.match(/f_174747_/); + const matchesOptifine = log.content.match( + /Optifine Has been detected, Disabled Warning Status: (true|false)/ + ); + if (matchesOptifine) { - return { - name: 'Incompatible with OptiFine', - value: "OptiFine breaks Steam 'n' Rails and is Incompatible\n\nCheck `/tag optifine` for more info & alternatives you can use.", - }; + if (matchesOptifine?.[1] == 'true') { + return { + name: 'Optifine Warning Disabled', + value: 'You appeared to have disabled the Optifine warning. Many issues you might encounter are caused by Optifine. You will most likely get any support due to this.', + }; + } else { + return { + name: 'Incompatible with OptiFine', + value: "OptiFine breaks Steam 'n' Rails and is Incompatible\n\nCheck `/tag optifine` for more info & alternatives you can use.", + }; + } } return null; }; From f41c7f65f360bd8e79caf9eb7e3108f4a39f4085 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 11 Nov 2023 11:47:26 -0500 Subject: [PATCH 06/15] random commit Signed-off-by: IThundxr --- README.md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index c6288cb..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# SNR bot - -The Bot used in the [Steam 'n' Rails Discord](https://discord.gg/md78MGbEfK). From 16e08e5aa66d053be760996bdb9178c11b8e3e7e Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 11 Nov 2023 16:13:51 -0500 Subject: [PATCH 07/15] update workflows Signed-off-by: IThundxr --- .github/workflows/docker.yml | 18 +++++++++--------- .github/workflows/lint.yml | 7 +++++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3cb9426..be34c61 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -23,17 +23,17 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 if: ${{ matrix.platform != 'linux/amd64' }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -41,7 +41,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | @@ -49,7 +49,7 @@ jobs: type=raw,value=latest - name: Build and push by digest - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 id: build with: context: . @@ -87,10 +87,10 @@ jobs: path: /tmp/digests - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -98,7 +98,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 56886cd..042bcbc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -10,15 +10,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 + - name: Install Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 20 + - name: Install pnpm uses: pnpm/action-setup@v2 - name: Install dependencies run: pnpm install + - name: Lint run: pnpm run lint From 69dc699fbfe84f177dc6871a149da960f6cac62a Mon Sep 17 00:00:00 2001 From: IThundxr Date: Thu, 30 Nov 2023 13:31:20 -0500 Subject: [PATCH 08/15] update tags --- .gitignore | 2 ++ tags/log.md | 17 +++++++++++++++-- tags/multiloader.md | 2 +- tags/paste.md | 17 +++++++++++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 tags/paste.md diff --git a/.gitignore b/.gitignore index 61b5747..6d47528 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ node_modules/ eslint_report.json .DS_Store + +.idea diff --git a/tags/log.md b/tags/log.md index 686c613..33c397d 100644 --- a/tags/log.md +++ b/tags/log.md @@ -1,7 +1,20 @@ --- -title: Upload Logs +title: How to post your logs to get help color: Orange aliases: ['sendlog', 'logs', '🪵'] --- -Please send logs! The recommended site to upload your logs to is [mclo.gs](https://mclo.gs/). +When requesting support for a crash or other error, you should provide error logs - this will give us the information we'll need to help you. + +You can find logs in the `logs` folder or `crash-reports` folder of your instance's directory. `Latest.log` files may contain more information than crash reports. + +Please make sure to upload these logs to a paste site instead of uploading the file directly. Type `!!paste` for a list of sites you can use. + +Do not copy and paste, screenshot, or significantly alter your logs. + +Where to find your logs: +**»** [Windows/Linux](https://fabricmc.net/wiki/player:tutorials:logs_ml:windows) +**»** [macOS](https://fabricmc.net/wiki/player:tutorials:logs_ml:mac) + +_Credit to the Fabric Community discord for these instructions._ + diff --git a/tags/multiloader.md b/tags/multiloader.md index ee7662f..598ce07 100644 --- a/tags/multiloader.md +++ b/tags/multiloader.md @@ -4,7 +4,7 @@ color: Pink aliases: ['multiloader'] --- -Steam 'n' Rails is developed in Multiloader format +Steam 'n' Rails is developed in a Multiloader environment That means updates are worked on and released for both fabric and forge simultaneously. If an update takes a while to release its likely waiting for create fabric to update. Please be patient and keep in mind that create fabric is a separate team that has to wait for many dependencies. diff --git a/tags/paste.md b/tags/paste.md new file mode 100644 index 0000000..9564c93 --- /dev/null +++ b/tags/paste.md @@ -0,0 +1,17 @@ +--- +title: Using a Paste Site +color: Blurple +aliases: ['pastebin', 'pasteit'] +--- + +When sharing a large piece of code or a log, you should use a paste site instead of uploading a file or dumping it in a large codeblock. +Dumping your code/log in a code block or a message can make it difficult for other people to read previous messages. + +**Paste sites and their size limits:** + +**»** [GitHub Gist](https://gist.github.com/): 100 MiB / Requires an account +**»** [Paste.gg](https://paste.gg/): 15 MiB / Account is optional +**»** [Mclo.gs](https://mclo.gs/): 10 MiB / Anonymous (designed specifically for Minecraft logs) +**»** [Paste.ee](https://paste.ee/): 1 MiB / Account is optional (raises limit to 6 MiB) +**»** [Pastebin.com](https://pastebin.com/): 512 KiB / Account is optional +**»** [Hastebin.com](https://hastebin.com/): 400 KiB / Anonymous \ No newline at end of file From 8da2a5b1124887b4a57814d9c667449defe461db Mon Sep 17 00:00:00 2001 From: IThundxr Date: Thu, 30 Nov 2023 13:33:22 -0500 Subject: [PATCH 09/15] run prettier --- tags/log.md | 1 - tags/paste.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tags/log.md b/tags/log.md index 33c397d..724d018 100644 --- a/tags/log.md +++ b/tags/log.md @@ -17,4 +17,3 @@ Where to find your logs: **»** [macOS](https://fabricmc.net/wiki/player:tutorials:logs_ml:mac) _Credit to the Fabric Community discord for these instructions._ - diff --git a/tags/paste.md b/tags/paste.md index 9564c93..8a5678a 100644 --- a/tags/paste.md +++ b/tags/paste.md @@ -14,4 +14,4 @@ Dumping your code/log in a code block or a message can make it difficult for oth **»** [Mclo.gs](https://mclo.gs/): 10 MiB / Anonymous (designed specifically for Minecraft logs) **»** [Paste.ee](https://paste.ee/): 1 MiB / Account is optional (raises limit to 6 MiB) **»** [Pastebin.com](https://pastebin.com/): 512 KiB / Account is optional -**»** [Hastebin.com](https://hastebin.com/): 400 KiB / Anonymous \ No newline at end of file +**»** [Hastebin.com](https://hastebin.com/): 400 KiB / Anonymous From 1d29ecef66993c501b36e6af880a7657d77ca1db Mon Sep 17 00:00:00 2001 From: IThundxr Date: Wed, 27 Dec 2023 16:19:06 -0500 Subject: [PATCH 10/15] banshare (#11) Co-authored-by: Szedann <65607498+Szedann@users.noreply.github.com> --- .env.example | 4 +- src/types/environment.d.ts | 2 + src/webserver.ts | 9 ++++- src/webserver/banshare.ts | 82 ++++++++++++++++++++++++++++++++++++++ src/webserver/github.ts | 6 ++- 5 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 src/webserver/banshare.ts diff --git a/.env.example b/.env.example index a443930..2d3fd83 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,6 @@ # These are needed no matter what DISCORD_TOKEN= +SERVER_ID= SAY_LOGS_CHANNEL= LOGS_CHANNEL= @@ -11,4 +12,5 @@ LOADING_EMOJI= SUCCESS_EMOJI= FAIL_EMOJI= WEBSERVER_PORT= -DATABASE_URL= \ No newline at end of file +DATABASE_URL= +SIMULATED_BAN_SHARE_KEY= \ No newline at end of file diff --git a/src/types/environment.d.ts b/src/types/environment.d.ts index 3100f81..5ccc5dd 100644 --- a/src/types/environment.d.ts +++ b/src/types/environment.d.ts @@ -4,6 +4,7 @@ declare global { namespace NodeJS { interface ProcessEnv { DISCORD_TOKEN: string; + SERVER_ID: string; SAY_LOGS_CHANNEL: string; LOGS_CHANNEL: string; MAVEN_REPO: string; @@ -14,6 +15,7 @@ declare global { FAIL_EMOJI: string; WEBSERVER_PORT: string; DATABASE_URL: string; + SIMULATED_BAN_SHARE_KEY: string; NODE_ENV: 'development' | 'dev-prod' | 'production'; } } diff --git a/src/webserver.ts b/src/webserver.ts index b0a3ecc..15bae2b 100644 --- a/src/webserver.ts +++ b/src/webserver.ts @@ -1,6 +1,7 @@ import express from 'express'; -import { handleWebhook } from './webserver/github'; +import { handleGithubWebhook } from './webserver/github'; import { client } from './index'; +import { handleBanShare } from './webserver/banshare'; const app = express(); @@ -11,7 +12,11 @@ app.get('/', function (req, res) { }); app.post('/github-webhook', function (req, res) { - handleWebhook(client, req, res); + handleGithubWebhook(client, req, res); +}); + +app.post('/banshare', function (req, res) { + handleBanShare(client, req, res); }); const port = process.env.WEBSERVER_PORT || 3000; diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts new file mode 100644 index 0000000..1666d0c --- /dev/null +++ b/src/webserver/banshare.ts @@ -0,0 +1,82 @@ +import { Request, Response } from 'express'; +import { ButtonStyle, Client, Colors, EmbedBuilder } from 'discord.js'; +import { Button } from '../handlers/button.handler'; +import { string, object } from 'valibot'; +import { ActionRowBuilder, ButtonBuilder } from '@discordjs/builders'; + +const banButton = new Button( + 'Ban', + object({ userId: string() }), + (interaction, data) => { + const reason = + 'aero banshare: ' + + (interaction.message.embeds[0].fields[3].value ?? + 'no reason provided'); + interaction.guild?.bans.create(data.userId, { reason: reason }); + interaction.reply(`<@${data.userId}> (\`${data.userId}\`) was banned.`); + } +); + +export const handleBanShare = (client: Client, req: Request, res: Response) => { + if (!verify_signature(req)) { + res.status(401).send('Unauthorized'); + return; + } + + if ( + req.body === undefined || + req.body.server === undefined || + req.body.userid === undefined || + req.body.reason === undefined + ) { + return res.status(400).send('Invalid request body'); + } + + handleBan(client, req); + + res.status(200).send('Webhook received successfully'); +}; + +const handleBan = async (client: Client, req: Request) => { + const channel = client.channels.cache.get(process.env.LOGS_CHANNEL); + const server = req.body.server; + const userId = req.body.userid; + const reason = req.body.reason; + + const user = await client.users.fetch(userId); + + const guild = client.guilds.cache.get(process.env.SERVER_ID); + const guildMember = await guild?.members.fetch(userId); + const present = guildMember !== undefined; + + const embed = new EmbedBuilder() + .setTitle(`Incoming ban from ${server}`) + .addFields( + { name: 'Username', value: user.username }, + { name: 'User ID', value: user.id }, + { name: 'Present in server', value: `${present}` }, + { name: 'Reason', value: reason }, + { name: 'Banned From', value: server } + ) + .setColor(Colors.Red) + .setTimestamp(); + channel?.isTextBased() && + (await channel.send({ + embeds: [embed], + components: [ + new ActionRowBuilder().addComponents( + banButton.button( + { + label: 'Ban', + style: ButtonStyle.Danger, + }, + { userId } + ) + ), + ], + })); +}; + +const verify_signature = (req: Request) => { + return process.env.SIMULATED_BAN_SHARE_KEY === req.headers['x-api-key']; +}; diff --git a/src/webserver/github.ts b/src/webserver/github.ts index 3d976d4..6f91ee2 100644 --- a/src/webserver/github.ts +++ b/src/webserver/github.ts @@ -14,7 +14,11 @@ const WEBHOOK_SECRET: string = process.env.GITHUB_SECRET; const commitMap = new Map(); const githubMap = new Map(); -export const handleWebhook = (client: Client, req: Request, res: Response) => { +export const handleGithubWebhook = ( + client: Client, + req: Request, + res: Response +) => { if (!verify_signature(req)) { res.status(401).send('Unauthorized'); return; From d12f43262933d8b5d60832898c8549f9fb7b1a68 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Wed, 27 Dec 2023 16:29:49 -0500 Subject: [PATCH 11/15] update logs channel --- .env.example | 1 + src/types/environment.d.ts | 1 + src/webserver/banshare.ts | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 2d3fd83..d0e4a98 100644 --- a/.env.example +++ b/.env.example @@ -3,6 +3,7 @@ DISCORD_TOKEN= SERVER_ID= SAY_LOGS_CHANNEL= LOGS_CHANNEL= +SIMULATED_BAN_SHARE_LOGS_CHANNEL= # These arent needed outside of production MAVEN_REPO= diff --git a/src/types/environment.d.ts b/src/types/environment.d.ts index 5ccc5dd..74cff88 100644 --- a/src/types/environment.d.ts +++ b/src/types/environment.d.ts @@ -16,6 +16,7 @@ declare global { WEBSERVER_PORT: string; DATABASE_URL: string; SIMULATED_BAN_SHARE_KEY: string; + SIMULATED_BAN_SHARE_LOGS_CHANNEL: string; NODE_ENV: 'development' | 'dev-prod' | 'production'; } } diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts index 1666d0c..b8cceaf 100644 --- a/src/webserver/banshare.ts +++ b/src/webserver/banshare.ts @@ -38,7 +38,7 @@ export const handleBanShare = (client: Client, req: Request, res: Response) => { }; const handleBan = async (client: Client, req: Request) => { - const channel = client.channels.cache.get(process.env.LOGS_CHANNEL); + const channel = client.channels.cache.get(process.env.SIMULATED_BAN_SHARE_LOGS_CHANNEL); const server = req.body.server; const userId = req.body.userid; const reason = req.body.reason; From 720b3783fabd26ae1ec52a90c493b5a024d4dc34 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Wed, 27 Dec 2023 16:32:37 -0500 Subject: [PATCH 12/15] lint --- src/webserver/banshare.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts index b8cceaf..1d83d40 100644 --- a/src/webserver/banshare.ts +++ b/src/webserver/banshare.ts @@ -38,7 +38,9 @@ export const handleBanShare = (client: Client, req: Request, res: Response) => { }; const handleBan = async (client: Client, req: Request) => { - const channel = client.channels.cache.get(process.env.SIMULATED_BAN_SHARE_LOGS_CHANNEL); + const channel = client.channels.cache.get( + process.env.SIMULATED_BAN_SHARE_LOGS_CHANNEL + ); const server = req.body.server; const userId = req.body.userid; const reason = req.body.reason; From 5d57048fc615f451d4c82b9c0668fd6418196e80 Mon Sep 17 00:00:00 2001 From: Szedann <65607498+Szedann@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:03:43 +0100 Subject: [PATCH 13/15] show modal before banning --- src/webserver/banshare.ts | 41 ++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts index 1d83d40..5c177bb 100644 --- a/src/webserver/banshare.ts +++ b/src/webserver/banshare.ts @@ -1,19 +1,46 @@ import { Request, Response } from 'express'; -import { ButtonStyle, Client, Colors, EmbedBuilder } from 'discord.js'; +import { + ButtonStyle, + Client, + Colors, + EmbedBuilder, + ActionRowBuilder, + ButtonBuilder, + ModalBuilder, + ModalActionRowComponentBuilder, + TextInputBuilder, +} from 'discord.js'; import { Button } from '../handlers/button.handler'; import { string, object } from 'valibot'; -import { ActionRowBuilder, ButtonBuilder } from '@discordjs/builders'; const banButton = new Button( - 'Ban', + 'ban', object({ userId: string() }), - (interaction, data) => { - const reason = + async (interaction, data) => { + let reason = 'aero banshare: ' + (interaction.message.embeds[0].fields[3].value ?? 'no reason provided'); - interaction.guild?.bans.create(data.userId, { reason: reason }); - interaction.reply(`<@${data.userId}> (\`${data.userId}\`) was banned.`); + const modal = new ModalBuilder() + .setCustomId(`ban`) + .setTitle(`Ban <@${data.userId}>`) + .addComponents( + new ActionRowBuilder().addComponents( + new TextInputBuilder() + .setCustomId('banReason') + .setLabel('Ban reason') + .setValue(reason) + ) + ); + interaction.showModal(modal) + interaction.awaitModalSubmit({ + filter: interaction => interaction.customId == modal.data.custom_id, + time: 300_000 + }).then(modalResponse => { + interaction.guild?.bans.create(data.userId, { reason: modalResponse.components[0].components[0].value }); + interaction.reply(`<@${data.userId}> (\`${data.userId}\`) was banned.`); + }) + } ); From ae0ffcb305743fde67edf1969a50f7bfbc513858 Mon Sep 17 00:00:00 2001 From: Szedann <65607498+Szedann@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:04:20 +0100 Subject: [PATCH 14/15] run prettier --- src/webserver/banshare.ts | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts index 5c177bb..7ece8d7 100644 --- a/src/webserver/banshare.ts +++ b/src/webserver/banshare.ts @@ -32,15 +32,21 @@ const banButton = new Button( .setValue(reason) ) ); - interaction.showModal(modal) - interaction.awaitModalSubmit({ - filter: interaction => interaction.customId == modal.data.custom_id, - time: 300_000 - }).then(modalResponse => { - interaction.guild?.bans.create(data.userId, { reason: modalResponse.components[0].components[0].value }); - interaction.reply(`<@${data.userId}> (\`${data.userId}\`) was banned.`); - }) - + interaction.showModal(modal); + interaction + .awaitModalSubmit({ + filter: (interaction) => + interaction.customId == modal.data.custom_id, + time: 300_000, + }) + .then((modalResponse) => { + interaction.guild?.bans.create(data.userId, { + reason: modalResponse.components[0].components[0].value, + }); + interaction.reply( + `<@${data.userId}> (\`${data.userId}\`) was banned.` + ); + }); } ); From b637b296963f59c452931c270c5df363e5336e2c Mon Sep 17 00:00:00 2001 From: Szedann <65607498+Szedann@users.noreply.github.com> Date: Thu, 28 Dec 2023 14:00:03 +0100 Subject: [PATCH 15/15] change let to const --- src/webserver/banshare.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webserver/banshare.ts b/src/webserver/banshare.ts index 7ece8d7..8c988c8 100644 --- a/src/webserver/banshare.ts +++ b/src/webserver/banshare.ts @@ -17,7 +17,7 @@ const banButton = new Button( 'ban', object({ userId: string() }), async (interaction, data) => { - let reason = + const reason = 'aero banshare: ' + (interaction.message.embeds[0].fields[3].value ?? 'no reason provided');