From a7840f1fc98a31183f6e365dd1efb61572dfecef Mon Sep 17 00:00:00 2001 From: Anthony Berg Date: Tue, 23 Aug 2022 03:16:34 +0100 Subject: [PATCH 01/10] feat(config): add version to docker-compose --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 1e36c61..a0b5c32 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,4 @@ +version: "3.7" services: postgres: image: postgres:14 From 4379ed12b702b23b0511fe551e7448e44351b8e8 Mon Sep 17 00:00:00 2001 From: Anthony Berg Date: Mon, 29 Aug 2022 22:52:11 +0100 Subject: [PATCH 02/10] feat(arabot): delete apple exploit warning --- src/scheduled-tasks/appleWarning.ts | 50 ----------------------------- 1 file changed, 50 deletions(-) delete mode 100644 src/scheduled-tasks/appleWarning.ts diff --git a/src/scheduled-tasks/appleWarning.ts b/src/scheduled-tasks/appleWarning.ts deleted file mode 100644 index 22305ac..0000000 --- a/src/scheduled-tasks/appleWarning.ts +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -/* - Animal Rights Advocates Discord Bot - Copyright (C) 2022 Anthony Berg - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -import { ScheduledTask } from '@sapphire/plugin-scheduled-tasks'; -import { container } from '@sapphire/framework'; -import type { TextChannel } from 'discord.js'; -import IDs from '../utils/ids'; - -class AppleWarningTask extends ScheduledTask { - public constructor(context: ScheduledTask.Context, options: ScheduledTask.Options) { - super(context, { - ...options, - cron: '0 */2 * * 2-3', - }); - } - - public async run() { - const { client } = container; - - const channel = client.channels.cache.get(IDs.channels.nonVegan.general) as TextChannel; - - await channel.send('Hiya everyone, this is a warning to all **Apple users**!\n' - + 'Make sure to update your iOS, iPadOS and MacOS as there is a hack that lets anyone get remote access to your device if you click on a malicious link.\n' - + `For more information, read the post in <#${IDs.channels.information.news}>`); - } -} - -declare module '@sapphire/plugin-scheduled-tasks' { - interface ScheduledTasks { - cron: never; - } -} - -export default AppleWarningTask; From 88086a1f318b86e8579dc5273d048f7d156a9b78 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 00:43:13 +0100 Subject: [PATCH 03/10] feat(arabot): add old style of running sus command --- src/commands/mod/sus.ts | 46 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/src/commands/mod/sus.ts b/src/commands/mod/sus.ts index fb2d9d7..2a04f7c 100644 --- a/src/commands/mod/sus.ts +++ b/src/commands/mod/sus.ts @@ -17,10 +17,11 @@ along with this program. If not, see . */ -import { Command, RegisterBehavior } from '@sapphire/framework'; +import { Command, RegisterBehavior, Args } from '@sapphire/framework'; import { MessageEmbed, MessageActionRow, MessageButton, Constants, ButtonInteraction, } from 'discord.js'; +import type { Message, GuildMember } from 'discord.js'; import { PrismaClient } from '@prisma/client'; import { isMessageInstance } from '@sapphire/discord.js-utilities'; import { addExistingUser, userExists } from '../../utils/dbExistingUser'; @@ -561,6 +562,49 @@ class SusCommand extends Command { // Remove sus role from the user await userGuildMember!.roles.remove(IDs.roles.restrictions.sus); } + + // Non Application Command method of adding a sus note + public async messageRun(message: Message, args: Args) { + // Get arguments + let user: GuildMember; + try { + user = await args.pick('member'); + } catch { + await message.react('❌'); + await message.reply('User to give sus note to was not provided!'); + return; + } + const note = args.finished ? null : await args.rest('string'); + const mod = message.member; + + if (note === null) { + await message.react('❌'); + await message.reply('No sus note was provided!'); + return; + } + + if (mod === null) { + await message.react('❌'); + await message.reply('Moderator not found! Try again or contact a developer!'); + return; + } + + // Check if user and mod are on the database + if (!await userExists(user)) { + await addExistingUser(user); + } + if (!await userExists(mod!)) { + await addExistingUser(mod!); + } + await addToDatabase(user.id, mod.id, note); + + // Give the user the sus role they don't already have the sus note + if (!user.roles.cache.has(IDs.roles.restrictions.sus)) { + await user!.roles.add(IDs.roles.restrictions.sus); + } + + await message.react('✅'); + } } export default SusCommand; From ebd370b7742b47bcee3ee5c7d27e3bd2a304e467 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 00:47:41 +0100 Subject: [PATCH 04/10] feat(arabot): add trial mods to mods --- src/preconditions/ModOnly.ts | 1 + src/utils/devIDs.ts | 1 + src/utils/ids.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/preconditions/ModOnly.ts b/src/preconditions/ModOnly.ts index d2618da..6412096 100644 --- a/src/preconditions/ModOnly.ts +++ b/src/preconditions/ModOnly.ts @@ -44,6 +44,7 @@ class ModOnlyPrecondition extends AllFlowsPrecondition { private async checkMod(user: GuildMember) { return user.roles.cache.has(IDs.roles.staff.moderator) + || user.roles.cache.has(IDs.roles.staff.trialModerator) ? this.ok() : this.error({ message: 'Only moderators can run this command!' }); } diff --git a/src/utils/devIDs.ts b/src/utils/devIDs.ts index 9493355..b5fb74b 100644 --- a/src/utils/devIDs.ts +++ b/src/utils/devIDs.ts @@ -47,6 +47,7 @@ const devIDs = { eventCoordinator: '999431675165556817', restricted: '999431675123597407', moderator: '999431675123597408', + trialModerator: '999431675123597404', verifier: '999431675123597406', trialVerifier: '999431675123597405', }, diff --git a/src/utils/ids.ts b/src/utils/ids.ts index 04c842d..c07074b 100644 --- a/src/utils/ids.ts +++ b/src/utils/ids.ts @@ -50,6 +50,7 @@ let IDs = { eventCoordinator: '944732860554817586', restricted: '851624392928264222', moderator: '826157475815489598', + trialModerator: '982074555596152904', verifier: '871802735031373856', }, stageHost: '854893757593419786', From 88aae1296aac53a8a8a1c2f379f36c07ab1a5e55 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 01:02:33 +0100 Subject: [PATCH 05/10] feat(arabot): add precondition msg for msg commands --- src/listeners/commandDenied.ts | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/listeners/commandDenied.ts diff --git a/src/listeners/commandDenied.ts b/src/listeners/commandDenied.ts new file mode 100644 index 0000000..85bea8a --- /dev/null +++ b/src/listeners/commandDenied.ts @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +/* + Animal Rights Advocates Discord Bot + Copyright (C) 2022 Anthony Berg + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +import type { UserError, MessageCommandDeniedPayload } from '@sapphire/framework'; +import { Listener } from '@sapphire/framework'; + +class OldCommandDeniedListener extends Listener { + public constructor(context: Listener.Context, options: Listener.Options) { + super(context, { + ...options, + once: false, + event: 'messageCommandDenied', + }); + } + + public async run(error: UserError, { message }: MessageCommandDeniedPayload) { + await message.react('❌'); + return message.reply(error.message); + } +} + +export default OldCommandDeniedListener; From 05240ae223deb1f475de14be1f442bad31e2fa70 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 01:03:56 +0100 Subject: [PATCH 06/10] fix(arabot): change wording --- src/commands/mod/sus.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/commands/mod/sus.ts b/src/commands/mod/sus.ts index 2a04f7c..24ee279 100644 --- a/src/commands/mod/sus.ts +++ b/src/commands/mod/sus.ts @@ -571,7 +571,7 @@ class SusCommand extends Command { user = await args.pick('member'); } catch { await message.react('❌'); - await message.reply('User to give sus note to was not provided!'); + await message.reply('User was not provided!'); return; } const note = args.finished ? null : await args.rest('string'); From 152dff72c7a2d07864b57986a81ee324c490fefe Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 01:08:08 +0100 Subject: [PATCH 07/10] feat(arabot): add msg to a specific user for sus command --- src/commands/mod/sus.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/commands/mod/sus.ts b/src/commands/mod/sus.ts index 24ee279..098420b 100644 --- a/src/commands/mod/sus.ts +++ b/src/commands/mod/sus.ts @@ -564,6 +564,7 @@ class SusCommand extends Command { } // Non Application Command method of adding a sus note + // xlevra begged me to add this... so I guess here it is public async messageRun(message: Message, args: Args) { // Get arguments let user: GuildMember; @@ -603,6 +604,11 @@ class SusCommand extends Command { await user!.roles.add(IDs.roles.restrictions.sus); } + // Checks if the user is xlevra to send a very kind message + if (mod.id === '259624904746467329') { + await message.reply('Fuck you for making me add this feature 🤬'); + } + await message.react('✅'); } } From e0a651a83bfd306a1bcd8ebe1e11831f17a912b8 Mon Sep 17 00:00:00 2001 From: Anthony Date: Fri, 9 Sep 2022 01:09:20 +0100 Subject: [PATCH 08/10] build(arabot): update all packages --- package-lock.json | 557 ++++++++++++++++++++++++++-------------------- package.json | 5 +- 2 files changed, 324 insertions(+), 238 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c529ba..8b2e5e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,10 @@ "version": "0.0.1", "license": "GPL-3.0-or-later", "dependencies": { + "@discordjs/builders": "^1.2.0", "@prisma/client": "^4.0.0", "@sapphire/discord.js-utilities": "^5.0.0", - "@sapphire/framework": "^3.0.0", + "@sapphire/framework": "^3.1.1", "@sapphire/plugin-scheduled-tasks": "^4.0.0", "@sapphire/plugin-subcommands": "^3.0.0", "@sapphire/stopwatch": "^1.4.1", @@ -30,7 +31,7 @@ "@types/ioredis": "^4.28.10", "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", - "eslint": "^8.20.0", + "eslint": "8.22.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-plugin-import": "^2.26.0" @@ -48,13 +49,12 @@ } }, "node_modules/@discordjs/builders": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", - "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", - "deprecated": "no longer supported", + "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" @@ -64,27 +64,27 @@ } }, "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==" + "version": "0.37.8", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.8.tgz", + "integrity": "sha512-uhol9KQ2moExZItMpuDMkf0R7sqqNHqcJBFN7S5iSdXBVCMRO7sC0GoyuRrv6ZDBYxoFU6nDy4dv0nld/aysqA==" }, "node_modules/@discordjs/collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.1.tgz", - "integrity": "sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw==", + "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/@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.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", + "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", "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", @@ -94,6 +94,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@humanwhocodes/config-array": { @@ -261,12 +264,12 @@ } }, "node_modules/@prisma/client": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz", - "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", + "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826" + "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" }, "engines": { "node": ">=14.17" @@ -281,15 +284,15 @@ } }, "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.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.3.1.tgz", + "integrity": "sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA==", "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz", - "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ==" + "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==" }, "node_modules/@sapphire/async-queue": { "version": "1.5.0", @@ -325,19 +328,19 @@ } }, "node_modules/@sapphire/framework": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sapphire/framework/-/framework-3.0.0.tgz", - "integrity": "sha512-VflLMOHKtecTxAi2N1m1DzCN/qKB7vrRolx9UFXmcQg9fGmYzj9yaKM3Fyw+ZvhpS/gijGWN1lWSr8fyTscdEA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sapphire/framework/-/framework-3.1.1.tgz", + "integrity": "sha512-dWWIhqFwVZ7nMJ6o7mIhgOAQhSfaue6IPyRSYhXuLEOU9uiQpLioXaYckVAVspRGAc5MqIalOV2htjQF2nCgjw==", "dependencies": { "@discordjs/builders": "^0.16.0", "@sapphire/discord-utilities": "^2.11.6", "@sapphire/discord.js-utilities": "^5.0.0", - "@sapphire/lexure": "^1.0.1", + "@sapphire/lexure": "^1.0.2", "@sapphire/pieces": "^3.5.1", "@sapphire/ratelimits": "^2.4.4", - "@sapphire/result": "^2.4.0", + "@sapphire/result": "^2.4.1", "@sapphire/stopwatch": "^1.4.1", - "@sapphire/utilities": "^3.9.2", + "@sapphire/utilities": "^3.9.3", "@types/object-hash": "^2.2.1", "object-hash": "^3.0.0", "tslib": "^2.4.0" @@ -347,12 +350,33 @@ "npm": ">=7.0.0" } }, - "node_modules/@sapphire/lexure": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@sapphire/lexure/-/lexure-1.0.1.tgz", - "integrity": "sha512-bxI85SqPERicAC8fyZNRjrK2SroXFtpa/vgUNExH8VSM1LIysZE6zDRGCvllAfOdEVGSGBKjNRLfT9kYwNDhXg==", + "node_modules/@sapphire/framework/node_modules/@discordjs/builders": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", + "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", + "deprecated": "no longer supported", "dependencies": { - "@sapphire/result": "^2.1.1" + "@sapphire/shapeshift": "^3.5.1", + "discord-api-types": "^0.36.2", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@sapphire/framework/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/@sapphire/lexure": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@sapphire/lexure/-/lexure-1.0.2.tgz", + "integrity": "sha512-KKKcCvjkB6AImGzpWdrbLVI++VnRinpus+a4yu+PUT7zUlzUZdma1P/P8XlRDFEx6U+d5jk8ygKyTPzQKvkqRA==", + "dependencies": { + "@sapphire/result": "^2.4.1" }, "engines": { "node": ">=v14.0.0", @@ -387,9 +411,9 @@ } }, "node_modules/@sapphire/plugin-subcommands": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sapphire/plugin-subcommands/-/plugin-subcommands-3.0.0.tgz", - "integrity": "sha512-OLNAIQGEtViG6gYZ5G3/m/Um/mmpH3z7PGRCDv/k7nls9FSvD4Ap7TpeyXFupRI1gT2NJGKOE4TuaHjPwD0k2Q==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@sapphire/plugin-subcommands/-/plugin-subcommands-3.2.1.tgz", + "integrity": "sha512-I+NmbewS85oEfFx/0t8cGtimLmNGMzF6k5eigUmRakb7t6m1EK54cvWwV3zFbkhCMWI6e+ObiIe5XJVel8oWqg==", "dependencies": { "@sapphire/utilities": "^3.9.2", "tslib": "^2.4.0" @@ -412,18 +436,18 @@ } }, "node_modules/@sapphire/result": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@sapphire/result/-/result-2.4.0.tgz", - "integrity": "sha512-BJkBsXYjTr6nQmKQnUriA1IyQrVDd7rKHTnbk2n03d/sri9ZFYYCRZ8wfFv+Z8QUasFWliypg3Qstz29G1nnjQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@sapphire/result/-/result-2.4.1.tgz", + "integrity": "sha512-RWgp+cCm1dhE/voMGwp3z5xGmsOluXW9EPIXyO+khMXxZDL3iAgp4/ZCSFEw3nI98njwGmgWYIzdQfCu3WA4OA==", "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" @@ -471,9 +495,9 @@ } }, "node_modules/@sapphire/utilities": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@sapphire/utilities/-/utilities-3.9.2.tgz", - "integrity": "sha512-CG8mFPse+VDUVenj3PqZyh9PATFd/pzrQaX2gZqv0f7AzGnlyfm/ygh0tnQRVKpMDFr39uCQqVse8i0f51DAkg==", + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@sapphire/utilities/-/utilities-3.9.3.tgz", + "integrity": "sha512-7+ZjfbmRHqewmH32jpZfzrEuHpvTttTG7WjDl1GUtc4pkOMr0kYybrZmIEZYsUvF7PWzO0GrmOK2zWs3GuJo7g==", "engines": { "node": ">=v14.0.0", "npm": ">=7.0.0" @@ -521,9 +545,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.7.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.8.tgz", - "integrity": "sha512-/YP55EMK2341JkODUb8DM9O0x1SIz2aBvyF33Uf1c76St3VpsMXEIW0nxuKkq/5cxnbz0RD9cfwNZHEAZQD3ag==" + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==" }, "node_modules/@types/node-fetch": { "version": "2.6.2", @@ -561,14 +585,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz", - "integrity": "sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz", + "integrity": "sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/type-utils": "5.33.1", - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/type-utils": "5.36.2", + "@typescript-eslint/utils": "5.36.2", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -594,14 +618,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.1.tgz", - "integrity": "sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz", + "integrity": "sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", "debug": "^4.3.4" }, "engines": { @@ -621,13 +645,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz", - "integrity": "sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz", + "integrity": "sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1" + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -638,12 +662,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz", - "integrity": "sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz", + "integrity": "sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/typescript-estree": "5.36.2", + "@typescript-eslint/utils": "5.36.2", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -664,9 +689,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.1.tgz", - "integrity": "sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz", + "integrity": "sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -677,13 +702,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz", - "integrity": "sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz", + "integrity": "sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -704,15 +729,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.1.tgz", - "integrity": "sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz", + "integrity": "sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -728,12 +753,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz", - "integrity": "sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", + "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/types": "5.36.2", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -902,9 +927,9 @@ } }, "node_modules/bullmq": { - "version": "1.89.1", - "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-1.89.1.tgz", - "integrity": "sha512-VpNFa1buQYDOl4yUF0PxVoCDbh/GT/JeQiaWu/8IdPVMk91RToWtsXvaZdVrfp9VAOtP+F1KJr/pFn+ewY2rnw==", + "version": "1.90.1", + "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-1.90.1.tgz", + "integrity": "sha512-JY8mNzfnl+lfzFFzLJa6if+4YFvCMuJZDtQ8gvkcedoet+fDPEETF0iZ2fuzxCizuneARCniAiwIR/ESnqbuKw==", "dependencies": { "cron-parser": "^4.6.0", "get-port": "6.1.2", @@ -1133,6 +1158,27 @@ "npm": ">=7.0.0" } }, + "node_modules/discord.js/node_modules/@discordjs/builders": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", + "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", + "deprecated": "no longer supported", + "dependencies": { + "@sapphire/shapeshift": "^3.5.1", + "discord-api-types": "^0.36.2", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/discord.js/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/discord.js/node_modules/@discordjs/collection": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.7.0.tgz", @@ -1155,24 +1201,24 @@ } }, "node_modules/dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", "engines": { "node": ">=12" } }, "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", + "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", + "get-intrinsic": "^1.1.2", "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", @@ -1184,9 +1230,9 @@ "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", + "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", "string.prototype.trimend": "^1.0.5", "string.prototype.trimstart": "^1.0.5", @@ -1507,9 +1553,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", @@ -2016,9 +2062,9 @@ } }, "node_modules/ioredis": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.2.tgz", - "integrity": "sha512-wryKc1ur8PcCmNwfcGkw5evouzpbDXxxkMkzPK8wl4xQfQf7lHe11Jotell5ikMVAtikXJEu/OJVaoV51BggRQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.3.tgz", + "integrity": "sha512-gQNcMF23/NpvjCaa1b5YycUyQJ9rBNH2xP94LWinNpodMWVUPP5Ai/xXANn/SM7gfIvI62B5CCvZxhg5pOgyMw==", "dependencies": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", @@ -2340,9 +2386,9 @@ } }, "node_modules/luxon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.1.tgz", - "integrity": "sha512-hF3kv0e5gwHQZKz4wtm4c+inDtyc7elkanAsBq+fundaCdUBNJB1dHEGUZIM6SfSBUlbVFduPwEtNjFK8wLtcw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.3.tgz", + "integrity": "sha512-+EfHWnF+UT7GgTnq5zXg3ldnTKL2zdv7QJgsU5bjjpbH17E3qi/puMhQyJVYuCq+FRkogvB5WB6iVvUr+E4a7w==", "engines": { "node": ">=12" } @@ -2687,12 +2733,12 @@ } }, "node_modules/prisma": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz", - "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.3.1.tgz", + "integrity": "sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ==", "hasInstallScript": true, "dependencies": { - "@prisma/engines": "4.2.1" + "@prisma/engines": "4.3.1" }, "bin": { "prisma": "build/index.js", @@ -3154,9 +3200,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.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", + "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3323,38 +3369,38 @@ } }, "@discordjs/builders": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", - "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", + "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==" + "version": "0.37.8", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.8.tgz", + "integrity": "sha512-uhol9KQ2moExZItMpuDMkf0R7sqqNHqcJBFN7S5iSdXBVCMRO7sC0GoyuRrv6ZDBYxoFU6nDy4dv0nld/aysqA==" } } }, "@discordjs/collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.0.1.tgz", - "integrity": "sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.1.0.tgz", + "integrity": "sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ==" }, "@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.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", + "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", "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", @@ -3473,22 +3519,22 @@ } }, "@prisma/client": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.2.1.tgz", - "integrity": "sha512-PZBkY60+k5oix+e6IUfl3ub8TbRLNsPLdfWrdy2eh80WcHTaT+/UfvXf/B7gXedH7FRtbPFHZXk1hZenJiJZFQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", + "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", "requires": { - "@prisma/engines-version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826" + "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" } }, "@prisma/engines": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.2.1.tgz", - "integrity": "sha512-0KqBwREUOjBiHwITsQzw2DWfLHjntvbqzGRawj4sBMnIiL5CXwyDUKeHOwXzKMtNr1rEjxEsypM14g0CzLRK3g==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.3.1.tgz", + "integrity": "sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA==" }, "@prisma/engines-version": { - "version": "4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.2.0-33.2920a97877e12e055c1333079b8d19cee7f33826.tgz", - "integrity": "sha512-tktkqdiwqE4QhmE088boPt+FwPj1Jub/zk+5F6sEfcRHzO5yz9jyMD5HFVtiwxZPLx/8Xg9ElnuTi8E5lWVQFQ==" + "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==" }, "@sapphire/async-queue": { "version": "1.5.0", @@ -3512,30 +3558,49 @@ } }, "@sapphire/framework": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sapphire/framework/-/framework-3.0.0.tgz", - "integrity": "sha512-VflLMOHKtecTxAi2N1m1DzCN/qKB7vrRolx9UFXmcQg9fGmYzj9yaKM3Fyw+ZvhpS/gijGWN1lWSr8fyTscdEA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sapphire/framework/-/framework-3.1.1.tgz", + "integrity": "sha512-dWWIhqFwVZ7nMJ6o7mIhgOAQhSfaue6IPyRSYhXuLEOU9uiQpLioXaYckVAVspRGAc5MqIalOV2htjQF2nCgjw==", "requires": { "@discordjs/builders": "^0.16.0", "@sapphire/discord-utilities": "^2.11.6", "@sapphire/discord.js-utilities": "^5.0.0", - "@sapphire/lexure": "^1.0.1", + "@sapphire/lexure": "^1.0.2", "@sapphire/pieces": "^3.5.1", "@sapphire/ratelimits": "^2.4.4", - "@sapphire/result": "^2.4.0", + "@sapphire/result": "^2.4.1", "@sapphire/stopwatch": "^1.4.1", - "@sapphire/utilities": "^3.9.2", + "@sapphire/utilities": "^3.9.3", "@types/object-hash": "^2.2.1", "object-hash": "^3.0.0", "tslib": "^2.4.0" + }, + "dependencies": { + "@discordjs/builders": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", + "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", + "requires": { + "@sapphire/shapeshift": "^3.5.1", + "discord-api-types": "^0.36.2", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.1", + "tslib": "^2.4.0" + } + }, + "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==" + } } }, "@sapphire/lexure": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@sapphire/lexure/-/lexure-1.0.1.tgz", - "integrity": "sha512-bxI85SqPERicAC8fyZNRjrK2SroXFtpa/vgUNExH8VSM1LIysZE6zDRGCvllAfOdEVGSGBKjNRLfT9kYwNDhXg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@sapphire/lexure/-/lexure-1.0.2.tgz", + "integrity": "sha512-KKKcCvjkB6AImGzpWdrbLVI++VnRinpus+a4yu+PUT7zUlzUZdma1P/P8XlRDFEx6U+d5jk8ygKyTPzQKvkqRA==", "requires": { - "@sapphire/result": "^2.1.1" + "@sapphire/result": "^2.4.1" } }, "@sapphire/pieces": { @@ -3558,9 +3623,9 @@ } }, "@sapphire/plugin-subcommands": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sapphire/plugin-subcommands/-/plugin-subcommands-3.0.0.tgz", - "integrity": "sha512-OLNAIQGEtViG6gYZ5G3/m/Um/mmpH3z7PGRCDv/k7nls9FSvD4Ap7TpeyXFupRI1gT2NJGKOE4TuaHjPwD0k2Q==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@sapphire/plugin-subcommands/-/plugin-subcommands-3.2.1.tgz", + "integrity": "sha512-I+NmbewS85oEfFx/0t8cGtimLmNGMzF6k5eigUmRakb7t6m1EK54cvWwV3zFbkhCMWI6e+ObiIe5XJVel8oWqg==", "requires": { "@sapphire/utilities": "^3.9.2", "tslib": "^2.4.0" @@ -3575,14 +3640,14 @@ } }, "@sapphire/result": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@sapphire/result/-/result-2.4.0.tgz", - "integrity": "sha512-BJkBsXYjTr6nQmKQnUriA1IyQrVDd7rKHTnbk2n03d/sri9ZFYYCRZ8wfFv+Z8QUasFWliypg3Qstz29G1nnjQ==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@sapphire/result/-/result-2.4.1.tgz", + "integrity": "sha512-RWgp+cCm1dhE/voMGwp3z5xGmsOluXW9EPIXyO+khMXxZDL3iAgp4/ZCSFEw3nI98njwGmgWYIzdQfCu3WA4OA==" }, "@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" @@ -3614,9 +3679,9 @@ } }, "@sapphire/utilities": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@sapphire/utilities/-/utilities-3.9.2.tgz", - "integrity": "sha512-CG8mFPse+VDUVenj3PqZyh9PATFd/pzrQaX2gZqv0f7AzGnlyfm/ygh0tnQRVKpMDFr39uCQqVse8i0f51DAkg==" + "version": "3.9.3", + "resolved": "https://registry.npmjs.org/@sapphire/utilities/-/utilities-3.9.3.tgz", + "integrity": "sha512-7+ZjfbmRHqewmH32jpZfzrEuHpvTttTG7WjDl1GUtc4pkOMr0kYybrZmIEZYsUvF7PWzO0GrmOK2zWs3GuJo7g==" }, "@tsconfig/node10": { "version": "1.0.9", @@ -3660,9 +3725,9 @@ "dev": true }, "@types/node": { - "version": "18.7.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.8.tgz", - "integrity": "sha512-/YP55EMK2341JkODUb8DM9O0x1SIz2aBvyF33Uf1c76St3VpsMXEIW0nxuKkq/5cxnbz0RD9cfwNZHEAZQD3ag==" + "version": "18.7.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz", + "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==" }, "@types/node-fetch": { "version": "2.6.2", @@ -3699,14 +3764,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz", - "integrity": "sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz", + "integrity": "sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/type-utils": "5.33.1", - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/type-utils": "5.36.2", + "@typescript-eslint/utils": "5.36.2", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -3716,52 +3781,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.1.tgz", - "integrity": "sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz", + "integrity": "sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz", - "integrity": "sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz", + "integrity": "sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1" + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2" } }, "@typescript-eslint/type-utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz", - "integrity": "sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz", + "integrity": "sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/typescript-estree": "5.36.2", + "@typescript-eslint/utils": "5.36.2", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.1.tgz", - "integrity": "sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz", + "integrity": "sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz", - "integrity": "sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz", + "integrity": "sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3770,26 +3836,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.1.tgz", - "integrity": "sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz", + "integrity": "sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz", - "integrity": "sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg==", + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", + "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/types": "5.36.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -3909,9 +3975,9 @@ } }, "bullmq": { - "version": "1.89.1", - "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-1.89.1.tgz", - "integrity": "sha512-VpNFa1buQYDOl4yUF0PxVoCDbh/GT/JeQiaWu/8IdPVMk91RToWtsXvaZdVrfp9VAOtP+F1KJr/pFn+ewY2rnw==", + "version": "1.90.1", + "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-1.90.1.tgz", + "integrity": "sha512-JY8mNzfnl+lfzFFzLJa6if+4YFvCMuJZDtQ8gvkcedoet+fDPEETF0iZ2fuzxCizuneARCniAiwIR/ESnqbuKw==", "requires": { "cron-parser": "^4.6.0", "get-port": "6.1.2", @@ -4083,6 +4149,25 @@ "ws": "^8.8.1" }, "dependencies": { + "@discordjs/builders": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.16.0.tgz", + "integrity": "sha512-9/NCiZrLivgRub2/kBc0Vm5pMBE5AUdYbdXsLu/yg9ANgvnaJ0bZKTY8yYnLbsEc/LYUP79lEIdC73qEYhWq7A==", + "requires": { + "@sapphire/shapeshift": "^3.5.1", + "discord-api-types": "^0.36.2", + "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": "0.7.0", "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.7.0.tgz", @@ -4100,21 +4185,21 @@ } }, "dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==" + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==" }, "es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", + "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", + "get-intrinsic": "^1.1.2", "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", @@ -4126,9 +4211,9 @@ "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", + "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", "string.prototype.trimend": "^1.0.5", "string.prototype.trimstart": "^1.0.5", @@ -4377,9 +4462,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", @@ -4759,9 +4844,9 @@ } }, "ioredis": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.2.tgz", - "integrity": "sha512-wryKc1ur8PcCmNwfcGkw5evouzpbDXxxkMkzPK8wl4xQfQf7lHe11Jotell5ikMVAtikXJEu/OJVaoV51BggRQ==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.3.tgz", + "integrity": "sha512-gQNcMF23/NpvjCaa1b5YycUyQJ9rBNH2xP94LWinNpodMWVUPP5Ai/xXANn/SM7gfIvI62B5CCvZxhg5pOgyMw==", "requires": { "@ioredis/commands": "^1.1.1", "cluster-key-slot": "^1.1.0", @@ -4989,9 +5074,9 @@ } }, "luxon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.1.tgz", - "integrity": "sha512-hF3kv0e5gwHQZKz4wtm4c+inDtyc7elkanAsBq+fundaCdUBNJB1dHEGUZIM6SfSBUlbVFduPwEtNjFK8wLtcw==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.0.3.tgz", + "integrity": "sha512-+EfHWnF+UT7GgTnq5zXg3ldnTKL2zdv7QJgsU5bjjpbH17E3qi/puMhQyJVYuCq+FRkogvB5WB6iVvUr+E4a7w==" }, "make-error": { "version": "1.3.6", @@ -5233,11 +5318,11 @@ "dev": true }, "prisma": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.2.1.tgz", - "integrity": "sha512-HuYqnTDgH8atjPGtYmY0Ql9XrrJnfW7daG1PtAJRW0E6gJxc50lY3vrIDn0yjMR3TvRlypjTcspQX8DT+xD4Sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.3.1.tgz", + "integrity": "sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ==", "requires": { - "@prisma/engines": "4.2.1" + "@prisma/engines": "4.3.1" } }, "punycode": { @@ -5537,9 +5622,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.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", + "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==" }, "unbox-primitive": { "version": "1.0.2", diff --git a/package.json b/package.json index 11b0b17..66ccf9b 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,10 @@ }, "homepage": "https://github.com/veganhacktivists/arabot#readme", "dependencies": { + "@discordjs/builders": "^1.2.0", "@prisma/client": "^4.0.0", "@sapphire/discord.js-utilities": "^5.0.0", - "@sapphire/framework": "^3.0.0", + "@sapphire/framework": "^3.1.1", "@sapphire/plugin-scheduled-tasks": "^4.0.0", "@sapphire/plugin-subcommands": "^3.0.0", "@sapphire/stopwatch": "^1.4.1", @@ -47,7 +48,7 @@ "@types/ioredis": "^4.28.10", "@typescript-eslint/eslint-plugin": "^5.30.7", "@typescript-eslint/parser": "^5.30.7", - "eslint": "^8.20.0", + "eslint": "8.22.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-plugin-import": "^2.26.0" From 8dc1c999954ad25f17f04a1461bcb7c322090022 Mon Sep 17 00:00:00 2001 From: smyalygames Date: Thu, 22 Sep 2022 14:04:27 +0100 Subject: [PATCH 09/10] docs(arabot): list all commands --- docs/COMMANDS.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs/COMMANDS.md diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md new file mode 100644 index 0000000..69010d6 --- /dev/null +++ b/docs/COMMANDS.md @@ -0,0 +1,49 @@ +# Commands for the bot + +## Moderation + +### Sus +This command stores notes on users that could be information on the user +or anything that is not serious enough for a warning. + +#### Classic Commands +- `?sus ` Add a note to the user + +#### Application Commands + +- `/sus add ` +- `/sus view ` +- `/sus remove ` +- `/sus purge ` + +## Coordinator Only + +### Diversity Team + +- `/diversity toggleopen` + +### Events Team + +- `/stagehost` + +### Mentor Team + +- `/vegancurious` + +### Verification Team + +- `/purgeverifying` + +## Utilities + +- `/ping` + +## Fun Commands + +- `/1984` +- `/happy` +- `/hug` +- `/kill` +- `/poke` +- `/sad` +- `/shrug` \ No newline at end of file From effedbdfaf4be9c59696599c8fd3cc8c6a6a8033 Mon Sep 17 00:00:00 2001 From: smyalygames Date: Thu, 22 Sep 2022 14:14:12 +0100 Subject: [PATCH 10/10] docs(arabot): fix sus view --- docs/COMMANDS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md index 69010d6..e55379f 100644 --- a/docs/COMMANDS.md +++ b/docs/COMMANDS.md @@ -12,7 +12,7 @@ or anything that is not serious enough for a warning. #### Application Commands - `/sus add ` -- `/sus view ` +- `/sus view ` - `/sus remove ` - `/sus purge `