diff --git a/bot/assets/s3BrandAbilities.json b/bot/assets/splatoon2brands.json similarity index 82% rename from bot/assets/s3BrandAbilities.json rename to bot/assets/splatoon2brands.json index 0b9d2a7..7e958e9 100644 --- a/bot/assets/s3BrandAbilities.json +++ b/bot/assets/splatoon2brands.json @@ -5,25 +5,15 @@ }, "Annaki": { - "common": "Ink Saver (Sub)", + "common": "Main Power Up", "uncommon": "Special Saver" }, - "Barazushi": { - "common": "Intensify Action", - "uncommon": "Sub Power Up" - }, - "Cuttlegear": { "common": "N/A", "uncommon": "N/A" }, - "Emberz": { - "common": "Intensify Action", - "uncommon": "Special Charge Up" - }, - "Enperry": { "common": "Sub Power Up", "uncommon": "Ink Resistance Up" @@ -46,7 +36,7 @@ "Inkline": { "common": "Bomb Defence Up DX", - "uncommon": "Intensify Action" + "uncommon": "Main Power Up" }, "Krak-On": { @@ -64,7 +54,7 @@ "uncommon": "Special Saver" }, - "SplashMob": { + "Splash Mob": { "common": "Ink Saver (Main)", "uncommon": "Run Speed Up" }, @@ -85,7 +75,7 @@ }, "ToniKensa": { - "common": "Ink Saver (Main)", + "common": "Main Power Up", "uncommon": "Sub Power Up" }, diff --git a/bot/commands/Bot/about.js b/bot/commands/Bot/about.js index a6e6915..2fe794e 100644 --- a/bot/commands/Bot/about.js +++ b/bot/commands/Bot/about.js @@ -37,8 +37,8 @@ module.exports = class About extends Command { const embed = new client.EmbedBuilder() .setTitle('About me') .setThumbnail(client.user.avatarURL({format: 'png'})) - .setColor(bot.displayHexColor) - .addFields( + .setColor(bot.user.hexAccentColor ?? bot.displayHexColor) + .addFields([ { name: 'General', value: `» Users: \`${userCount}\`\n» Servers: \`${client.guilds.cache.size}\`\n» Commands: \`${client.commands.size}\`\n» Uptime: \`${uptime}\``, @@ -49,7 +49,7 @@ module.exports = class About extends Command { value: `» RAM Usage: \`${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB\`\n» Woomy version: \`v${client.version} ${build}\`\n» discord.js version: \`v${version}\`\n» node.js version: \`${process.version}\``, inline: true } - ) + ]) .setFooter({ text: 'Made in Australia'}); return interaction.reply({ embeds: [embed], components: [links] }); diff --git a/bot/commands/Bot/help.js b/bot/commands/Bot/help.js index 1c7c6a4..2c79077 100644 --- a/bot/commands/Bot/help.js +++ b/bot/commands/Bot/help.js @@ -64,7 +64,7 @@ module.exports = class Help extends Command { const command = await client.commands.get(input.value); const embed = new client.EmbedBuilder() .setTitle(`${command.category} -> ${command.name.toProperCase()}`) - .setColor(bot.displayHexColor) + .setColor(bot.user.hexAccentColor ?? bot.displayHexColor) .setDescription(command.description) .setFooter({ text: '<> = required, / = either/or, [] = optional'}); diff --git a/bot/commands/Fun/garfield.js b/bot/commands/Fun/garfield.js index e59ef87..e842921 100644 --- a/bot/commands/Fun/garfield.js +++ b/bot/commands/Fun/garfield.js @@ -69,7 +69,7 @@ module.exports = class Garfield extends Command { .then(json => { const embed = new client.EmbedBuilder() .setTitle(`#${json.data.number}: ${json.data.name}`) - .setColor(bot.displayHexColor) + .setColor(bot.user.hexAccentColor ?? bot.displayHexColor) .setImage(json.data.image.src); interaction.editReply({ embeds: [embed] }); }) diff --git a/bot/commands/Fun/inspire.js b/bot/commands/Fun/inspire.js index 169b1f7..1e37cf4 100644 --- a/bot/commands/Fun/inspire.js +++ b/bot/commands/Fun/inspire.js @@ -11,7 +11,7 @@ module.exports = class Inspire extends Command { } async run (client, interaction, data) { //eslint-disable-line no-unused-vars - await interaction.deferReply(); + interaction.deferReply(); fetch('http://inspirobot.me/api?generate=true', { headers: { 'User-Agent': client.config.userAgent }}) .then(res => res.text()) .then(body => interaction.editReply(body)) diff --git a/bot/commands/Utility/avatar.js b/bot/commands/Utility/avatar.js index 65ef647..e189e3e 100644 --- a/bot/commands/Utility/avatar.js +++ b/bot/commands/Utility/avatar.js @@ -28,6 +28,6 @@ module.exports = class Avatar extends Command { .setDescription(`[Global avatar](${user.avatarURL({extension: 'png', 'size': 4096})})`) .setImage(member.displayAvatarURL({extension: 'png', 'size': 4096})); - interaction.reply({embeds: [embed]}); + await interaction.reply({embeds: [embed]}); } }; \ No newline at end of file diff --git a/bot/commands/Utility/server.js b/bot/commands/Utility/server.js index 16f6974..01a395c 100644 --- a/bot/commands/Utility/server.js +++ b/bot/commands/Utility/server.js @@ -47,7 +47,7 @@ module.exports = class Avatar extends Command { .setColor(client.functions.embedColor(guild)) .setTitle(guild.name) .setThumbnail(guild.iconURL({extension: 'png', 'size': 4096})) - .addFields( + .addFields([ { name: 'ID', value: guild.id, inline: true }, @@ -84,7 +84,7 @@ module.exports = class Avatar extends Command { { name: 'Features', value: guild.features.join(', ') } - ); + ]); interaction.reply({ embeds: [embed] }); } }; \ No newline at end of file diff --git a/bot/commands/Utility/splatnet.js b/bot/commands/Utility/splatnet.js deleted file mode 100644 index 233d9e4..0000000 --- a/bot/commands/Utility/splatnet.js +++ /dev/null @@ -1,257 +0,0 @@ -const Command = require('../../base/Command.js'); -const fetch = require('node-fetch'); -const { pagination } = require('@devraelfreeze/discordjs-pagination'); -const prettifyMiliseconds = require('pretty-ms'); -const brandAbilities = require('../../assets/s3BrandAbilities.json'); - -module.exports = class Splatnet extends Command { - constructor (name, category) { - super (name, category); - this.name = name, - this.description = 'View the current map rotation, salmon run gear and SplatNet gear for Splatoon 3', - this.category = category, - this.options = [ - { - type: 1, - name: 'maps', - description: 'Get current and upcoming map rotations for turf war, anarchy and X-rank battles.' - }, - { - type: 1, - name: 'salmonrun', - description: 'Get current and upcoming map rotations for salmon run, as well as the monthly gear reward.' - }, - { - type: 1, - name: 'gear', - description: 'View the gear currently available on the SplatNet mobile app.' - } - ]; - } - - async run (client, interaction, data) { //eslint-disable-line no-unused-vars - const subCmd = interaction.options.getSubcommand(); - const embeds = []; - - await interaction.deferReply(); - - if (subCmd === 'maps') { - if (client.cache.has('SPLATNET_MAPS') && Date.now() > client.cache.get('SPLATNET_MAPS').expiry) { - client.cache.delete('SPLATNET_MAPS'); - } - - if (!client.cache.has('SPLATNET_MAPS')) { - fetch('https://splatoon3.ink/data/schedules.json', { headers: { 'User-Agent': client.config.userAgent }}) - .then(res => res.json()) - .then(async json => { - // cache data so we dont spam API - client.cache.set('SPLATNET_MAPS', {data: json, expiry: new Date(json.data.xSchedules.nodes[0].endTime)}); - - embeds.push(new client.EmbedBuilder() - .setTitle('Current Splatoon 3 Maps') - .setColor(interaction.guild.members.me.displayHexColor) - .addFields( - { - name: '<:turf_war:814651383911153692> Turf War', - value: `${json.data.regularSchedules.nodes[0].regularMatchSetting.vsStages[0].name}\n${json.data.regularSchedules.nodes[0].regularMatchSetting.vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Series: ${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Open: ${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsStages[1].name}`, - inline: true - }, - { - name: `<:xRank:1056806341575970898> X rank: ${json.data.xSchedules.nodes[0].xMatchSetting.vsRule.name}`, - value: `${json.data.xSchedules.nodes[0].xMatchSetting.vsStages[0].name}\n${json.data.xSchedules.nodes[0].xMatchSetting.vsStages[1].name}`, - inline: true - } - ) - .setFooter({ text: `Maps changing in ${prettifyMiliseconds(new Date(json.data.xSchedules.nodes[0].endTime).getTime() - Date.now(), { secondsDecimalDigits: 0 })} - Data provided by splatoon3.ink`}) - ); - for (let i = 1; i < json.data.regularSchedules.nodes.length; i++) { - embeds.push(new client.EmbedBuilder() - .setTitle('Upcoming Splatoon 3 Maps') - .setColor(interaction.guild.members.me.displayColor) - .addFields( - { - name: '<:turf_war:814651383911153692> Turf War', - value: `${json.data.regularSchedules.nodes[i].regularMatchSetting.vsStages[0].name}\n${json.data.regularSchedules.nodes[i].regularMatchSetting.vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Series: ${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Open: ${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsStages[1].name}`, - inline: true - }, - { - name: `X rank: ${json.data.xSchedules.nodes[i].xMatchSetting.vsRule.name}`, - value: `${json.data.xSchedules.nodes[i].xMatchSetting.vsStages[0].name}\n${json.data.xSchedules.nodes[i].xMatchSetting.vsStages[1].name}`, - inline: true - } - ) - .setFooter({ text: `Starting in ${prettifyMiliseconds(new Date(json.data.xSchedules.nodes[i].startTime).getTime() - Date.now(), { secondsDecimalDigits: 0 })} - Data provided by splatoon3.ink`}) - ); - } - await pagination({ - embeds: embeds, - author: interaction.member.user, - interaction: interaction, - time: 60000, - disableButtons: false, - }); - }) - .catch(err => { - client.logger.error('SPLATNET_COMMAND_ERROR', `API err or err replying: ${err.stack}`); - return interaction.editReply(`${client.config.emojis.botError} An error occurred, sorry! I've reported this to my developers.`); - }); - } else { - let json = client.cache.get('SPLATNET_MAPS'); - json = json.data; - embeds.push(new client.EmbedBuilder() - .setTitle('Current Splatoon 3 Maps') - .setColor(interaction.guild.members.me.displayColor) - .addFields( - { - name: '<:turf_war:814651383911153692> Turf War', - value: `${json.data.regularSchedules.nodes[0].regularMatchSetting.vsStages[0].name}\n${json.data.regularSchedules.nodes[0].regularMatchSetting.vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Series: ${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[0].vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Open: ${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[0].bankaraMatchSettings[1].vsStages[1].name}`, - inline: true - }, - { - name: `X rank: ${json.data.xSchedules.nodes[0].xMatchSetting.vsRule.name}`, - value: `${json.data.xSchedules.nodes[0].xMatchSetting.vsStages[0].name}\n${json.data.xSchedules.nodes[0].xMatchSetting.vsStages[1].name}`, - inline: true - } - ) - .setFooter({ text: `Maps changing in ${prettifyMiliseconds(new Date(json.data.xSchedules.nodes[0].endTime).getTime() - Date.now(), { secondsDecimalDigits: 0 })} - Data provided by splatoon3.ink`}) - ); - - for (let i = 1; i < json.data.regularSchedules.nodes.length; i++) { - embeds.push(new client.EmbedBuilder() - .setTitle('Upcoming Splatoon 3 Maps') - .setColor(interaction.guild.members.me.displayColor) - .addFields( - { - name: '<:turf_war:814651383911153692> Turf War', - value: `${json.data.regularSchedules.nodes[i].regularMatchSetting.vsStages[0].name}\n${json.data.regularSchedules.nodes[i].regularMatchSetting.vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Series: ${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[0].vsStages[1].name}`, - inline: true - }, - { - name: `<:ranked:814651402479468544> Anarchy Open: ${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsRule.name}`, - value: `${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsStages[0].name}\n${json.data.bankaraSchedules.nodes[i].bankaraMatchSettings[1].vsStages[1].name}`, - inline: true - }, - { - name: `X rank: ${json.data.xSchedules.nodes[i].xMatchSetting.vsRule.name}`, - value: `${json.data.xSchedules.nodes[i].xMatchSetting.vsStages[0].name}\n${json.data.xSchedules.nodes[i].xMatchSetting.vsStages[1].name}`, - inline: true - } - ) - .setFooter({ text: `Starting in ${prettifyMiliseconds(new Date(json.data.xSchedules.nodes[i].startTime).getTime() - Date.now(), { secondsDecimalDigits: 0 })} - Data provided by splatoon3.ink`}) - ); - } - await pagination({ - embeds: embeds, - author: interaction.member.user, - interaction: interaction, - time: 60000, - disableButtons: false, - }); - } - } - - if (subCmd === 'gear') { - if (client.cache.has('SPLATNET_GEAR') && Date.now() > client.cache.get('SPLATNET_GEAR').expiry) { - client.cache.delete('SPLATNET_GEAR'); - } - - if (!client.cache.has('SPLATNET_GEAR')) { - fetch('https://splatoon3.ink/data/gear.json', { headers: { 'User-Agent': client.config.userAgent }}) - .then(res => res.json()) - .then(async json => { - client.cache.set('SPLATNET_GEAR', {data: json, expiry: new Date(json.data.gesotown.pickupBrand.brandGears[0].saleEndTime)}); - - for (let i = 0; i < json.data.gesotown.pickupBrand.brandGears.length; i++) { - embeds.push(new client.EmbedBuilder() - .setTitle(`${json.data.gesotown.pickupBrand.brandGears[i].gear.name} (${this.starPower(json.data.gesotown.pickupBrand.brandGears[i].gear.additionalGearPowers.length)})`) - .setDescription(`This piece of gear is apart of the ${json.data.gesotown.pickupBrand.brand.name} daily drop. The next drop will be for ${json.data.gesotown.pickupBrand.nextBrand.name}.`) - .setThumbnail(json.data.gesotown.pickupBrand.brandGears[i].gear.image.url) - .setColor(interaction.guild.members.me.displayColor) - .addFields( - { - name: 'Brand', - value: json.data.gesotown.pickupBrand.brandGears[i].gear.brand.name, - inline: true - }, - { - name: 'Price', - value: `${json.data.gesotown.pickupBrand.brandGears[i].price}`, - inline: true, - }, - { - name: 'Main Ability', - value: json.data.gesotown.pickupBrand.brandGears[i].gear.primaryGearPower.name, - inline: true - }, - { - name: 'Common Ability', - value: brandAbilities[json.data.gesotown.pickupBrand.brandGears[i].gear.brand.name.trim()].common, - inline: true - }, - { - name: 'Uncommon Ability', - value: brandAbilities[json.data.gesotown.pickupBrand.brandGears[i].gear.brand.name.trim()].uncommon, - inline: true - } - ) - .setFooter({ text: `Off sale in ${prettifyMiliseconds(new Date(json.data.gesotown.pickupBrand.brandGears[i].saleEndTime).getTime() - Date.now(), { secondsDecimalDigits: 0 })} - Data provided by splatoon3.ink`}) - ); - } - await pagination({ - embeds: embeds, - author: interaction.member.user, - interaction: interaction, - time: 60000, - disableButtons: false, - }); - }) - .catch(err => { - client.logger.error('SPLATNET_COMMAND_ERROR', `API err or err replying: ${err.stack}`); - return interaction.editReply(`${client.config.emojis.botError} An error occurred, sorry! I've reported this to my developers.`); - }); - } - } - } - - starPower (slots) { - if (slots === 1) return '0*'; - if (slots === 2) return '1*'; - if (slots === 3) return '2*'; - return 'err'; - } -}; \ No newline at end of file diff --git a/bot/commands/Utility/user.js b/bot/commands/Utility/user.js index fd4eb05..e78c44e 100644 --- a/bot/commands/Utility/user.js +++ b/bot/commands/Utility/user.js @@ -44,7 +44,7 @@ module.exports = class Avatar extends Command { .setTitle(member.user.username + '#' + member.user.discriminator) .setColor(user.hexAccentColor ?? member.displayHexColor) .setThumbnail(member.displayAvatarURL({extension: 'png', 'size': 4096})) - .addFields( + .addFields([ { name: 'Display Name', value: member.nick || user.username, inline: true }, @@ -63,10 +63,10 @@ module.exports = class Avatar extends Command { { name: 'Joined Discord', value: time(user.createdAt, 'D') + time(user.createdAt, 'R'), inline: true } - ); + ]); if (badges.length > 0) { embed.setDescription(badges.join(' ')); } - return interaction.reply({embeds: [embed]}); + return await interaction.reply({embeds: [embed]}); } }; \ No newline at end of file diff --git a/bot/commands/Utility/weather.js b/bot/commands/Utility/weather.js index 14f3334..0382f79 100644 --- a/bot/commands/Utility/weather.js +++ b/bot/commands/Utility/weather.js @@ -64,7 +64,7 @@ module.exports = class Weather extends Command { .setTitle('Current conditions in ' + city.toProperCase() + ', ' + ISO2.code[json.sys.country]) .setThumbnail(`https://openweathermap.org/img/wn/${json.weather[0].icon}@4x.png`) .setColor(embedColor) - .addFields( + .addFields([ { name: 'Condition:', value: json.weather[0].main, inline: true }, { name: 'Temperature:', value: `${tempCelsius}°C ・ ${Math.round(json.main.temp * 9/5 - 459.67)}°F`, inline: true }, { name: 'Min/Max:', value:` @@ -74,7 +74,7 @@ module.exports = class Weather extends Command { { name: 'Humidity:', value: `${json.main.humidity}%`, inline: true }, { name: 'Wind Speed:', value: `${Math.round(json.wind.speed * 10) / 10}km/h ・ ${Math.round(json.wind.speed * 10 / 1.609344)}mi/h`, inline: true }, { name: 'Wind Direction:', value: windrose.getPoint(json.wind.deg).name, inline: true} - ) + ]) .setFooter({ text: 'Powered by openweathermap.org'}); return interaction.reply({embeds: [embed]}); diff --git a/bot/index.js b/bot/index.js index 12acf67..80c1bbb 100644 --- a/bot/index.js +++ b/bot/index.js @@ -33,9 +33,6 @@ class WoomyClient extends Discord.Client { this.aliases = new Discord.Collection(); this.eventModules = new Discord.Collection(); this.cooldowns = new Discord.Collection(); - - // Cache we can store stuff in - this.cache = new Discord.Collection(); } // Listen for Discord events and pass needed information to the event handler so we can respond to them. diff --git a/package-lock.json b/package-lock.json index ce94af1..97eff8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,13 +9,12 @@ "version": "2.0.0", "license": "AGPL-3.0", "dependencies": { - "@devraelfreeze/discordjs-pagination": "^2.6.8", - "@sentry/node": "^7.28.1", + "@sentry/node": "^7.23.0", "bufferutil": "^4.0.3", "chalk": "^4.1.2", "discord.js": "^14.7.1", "erlpack": "^0.1.3", - "eslint": "^8.30.0", + "eslint": "^8.29.0", "fs-readdir-recursive": "^1.1.0", "moment": "^2.29.4", "moment-duration-format": "^2.3.2", @@ -28,14 +27,6 @@ "zlib-sync": "^0.1.7" } }, - "node_modules/@devraelfreeze/discordjs-pagination": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/@devraelfreeze/discordjs-pagination/-/discordjs-pagination-2.6.8.tgz", - "integrity": "sha512-qcVyCZ2svyqbFm4EPVeRk89TDcHHD6hLYbMv0gNob+OcM1Pjcr/GTVd2tyynoU3bZDNnhEfekIHVugORxKqFjg==", - "dependencies": { - "discord.js": "^14.2.0" - } - }, "node_modules/@discordjs/builders": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.4.0.tgz", @@ -97,14 +88,14 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", - "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.19.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -119,9 +110,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -212,12 +203,12 @@ } }, "node_modules/@sentry/core": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.28.1.tgz", - "integrity": "sha512-7wvnuvn/mrAfcugWoCG/3pqDIrUgH5t+HisMJMGw0h9Tc33KqrmqMDCQVvjlrr2pWrw/vuUCFdm8CbUHJ832oQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.23.0.tgz", + "integrity": "sha512-oNLGsscSdMs1urCbpwe868NsoJWyeTOQXOm5w2e78yE7G6zm2Ra473NQio3lweaEvjQgSGpFyEfAn/3ubZbtPw==", "dependencies": { - "@sentry/types": "7.28.1", - "@sentry/utils": "7.28.1", + "@sentry/types": "7.23.0", + "@sentry/utils": "7.23.0", "tslib": "^1.9.3" }, "engines": { @@ -225,13 +216,13 @@ } }, "node_modules/@sentry/node": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.28.1.tgz", - "integrity": "sha512-n7AbpJqZJjWPpKNGc55mP7AdQ+XSomS9MZJuZ+Xt2AU52aVwGPI4z9aHUJFSDGaMHHiu/toyPnoUES+XZf6/hw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.23.0.tgz", + "integrity": "sha512-w6J+5YRsQEn55508yQYT43ahMP5IHruxq8XnFqYMFZvRohVxrZ1qTz7AMoSgc8fDcHr+LKhs1PxJIqqNwkWrFA==", "dependencies": { - "@sentry/core": "7.28.1", - "@sentry/types": "7.28.1", - "@sentry/utils": "7.28.1", + "@sentry/core": "7.23.0", + "@sentry/types": "7.23.0", + "@sentry/utils": "7.23.0", "cookie": "^0.4.1", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", @@ -242,19 +233,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.28.1.tgz", - "integrity": "sha512-DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.23.0.tgz", + "integrity": "sha512-fZ5XfVRswVZhKoCutQ27UpIHP16tvyc6ws+xq+njHv8Jg8gFBCoOxlJxuFhegD2xxylAn1aiSHNAErFWdajbpA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.28.1.tgz", - "integrity": "sha512-75/jzLUO9HH09iC9TslNimGbxOP3jgn89P+q7uR+rp2fJfRExHVeKJZQdK0Ij4/SmE7TJ3Uh2r154N0INZEx1g==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.23.0.tgz", + "integrity": "sha512-ad/XXH03MfgDH/7N7FjKEOVaKrfQWdMaE0nCxZCr2RrvlitlmGQmPpms95epr1CpzSU3BDRImlILx6+TlrXOgg==", "dependencies": { - "@sentry/types": "7.28.1", + "@sentry/types": "7.23.0", "tslib": "^1.9.3" }, "engines": { @@ -555,12 +546,12 @@ } }, "node_modules/eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", + "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", "dependencies": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -579,7 +570,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", + "globals": "^13.15.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -836,9 +827,9 @@ } }, "node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", + "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", "dependencies": { "type-fest": "^0.20.2" }, @@ -894,9 +885,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "engines": { "node": ">= 4" } @@ -1781,14 +1772,6 @@ } }, "dependencies": { - "@devraelfreeze/discordjs-pagination": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/@devraelfreeze/discordjs-pagination/-/discordjs-pagination-2.6.8.tgz", - "integrity": "sha512-qcVyCZ2svyqbFm4EPVeRk89TDcHHD6hLYbMv0gNob+OcM1Pjcr/GTVd2tyynoU3bZDNnhEfekIHVugORxKqFjg==", - "requires": { - "discord.js": "^14.2.0" - } - }, "@discordjs/builders": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.4.0.tgz", @@ -1842,14 +1825,14 @@ "integrity": "sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==" }, "@eslint/eslintrc": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", - "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.19.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1858,9 +1841,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -1920,23 +1903,23 @@ "integrity": "sha512-Hec5N6zEkZuZFLybVKyLFLlcSgYmR6C1/+9NkIhxPwOf6tgX52ndJCSz8ADejmbrNE0VuNCNkpzhRZzenEC9vA==" }, "@sentry/core": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.28.1.tgz", - "integrity": "sha512-7wvnuvn/mrAfcugWoCG/3pqDIrUgH5t+HisMJMGw0h9Tc33KqrmqMDCQVvjlrr2pWrw/vuUCFdm8CbUHJ832oQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.23.0.tgz", + "integrity": "sha512-oNLGsscSdMs1urCbpwe868NsoJWyeTOQXOm5w2e78yE7G6zm2Ra473NQio3lweaEvjQgSGpFyEfAn/3ubZbtPw==", "requires": { - "@sentry/types": "7.28.1", - "@sentry/utils": "7.28.1", + "@sentry/types": "7.23.0", + "@sentry/utils": "7.23.0", "tslib": "^1.9.3" } }, "@sentry/node": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.28.1.tgz", - "integrity": "sha512-n7AbpJqZJjWPpKNGc55mP7AdQ+XSomS9MZJuZ+Xt2AU52aVwGPI4z9aHUJFSDGaMHHiu/toyPnoUES+XZf6/hw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.23.0.tgz", + "integrity": "sha512-w6J+5YRsQEn55508yQYT43ahMP5IHruxq8XnFqYMFZvRohVxrZ1qTz7AMoSgc8fDcHr+LKhs1PxJIqqNwkWrFA==", "requires": { - "@sentry/core": "7.28.1", - "@sentry/types": "7.28.1", - "@sentry/utils": "7.28.1", + "@sentry/core": "7.23.0", + "@sentry/types": "7.23.0", + "@sentry/utils": "7.23.0", "cookie": "^0.4.1", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", @@ -1944,16 +1927,16 @@ } }, "@sentry/types": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.28.1.tgz", - "integrity": "sha512-DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==" + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.23.0.tgz", + "integrity": "sha512-fZ5XfVRswVZhKoCutQ27UpIHP16tvyc6ws+xq+njHv8Jg8gFBCoOxlJxuFhegD2xxylAn1aiSHNAErFWdajbpA==" }, "@sentry/utils": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.28.1.tgz", - "integrity": "sha512-75/jzLUO9HH09iC9TslNimGbxOP3jgn89P+q7uR+rp2fJfRExHVeKJZQdK0Ij4/SmE7TJ3Uh2r154N0INZEx1g==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.23.0.tgz", + "integrity": "sha512-ad/XXH03MfgDH/7N7FjKEOVaKrfQWdMaE0nCxZCr2RrvlitlmGQmPpms95epr1CpzSU3BDRImlILx6+TlrXOgg==", "requires": { - "@sentry/types": "7.28.1", + "@sentry/types": "7.23.0", "tslib": "^1.9.3" } }, @@ -2180,12 +2163,12 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint": { - "version": "8.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", - "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", + "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", "requires": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -2204,7 +2187,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", + "globals": "^13.15.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -2391,9 +2374,9 @@ } }, "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", + "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", "requires": { "type-fest": "^0.20.2" } @@ -2423,9 +2406,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "import-fresh": { "version": "3.3.0", diff --git a/package.json b/package.json index 03766f6..d31c8da 100644 --- a/package.json +++ b/package.json @@ -4,13 +4,12 @@ "description": "Made with <3 by mudkipscience", "main": "index.js", "dependencies": { - "@devraelfreeze/discordjs-pagination": "^2.6.8", - "@sentry/node": "^7.28.1", + "@sentry/node": "^7.23.0", "bufferutil": "^4.0.3", "chalk": "^4.1.2", "discord.js": "^14.7.1", "erlpack": "^0.1.3", - "eslint": "^8.30.0", + "eslint": "^8.29.0", "fs-readdir-recursive": "^1.1.0", "moment": "^2.29.4", "moment-duration-format": "^2.3.2",