From ed602b2643b58abf003178dfaf8f340bab8dbf86 Mon Sep 17 00:00:00 2001 From: Yannis Perrot Date: Mon, 19 Feb 2024 15:43:17 +0100 Subject: [PATCH] 1st --- .gitignore | 1 + commands/dofus/almanax.js | 51 ++ commands/general/ping.js | 10 + commands/general/roll.js | 82 ++ commands/general/server.js | 11 + commands/general/user.js | 12 + config.json | 5 + deploy-commands.js | 46 + dice_icons/d10.png | Bin 0 -> 18543 bytes dice_icons/d12.png | Bin 0 -> 11814 bytes dice_icons/d4.png | Bin 0 -> 14744 bytes dice_icons/d6.png | Bin 0 -> 8190 bytes dice_icons/d8.png | Bin 0 -> 16477 bytes dice_icons/default.png | Bin 0 -> 9923 bytes events/interactionCreate.js | 26 + events/midnightAlmanax.js | 50 ++ events/ready.js | 9 + index.js | 38 + package-lock.json | 1647 +++++++++++++++++++++++++++++++++++ package.json | 16 + 20 files changed, 2004 insertions(+) create mode 100644 .gitignore create mode 100644 commands/dofus/almanax.js create mode 100644 commands/general/ping.js create mode 100644 commands/general/roll.js create mode 100644 commands/general/server.js create mode 100644 commands/general/user.js create mode 100644 config.json create mode 100644 deploy-commands.js create mode 100644 dice_icons/d10.png create mode 100644 dice_icons/d12.png create mode 100644 dice_icons/d4.png create mode 100644 dice_icons/d6.png create mode 100644 dice_icons/d8.png create mode 100644 dice_icons/default.png create mode 100644 events/interactionCreate.js create mode 100644 events/midnightAlmanax.js create mode 100644 events/ready.js create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/commands/dofus/almanax.js b/commands/dofus/almanax.js new file mode 100644 index 0000000..9b6408e --- /dev/null +++ b/commands/dofus/almanax.js @@ -0,0 +1,51 @@ +const { SlashCommandBuilder } = require('discord.js'); +const dofusdude = require('dofusdude-js'); +const { EmbedBuilder } = require('discord.js'); + +module.exports = { + data: new SlashCommandBuilder() + .setName('almanax') + .setDescription("Offrande du jour de l'Almanax !"), + async execute(interaction) { + await interaction.deferReply(); + const api = new dofusdude.AlmanaxApi() + const language = 'fr'; // {String} code + const date = new Date(); // {Date} yyyy-mm-dd + date.setHours(date.getHours()+1); + console.log(date.toISOString()); + const dateFormatted = date.toISOString().slice(0,10); + api.getAlmanaxDate(language, dateFormatted, (error, data, response) => { + if (error) { + console.error(error); + return; + } else { + console.log('Dofusdude API called successfully.'); + // interaction.editReply('Item du jour : ' + data.tribute.item.name + ' x' + data.tribute.quantity); + + interaction.editReply({ embeds: + [returnEmbeddedAlmanax( + dateFormatted, + data.tribute.item.name, + data.tribute.quantity, + data.bonus.type.name, + data.bonus.description, + data.tribute.item.image_urls.sd + )] + }); + } + }); + }, +}; + +function returnEmbeddedAlmanax(date, itemName, quantity, bonusName, bonusDesc, imgUrl) { + console.log(date) + const embed = new EmbedBuilder() + .setTitle('Almanax du ' + date.slice(8,10) + '/' + date.slice(5,7) + '/' + date.slice(0,4)) + .setURL('https://www.krosmoz.com/fr/almanax/' + date) + .setThumbnail(imgUrl) + .addFields( + { name: 'Offrande du jour', value: itemName+' x'+quantity}, + { name : bonusName, value: bonusDesc} + ) + return embed; +} \ No newline at end of file diff --git a/commands/general/ping.js b/commands/general/ping.js new file mode 100644 index 0000000..64e2ba6 --- /dev/null +++ b/commands/general/ping.js @@ -0,0 +1,10 @@ +const { SlashCommandBuilder } = require('discord.js'); + +module.exports = { + data: new SlashCommandBuilder() + .setName('ping') + .setDescription('Replies with Pong!'), + async execute(interaction) { + await interaction.reply('Pong!'); + }, +}; diff --git a/commands/general/roll.js b/commands/general/roll.js new file mode 100644 index 0000000..0ccaf6d --- /dev/null +++ b/commands/general/roll.js @@ -0,0 +1,82 @@ +const { SlashCommandBuilder } = require('discord.js'); +const { AttachmentBuilder, EmbedBuilder } = require('discord.js'); + +module.exports = { + data: new SlashCommandBuilder() + .setName('roll') + .setDescription('Lance un dé!') + .addStringOption(option => + option + .setName('jet') + .setDescription('Jet du dé (par ex: 2d6)') + .setRequired(true)), + async execute(interaction) { + await interaction.deferReply(); + + // dice argument + let jet = interaction.options.getString('jet'); + + // REGEX FORMAT DICE RULE (i.e. 4d6, 10d12, 9d10, 10d5...) + const diceRule = /^\d+d\d+$/; + + // dice format check + if (!diceRule.test(jet)){ + interaction.editReply("Désolé, mais le format du jet est dégueulasse..."); + return; + } + + // getting dice values + let dice = jet.split('d'); + let nbDice = dice[0]; + let typeDice = dice[1]; + + // negative or null dice values check + if (nbDice <= 0 || typeDice <= 0) { + interaction.editReply("Désolé, mais le format du jet est dégueulasse... (comment ça zéro ?)"); + return; + } + + // constructing path to the image + let pathThumbnail = ""; + if (typeDice == 4 || typeDice == 6 || typeDice == 8 || typeDice == 10 || typeDice == 12) { + pathThumbnail = 'dice_icons/d' + typeDice.toString() + '.png' + } else { + pathThumbnail = 'dice_icons/default.png' + } + // attachment of the image + const file = new AttachmentBuilder(pathThumbnail, { name : 'dice.png' }); + + // initializing result vars + let result = 0; + let resultText = ""; + for (let i = 0 ; i < nbDice ; i++) { + let tmp = getRandomInt(typeDice) + result += tmp; + resultText += tmp.toString() + if (i != nbDice-1) { + resultText += ' + ' + } + } + + // replying embeded message + interaction.editReply({ embeds: + [ + new EmbedBuilder() + .setTitle("Lancer de dé") + .setURL("https://www.youtube.com/watch?v=dQw4w9WgXcQ") + .setThumbnail('attachment://dice.png') // trouver la bonne image + .addFields( + { name: "Vous avez lancé...", value: jet.toString() }, + { name: "Vos jets :", value: resultText }, + { name: "Votre résultat est...", value: result.toString() } + ) + // .setImage('attachment://'+file) + ], files: [file] + }); + }, +}; + +// get random integer from 1 to max included +function getRandomInt(max) { + return Math.floor(Math.random() * (max-1))+1; +} \ No newline at end of file diff --git a/commands/general/server.js b/commands/general/server.js new file mode 100644 index 0000000..67411cf --- /dev/null +++ b/commands/general/server.js @@ -0,0 +1,11 @@ +const { SlashCommandBuilder } = require('discord.js'); + +module.exports = { + data: new SlashCommandBuilder() + .setName('server') + .setDescription('Provides information about the server.'), + async execute(interaction) { + // interaction.guild is the object representing the Guild in which the command was run + await interaction.reply(`This server is ${interaction.guild.name} and has ${interaction.guild.memberCount} members.`); + }, +}; diff --git a/commands/general/user.js b/commands/general/user.js new file mode 100644 index 0000000..6ef0ba8 --- /dev/null +++ b/commands/general/user.js @@ -0,0 +1,12 @@ +const { SlashCommandBuilder } = require('discord.js'); + +module.exports = { + data: new SlashCommandBuilder() + .setName('user') + .setDescription('Provides information about the user.'), + async execute(interaction) { + // interaction.user is the object representing the User who ran the command + // interaction.member is the GuildMember object, which represents the user in the specific guild + await interaction.reply(`This command was run by ${interaction.user.username}, who joined on ${interaction.member.joinedAt}.`); + }, +}; diff --git a/config.json b/config.json new file mode 100644 index 0000000..00cf361 --- /dev/null +++ b/config.json @@ -0,0 +1,5 @@ +{ + "token": "MTIwMjI0ODUwMzMwMTI1OTI2NA.Gpj0rd.rOFeed3bKqNnAXQuZ9xIlcSLI8HNrEoe_EUjh8", + "clientId": "1202248503301259264", + "guildId": "947864126422646794" +} \ No newline at end of file diff --git a/deploy-commands.js b/deploy-commands.js new file mode 100644 index 0000000..dc94ff9 --- /dev/null +++ b/deploy-commands.js @@ -0,0 +1,46 @@ +const { REST, Routes } = require('discord.js'); +const { clientId, guildId, token } = require('./config.json'); +const fs = require('node:fs'); +const path = require('node:path'); + +const commands = []; +// Grab all the command folders from the commands directory you created earlier +const foldersPath = path.join(__dirname, 'commands'); +const commandFolders = fs.readdirSync(foldersPath); + +for (const folder of commandFolders) { + // Grab all the command files from the commands directory you created earlier + const commandsPath = path.join(foldersPath, folder); + const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js')); + // Grab the SlashCommandBuilder#toJSON() output of each command's data for deployment + for (const file of commandFiles) { + const filePath = path.join(commandsPath, file); + const command = require(filePath); + if ('data' in command && 'execute' in command) { + commands.push(command.data.toJSON()); + } else { + console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`); + } + } +} + +// Construct and prepare an instance of the REST module +const rest = new REST().setToken(token); + +// and deploy your commands! +(async () => { + try { + console.log(`Started refreshing ${commands.length} application (/) commands.`); + + // The put method is used to fully refresh all commands in the guild with the current set + const data = await rest.put( + Routes.applicationGuildCommands(clientId, guildId), + { body: commands }, + ); + + console.log(`Successfully reloaded ${data.length} application (/) commands.`); + } catch (error) { + // And of course, make sure you catch and log any errors! + console.error(error); + } +})(); \ No newline at end of file diff --git a/dice_icons/d10.png b/dice_icons/d10.png new file mode 100644 index 0000000000000000000000000000000000000000..0994ef3497a57550f540cfe9f8c44c4e29aec6bf GIT binary patch literal 18543 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 R^~nGL002ovPDHLkV1fxYPiz1H literal 0 HcmV?d00001 diff --git a/dice_icons/d12.png b/dice_icons/d12.png new file mode 100644 index 0000000000000000000000000000000000000000..274ebac65ab60a1bc6702718fae4ae040ec59bc0 GIT binary patch literal 11814 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 literal 0 HcmV?d00001 diff --git a/dice_icons/d6.png b/dice_icons/d6.png new file mode 100644 index 0000000000000000000000000000000000000000..e65a59686006ddeda4905acd6593946ef9028328 GIT binary patch literal 8190 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 IG5+%Z0HWaj5dZ)H literal 0 HcmV?d00001 diff --git a/dice_icons/default.png b/dice_icons/default.png new file mode 100644 index 0000000000000000000000000000000000000000..136afcaf6ed42eed029f7e0da3fedc072a4a2a60 GIT binary patch literal 9923 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 literal 0 HcmV?d00001 diff --git a/events/interactionCreate.js b/events/interactionCreate.js new file mode 100644 index 0000000..a4c3122 --- /dev/null +++ b/events/interactionCreate.js @@ -0,0 +1,26 @@ +const { Events } = require('discord.js'); + +module.exports = { + name: Events.InteractionCreate, + async execute(interaction) { + if (!interaction.isChatInputCommand()) return; + + const command = interaction.client.commands.get(interaction.commandName); + + if (!command) { + console.error(`No command matching ${interaction.commandName} was found.`); + return; + } + + try { + await command.execute(interaction); + } catch (error) { + console.error(error); + if (interaction.replied || interaction.deferred) { + await interaction.followUp({ content: 'There was an error while executing this command!', ephemeral: true }); + } else { + await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true }); + } + } + }, +}; diff --git a/events/midnightAlmanax.js b/events/midnightAlmanax.js new file mode 100644 index 0000000..9b1f7f4 --- /dev/null +++ b/events/midnightAlmanax.js @@ -0,0 +1,50 @@ +const { Events, Client, Intents } = require('discord.js'); +const { EmbedBuilder } = require('discord.js'); +const cron = require('cron'); +const dofusdude = require('dofusdude-js'); + +module.exports = { + name: Events.ClientReady, + once: true, + execute(client) { + const job = new cron.CronJob('55 23 * * *', () => { + + // Example: sending a message to a specific channel + + const api = new dofusdude.AlmanaxApi() + const language = 'fr'; // {String} code + const newDate = new Date(); + newDate.setDate(newDate.getDate()+1); + newDate.setHours(newDate.getHours()+1); + const date = newDate.toISOString().slice(0,10); // {Date} yyyy-mm-dd + api.getAlmanaxDate(language, date, (error, data, response) => { + if (error) { + console.error(error); + return; + } else { + console.log('Dofusdude API called successfully.'); + const channelId = '1202247793356316685'; + const channel = client.channels.cache.get(channelId); + if (channel) { + channel.send({ embeds: + [new EmbedBuilder() + .setTitle('Almanax du ' + date.slice(8,10) + '/' + date.slice(5,7) + '/' + date.slice(0,4)) + .setURL('https://www.krosmoz.com/fr/almanax/' + date) + .setThumbnail(data.tribute.item.image_urls.sd) + .addFields( + { name: 'Offrande de demain', value: data.tribute.item.name+' x'+data.tribute.quantity}, + { name: data.bonus.type.name, value: data.bonus.description } + ) + ] + }); + } else { + console.error('Channel not found!'); + } + } + }); + }); + job.start(); + + console.log(`Daily Dofus API Call done.`); + }, +}; diff --git a/events/ready.js b/events/ready.js new file mode 100644 index 0000000..e59e552 --- /dev/null +++ b/events/ready.js @@ -0,0 +1,9 @@ +const { Events } = require('discord.js'); + +module.exports = { + name: Events.ClientReady, + once: true, + execute(client) { + console.log(`Ready! Logged in as ${client.user.tag}`); + }, +}; diff --git a/index.js b/index.js new file mode 100644 index 0000000..f2acbb7 --- /dev/null +++ b/index.js @@ -0,0 +1,38 @@ +const fs = require('node:fs'); +const path = require('node:path'); +const { Client, Collection, GatewayIntentBits } = require('discord.js'); +const { token } = require('./config.json'); +const client = new Client({ intents: [GatewayIntentBits.Guilds] }); + +client.commands = new Collection(); +const foldersPath = path.join(__dirname, 'commands'); +const commandFolders = fs.readdirSync(foldersPath); + +for (const folder of commandFolders) { + const commandsPath = path.join(foldersPath, folder); + const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js')); + for (const file of commandFiles) { + const filePath = path.join(commandsPath, file); + const command = require(filePath); + if ('data' in command && 'execute' in command) { + client.commands.set(command.data.name, command); + } else { + console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`); + } + } +} + +const eventsPath = path.join(__dirname, 'events'); +const eventFiles = fs.readdirSync(eventsPath).filter(file => file.endsWith('.js')); + +for (const file of eventFiles) { + const filePath = path.join(eventsPath, file); + const event = require(filePath); + if (event.once) { + client.once(event.name, (...args) => event.execute(...args)); + } else { + client.on(event.name, (...args) => event.execute(...args)); + } +} + +client.login(token); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..76d3b72 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1647 @@ +{ + "name": "meridianbot", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "meridianbot", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "cron": "^3.1.6", + "discord.js": "^14.14.1", + "dofusdude-js": "^0.8.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.9.tgz", + "integrity": "sha512-vB1UXmGDNEhcf1jNAHKT9IlYk1R+hehVTLFlCLHBi8gfuHQGP6uRjgXVYU0EVlI/qwAWpstqkBdf2aez3/z/5Q==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "peer": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "peer": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "peer": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "peer": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "peer": true, + "dependencies": { + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "peer": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discordjs/builders": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.7.0.tgz", + "integrity": "sha512-GDtbKMkg433cOZur8Dv6c25EHxduNIBsxeHrsRoIM8+AwmEZ8r0tEpckx/sHwTLwQPOF3e2JWloZh9ofCaMfAw==", + "dependencies": { + "@discordjs/formatters": "^0.3.3", + "@discordjs/util": "^1.0.2", + "@sapphire/shapeshift": "^3.9.3", + "discord-api-types": "0.37.61", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/collection": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", + "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/formatters": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.3.3.tgz", + "integrity": "sha512-wTcI1Q5cps1eSGhl6+6AzzZkBBlVrBdc9IUhJbijRgVjCNIIIZPgqnUj3ntFODsHrdbGU8BEG9XmDQmgEEYn3w==", + "dependencies": { + "discord-api-types": "0.37.61" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/rest": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.2.0.tgz", + "integrity": "sha512-nXm9wT8oqrYFRMEqTXQx9DUTeEtXUDMmnUKIhZn6O2EeDY9VCdwj23XCPq7fkqMPKdF7ldAfeVKyxxFdbZl59A==", + "dependencies": { + "@discordjs/collection": "^2.0.0", + "@discordjs/util": "^1.0.2", + "@sapphire/async-queue": "^1.5.0", + "@sapphire/snowflake": "^3.5.1", + "@vladfrangu/async_event_emitter": "^2.2.2", + "discord-api-types": "0.37.61", + "magic-bytes.js": "^1.5.0", + "tslib": "^2.6.2", + "undici": "5.27.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/rest/node_modules/@discordjs/collection": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz", + "integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@discordjs/util": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.0.2.tgz", + "integrity": "sha512-IRNbimrmfb75GMNEjyznqM1tkI7HrZOf14njX7tCAAUetyZM1Pr8hX/EK2lxBCOgWDRmigbp24fD1hdMfQK5lw==", + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/ws": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.0.2.tgz", + "integrity": "sha512-+XI82Rm2hKnFwAySXEep4A7Kfoowt6weO6381jgW+wVdTpMS/56qCvoXyFRY0slcv7c/U8My2PwIB2/wEaAh7Q==", + "dependencies": { + "@discordjs/collection": "^2.0.0", + "@discordjs/rest": "^2.1.0", + "@discordjs/util": "^1.0.2", + "@sapphire/async-queue": "^1.5.0", + "@types/ws": "^8.5.9", + "@vladfrangu/async_event_emitter": "^2.2.2", + "discord-api-types": "0.37.61", + "tslib": "^2.6.2", + "ws": "^8.14.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/@discordjs/ws/node_modules/@discordjs/collection": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.0.0.tgz", + "integrity": "sha512-YTWIXLrf5FsrLMycpMM9Q6vnZoR/lN2AWX23/Cuo8uOOtS8eHB2dyQaaGnaF8aZPYnttf2bkLMcXn/j6JUOi3w==", + "engines": { + "node": ">=18" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "optional": true + }, + "node_modules/@sapphire/async-queue": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.2.tgz", + "integrity": "sha512-7X7FFAA4DngXUl95+hYbUF19bp1LGiffjJtu7ygrZrbdCSsdDDBaSjB7Akw0ZbOu6k0xpXyljnJ6/RZUvLfRdg==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/shapeshift": { + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.9.6.tgz", + "integrity": "sha512-4+Na/fxu2SEepZRb9z0dbsVh59QtwPuBg/UVaDib3av7ZY14b14+z09z6QVn0P6Dv6eOU2NDTsjIi0mbtgP56g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.1.tgz", + "integrity": "sha512-BxcYGzgEsdlG0dKAyOm0ehLGm2CafIrfQTZGWgkfKYbj+pNNsorZ7EotuZukc2MT70E0UbppVbtpBrqpzVzjNA==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@types/luxon": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.8.tgz", + "integrity": "sha512-jYvz8UMLDgy3a5SkGJne8H7VA7zPV2Lwohjx0V8V31+SqAjNmurWMkk9cQhfvlcnXWudBpK9xPM1n4rljOcHYQ==" + }, + "node_modules/@types/node": { + "version": "20.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.13.tgz", + "integrity": "sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/ws": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", + "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vladfrangu/async_event_emitter": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.2.4.tgz", + "integrity": "sha512-ButUPz9E9cXMLgvAW8aLAKKJJsPu1dY1/l/E8xzLFuysowXygs6GBcyunK9rnGC4zTsnIc2mQo71rGw9U+Ykug==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001581", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz", + "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/cron": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/cron/-/cron-3.1.6.tgz", + "integrity": "sha512-cvFiQCeVzsA+QPM6fhjBtlKGij7tLLISnTSvFxVdnFGLdz+ZdXN37kNe0i2gefmdD17XuZA6n2uPVwzl4FxW/w==", + "dependencies": { + "@types/luxon": "~3.3.0", + "luxon": "~3.4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/discord-api-types": { + "version": "0.37.61", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.61.tgz", + "integrity": "sha512-o/dXNFfhBpYHpQFdT6FWzeO7pKc838QeeZ9d91CfVAtpr5XLK4B/zYxQbYgPdoMiTDvJfzcsLW5naXgmHGDNXw==" + }, + "node_modules/discord.js": { + "version": "14.14.1", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.14.1.tgz", + "integrity": "sha512-/hUVzkIerxKHyRKopJy5xejp4MYKDPTszAnpYxzVVv4qJYf+Tkt+jnT2N29PIPschicaEEpXwF2ARrTYHYwQ5w==", + "dependencies": { + "@discordjs/builders": "^1.7.0", + "@discordjs/collection": "1.5.3", + "@discordjs/formatters": "^0.3.3", + "@discordjs/rest": "^2.1.0", + "@discordjs/util": "^1.0.2", + "@discordjs/ws": "^1.0.2", + "@sapphire/snowflake": "3.5.1", + "@types/ws": "8.5.9", + "discord-api-types": "0.37.61", + "fast-deep-equal": "3.1.3", + "lodash.snakecase": "4.1.1", + "tslib": "2.6.2", + "undici": "5.27.2", + "ws": "8.14.2" + }, + "engines": { + "node": ">=16.11.0" + } + }, + "node_modules/dofusdude-js": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/dofusdude-js/-/dofusdude-js-0.8.2.tgz", + "integrity": "sha512-bmH7g51LO93etKmnlQyLvndJNtZI4ehXIF9qD2rRBq/XCHwvjtIj1ZMx98khG7iwTF4/nZStrD8VYWteiaVpYQ==", + "dependencies": { + "@babel/cli": "^7.0.0", + "superagent": "^5.3.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.651", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.651.tgz", + "integrity": "sha512-jjks7Xx+4I7dslwsbaFocSwqBbGHQmuXBJUK9QBZTIrzPq3pzn6Uf2szFSP728FtLYE3ldiccmlkOM/zhGKCpA==", + "peer": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "peer": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-bytes.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.8.0.tgz", + "integrity": "sha512-lyWpfvNGVb5lu8YUAbER0+UMBTdR63w2mcSUlhhBTyVbxJvjgqwyAf3AZD6MprgK0uHuBoWXSDAMWLupX83o3Q==" + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "peer": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/superagent": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz", + "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==", + "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.2", + "debug": "^4.1.1", + "fast-safe-stringify": "^2.0.7", + "form-data": "^3.0.0", + "formidable": "^1.2.2", + "methods": "^1.1.2", + "mime": "^2.4.6", + "qs": "^6.9.4", + "readable-stream": "^3.6.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 7.0.0" + } + }, + "node_modules/superagent/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/superagent/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-mixer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.3.tgz", + "integrity": "sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/undici": { + "version": "5.27.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", + "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..69941b9 --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "name": "meridianbot", + "version": "1.1.0", + "description": "Meridian Discord Bot", + "main": "index.js", + "scripts": { + "test": "test" + }, + "author": "veko", + "license": "ISC", + "dependencies": { + "cron": "^3.1.6", + "discord.js": "^14.14.1", + "dofusdude-js": "^0.8.2" + } +}