diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-09-01 22:19:41 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-09-01 22:19:41 -0400 |
commit | 560ed31860a420dcc43571d2e12dd2f51bcee7a8 (patch) | |
tree | 855e0cb50c550bbff63ab675e1102b7608573668 | |
parent | 855aa36c46e250fd3063eb200d784903a8c388d3 (diff) | |
download | tanzanite-560ed31860a420dcc43571d2e12dd2f51bcee7a8.tar.gz tanzanite-560ed31860a420dcc43571d2e12dd2f51bcee7a8.tar.bz2 tanzanite-560ed31860a420dcc43571d2e12dd2f51bcee7a8.zip |
cleanup
-rw-r--r-- | .gitattributes | 1 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | src/bot.ts | 2 | ||||
-rw-r--r-- | src/commands/admin/channelPermissions.ts | 2 | ||||
-rw-r--r-- | src/commands/admin/roleAll.ts | 11 | ||||
-rw-r--r-- | src/commands/dev/__template.ts | 2 | ||||
-rw-r--r-- | src/commands/dev/test.ts | 39 | ||||
-rw-r--r-- | src/commands/info/color.ts | 9 | ||||
-rw-r--r-- | src/commands/leveling/level.ts | 6 | ||||
-rw-r--r-- | src/commands/leveling/setLevel.ts (renamed from src/commands/dev/setLevel.ts) | 7 | ||||
-rw-r--r-- | src/commands/moderation/_lockdown.ts | 3 | ||||
-rw-r--r-- | src/commands/moulberry-bush/capes.ts | 12 | ||||
-rw-r--r-- | src/commands/moulberry-bush/moulHammer.ts (renamed from src/commands/moulberry-bush/moulHammerCommand.ts) | 0 | ||||
-rw-r--r-- | src/lib/utils/BushConstants.ts | 18 | ||||
-rw-r--r-- | src/tasks/removeExpiredPunishements.ts | 10 | ||||
-rw-r--r-- | yarn.lock | 74 |
16 files changed, 69 insertions, 131 deletions
diff --git a/.gitattributes b/.gitattributes index 8b659eb..ba651ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,2 @@ * text=auto eol=lf -.pnp.js linguist-generated yarn.lock linguist-generated
\ No newline at end of file @@ -39,11 +39,11 @@ BushBot is a multipurpose moderation bot developed for <a href ="https://discord <h3>Prerequisites</h3> -- <a href="https://nodejs.org/en/">Node.JS</a> v16.6.0+ +- <a href="https://nodejs.org/en/">Node.JS</a> v16.8.0+ - <a href="https://yarnpkg.com/getting-started/install">Yarn</a> - <a href="https://github.com/Automattic/node-canvas/wiki/Installation:-Windows">node-canvas</a> - <a href="https://git-scm.com/">git</a> -- <a href="https://discord.com/developers/applications">A discord bot to </a> +- <a href="https://discord.com/developers/applications">A discord bot to use</a> <h3>Steps</h3> @@ -4,5 +4,5 @@ import config from './config/options'; import { BushClient } from './lib/'; BushClient.preStart(); -const client: BushClient = new BushClient(config); +const client = new BushClient(config); void client.start(); diff --git a/src/commands/admin/channelPermissions.ts b/src/commands/admin/channelPermissions.ts index ea97343..3b8c157 100644 --- a/src/commands/admin/channelPermissions.ts +++ b/src/commands/admin/channelPermissions.ts @@ -71,7 +71,7 @@ export default class ChannelPermissionsCommand extends BushCommand { await channel.permissionOverwrites.create( target.id, { [permission]: permissionState }, - { reason: 'Changing overwrites for mass channel channel perms command' } + { reason: 'Changing overwrites for mass channel perms command' } ); } catch (e) { client.console.debug(e.stack); diff --git a/src/commands/admin/roleAll.ts b/src/commands/admin/roleAll.ts index 2382a4b..7e60f40 100644 --- a/src/commands/admin/roleAll.ts +++ b/src/commands/admin/roleAll.ts @@ -5,7 +5,7 @@ export default class RoleAllCommand extends BushCommand { public constructor() { super('roleAll', { aliases: ['roleall', 'rall'], - category: 'Server Admin', + category: 'admin', description: { content: 'Give a role to every member on the server.', usage: 'roleAll <role> [another role]... [--bots]', @@ -45,11 +45,8 @@ export default class RoleAllCommand extends BushCommand { ); } - console.time('roleAll1'); let members = await message.guild.members.fetch(); - console.timeEnd('roleAll1'); - console.time('roleAll2'); members = members.filter((member: GuildMember) => { try { if (member.user.bot && !args.bot) return false; @@ -59,21 +56,15 @@ export default class RoleAllCommand extends BushCommand { } return true; }); - console.timeEnd('roleAll2'); - console.time('roleAll3'); await message.util.reply(`${this.client.util.emojis.loading} adding roles to ${members.size} members`); console.timeEnd('roleAll3'); - console.time('roleAll4'); const promises = members.map((member: GuildMember) => { return member.roles.add(args.role, `RoleAll Command - triggered by ${message.author.tag} (${message.author.id})`); }); - console.timeEnd('roleAll4'); - console.time('roleAll5'); const failed = (await Promise.allSettled(promises)).filter((val) => val.status === 'rejected'); - console.timeEnd('roleAll5'); if (!failed.length) { await message.util.reply({ diff --git a/src/commands/dev/__template.ts b/src/commands/dev/__template.ts index 4cf407c..49549af 100644 --- a/src/commands/dev/__template.ts +++ b/src/commands/dev/__template.ts @@ -56,7 +56,7 @@ export default class TemplateCommand extends BushCommand { public override async exec( message: BushMessage | BushSlashMessage, - args: { required_argument: string; optional_argumen: string } + args: { required_argument: string; optional_argument: string } ): Promise<unknown> { return await message.util.reply(`${util.emojis.error} Do not use the template command.`); args; diff --git a/src/commands/dev/test.ts b/src/commands/dev/test.ts index bb0807b..104861f 100644 --- a/src/commands/dev/test.ts +++ b/src/commands/dev/test.ts @@ -1,5 +1,12 @@ import { BushCommand, BushMessage } from '@lib'; -import { Constants as jsConstants, MessageActionRow, MessageButton, MessageEmbed } from 'discord.js'; +import { + ApplicationCommand, + Collection, + Constants as jsConstants, + MessageActionRow, + MessageButton, + MessageEmbed +} from 'discord.js'; export default class TestCommand extends BushCommand { public constructor() { @@ -126,28 +133,18 @@ export default class TestCommand extends BushCommand { } return await message.util.reply({ content: 'this is content', components: ButtonRows, embeds }); } else if (['delete slash commands'].includes(args?.feature?.toLowerCase())) { - // let guildCommandCount = 0; - // client.guilds.cache.forEach(guild => - // guild.commands.fetch().then(commands => { - // commands.forEach(async command => { - // await command.delete(); - // guildCommandCount++; - // }); - // }) - // ); if (!message.guild) return await message.util.reply(`${util.emojis.error} This test can only be run in a guild.`); - const guildCommands = await message.guild.commands.fetch(); - // eslint-disable-next-line @typescript-eslint/no-misused-promises - guildCommands.forEach(async (command) => await command.delete()); - const globalCommands = await client.application!.commands.fetch(); - // eslint-disable-next-line @typescript-eslint/no-misused-promises - globalCommands.forEach(async (command) => await command.delete()); + await client.guilds.fetch(); + const promises: Promise<Collection<string, ApplicationCommand>>[] = []; + client.guilds.cache.each((guild) => { + promises.push(guild.commands.set([])); + }); + await Promise.all(promises); - return await message.util.reply( - `${util.emojis.success} Removed **${/* guildCommandCount */ guildCommands.size}** guild commands and **${ - globalCommands.size - }** global commands.` - ); + await client.application!.commands.fetch(); + await client.application!.commands.set([]); + + return await message.util.reply(`${util.emojis.success} Removed guild commands and global commands.`); } else if (['drop down', 'drop downs', 'select menu', 'select menus'].includes(args?.feature?.toLowerCase())) { } return await message.util.reply(responses[Math.floor(Math.random() * responses.length)]); diff --git a/src/commands/info/color.ts b/src/commands/info/color.ts index 350c23d..5268516 100644 --- a/src/commands/info/color.ts +++ b/src/commands/info/color.ts @@ -1,13 +1,13 @@ import { AllowedMentions, BushCommand, BushGuildMember, BushMessage, BushRole, BushSlashMessage } from '@lib'; import { Argument } from 'discord-akairo'; import { Message, MessageEmbed, Role } from 'discord.js'; -import { Constructor } from 'tinycolor2'; +import tinycolor from 'tinycolor2'; // this is the only way I got it to work consistently -// eslint-disable-next-line @typescript-eslint/no-var-requires -const tinycolor: Constructor = require('tinycolor2'); // this is the only way I got it to work consistently const isValidTinyColor = (_message: Message, phase: string) => { + console.dir(phase); // if the phase is a number it converts it to hex incase it could be representing a color in decimal - const newPhase = Number.isNaN(phase) ? phase : `#${Number(phase).toString(16)}`; + const newPhase = isNaN(phase as any) ? phase : `#${Number(phase).toString(16)}`; + console.dir(newPhase); return tinycolor(newPhase).isValid() ? newPhase : null; }; @@ -25,6 +25,7 @@ export default class ColorCommand extends BushCommand { { id: 'color', customType: Argument.union(isValidTinyColor, 'role', 'member'), + match: 'restContent', prompt: { start: 'What color code, role, or user would you like to find the color of?', retry: '{error} Choose a valid color, role, or member.' diff --git a/src/commands/leveling/level.ts b/src/commands/leveling/level.ts index f22ed8d..223a590 100644 --- a/src/commands/leveling/level.ts +++ b/src/commands/leveling/level.ts @@ -35,6 +35,7 @@ export default class LevelCommand extends BushCommand { } } ], + slash: true, slashOptions: [ { name: 'user', @@ -43,8 +44,9 @@ export default class LevelCommand extends BushCommand { required: false } ], - slash: true, - channel: 'guild' + channel: 'guild', + clientPermissions: ['SEND_MESSAGES'], + userPermissions: ['SEND_MESSAGES'] }); } diff --git a/src/commands/dev/setLevel.ts b/src/commands/leveling/setLevel.ts index 777ef60..be3700a 100644 --- a/src/commands/dev/setLevel.ts +++ b/src/commands/leveling/setLevel.ts @@ -5,7 +5,7 @@ export default class SetLevelCommand extends BushCommand { public constructor() { super('setlevel', { aliases: ['setlevel'], - category: 'dev', + category: 'leveling', description: { content: 'Sets the level of a user', usage: 'setlevel <user> <level>', @@ -43,9 +43,10 @@ export default class SetLevelCommand extends BushCommand { required: true } ], - ownerOnly: true, slash: true, - channel: 'guild' + channel: 'guild', + clientPermissions: ['SEND_MESSAGES'], + userPermissions: ['SEND_MESSAGES', 'ADMINISTRATOR'] }); } diff --git a/src/commands/moderation/_lockdown.ts b/src/commands/moderation/_lockdown.ts index b7bf4b2..68197df 100644 --- a/src/commands/moderation/_lockdown.ts +++ b/src/commands/moderation/_lockdown.ts @@ -28,7 +28,8 @@ export default class LockdownCommand extends BushCommand { ], channel: 'guild', clientPermissions: ['SEND_MESSAGES'], - userPermissions: ['SEND_MESSAGES'] + userPermissions: ['SEND_MESSAGES'], + hidden: true }); } diff --git a/src/commands/moulberry-bush/capes.ts b/src/commands/moulberry-bush/capes.ts index c8d1a05..447d604 100644 --- a/src/commands/moulberry-bush/capes.ts +++ b/src/commands/moulberry-bush/capes.ts @@ -49,7 +49,6 @@ export default class CapesCommand extends BushCommand { default: null } ], - clientPermissions: ['EMBED_LINKS', 'SEND_MESSAGES'], slash: true, slashOptions: [ { @@ -58,7 +57,9 @@ export default class CapesCommand extends BushCommand { type: 'STRING', required: false } - ] + ], + clientPermissions: ['EMBED_LINKS', 'SEND_MESSAGES'], + userPermissions: ['SEND_MESSAGES'] }); } @@ -73,17 +74,17 @@ export default class CapesCommand extends BushCommand { })) .filter((f) => f.match !== null); - const capes1: { name: string; url: string; index: number }[] = []; + const capes1: { name: string; url: string; index: number; purchasable?: boolean }[] = []; client.consts.mappings.capes.forEach((mapCape) => { if (!capes.some((gitCape) => gitCape.match!.groups!.name === mapCape.name) && mapCape.custom) { - capes1.push({ name: mapCape.name, url: mapCape.custom, index: mapCape.index }); + capes1.push({ name: mapCape.name, url: mapCape.custom, index: mapCape.index, purchasable: mapCape.purchasable }); } }); capes.forEach((gitCape) => { const mapCape = client.consts.mappings.capes.find((a) => a.name === gitCape.match!.groups!.name); const url = mapCape?.custom ?? `https://github.com/Moulberry/NotEnoughUpdates/raw/master/${gitCape.f.path}`; const index = mapCape?.index !== undefined ? mapCape.index : null; - capes1.push({ name: gitCape.match!.groups!.name, url, index: index! }); + capes1.push({ name: gitCape.match!.groups!.name, url, index: index!, purchasable: mapCape?.purchasable }); }); const sortedCapes = capes1.sort((a, b) => { @@ -123,6 +124,7 @@ export default class CapesCommand extends BushCommand { color: util.colors.default }).setTimestamp(); embed.setImage(capeObj.url); + if (capeObj.purchasable) embed.setDescription(':money_with_wings: **purchasable** :money_with_wings:'); embeds.push(embed); } await util.buttonPaginate(message, embeds, null); diff --git a/src/commands/moulberry-bush/moulHammerCommand.ts b/src/commands/moulberry-bush/moulHammer.ts index bc60372..bc60372 100644 --- a/src/commands/moulberry-bush/moulHammerCommand.ts +++ b/src/commands/moulberry-bush/moulHammer.ts diff --git a/src/lib/utils/BushConstants.ts b/src/lib/utils/BushConstants.ts index 17880cb..9eb96b3 100644 --- a/src/lib/utils/BushConstants.ts +++ b/src/lib/utils/BushConstants.ts @@ -333,15 +333,15 @@ export class BushConstants { // prettier-ignore capes: [ /* supporter capes */ - { name: 'patreon1', index: 0 }, - { name: 'patreon2', index: 1 }, - { name: 'fade', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/fade.gif', index: 2 }, - { name: 'lava', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/lava.gif', index: 3 }, - { name: 'mcworld', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/mcworld_compressed.gif', index: 4 }, - { name: 'negative', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/negative_compressed.gif', index: 5 }, - { name: 'space', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/space_compressed.gif', index: 6 }, - { name: 'void', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/void.gif', index: 7 }, - { name: 'tunnel', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/tunnel.gif', index: 8 }, + { name: 'patreon1', index: 0, purchasable: true }, + { name: 'patreon2', index: 1, purchasable: true }, + { name: 'fade', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/fade.gif', index: 2, purchasable: true }, + { name: 'lava', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/lava.gif', index: 3, purchasable: true }, + { name: 'mcworld', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/mcworld_compressed.gif', index: 4, purchasable: true }, + { name: 'negative', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/negative_compressed.gif', index: 5, purchasable: true }, + { name: 'space', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/space_compressed.gif', index: 6, purchasable: true }, + { name: 'void', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/void.gif', index: 7, purchasable: true }, + { name: 'tunnel', custom: 'https://raw.githubusercontent.com/NotEnoughUpdates/capes/master/tunnel.gif', index: 8, purchasable: true }, /* Staff capes */ { name: 'contrib', index: 9 }, { name: 'mbstaff', index: 10 }, diff --git a/src/tasks/removeExpiredPunishements.ts b/src/tasks/removeExpiredPunishements.ts index 69130ee..49267f5 100644 --- a/src/tasks/removeExpiredPunishements.ts +++ b/src/tasks/removeExpiredPunishements.ts @@ -12,13 +12,9 @@ export default class RemoveExpiredPunishmentsTask extends BushTask { public override async exec(): Promise<void> { const expiredEntries = await ActivePunishment.findAll({ where: { - [Op.and]: [ - { - expires: { - [Op.lt]: new Date() // Find all rows with an expiry date before now - } - } - ] + expires: { + [Op.lt]: new Date() // Find all rows with an expiry date before now + } } }); @@ -674,12 +674,12 @@ __metadata: linkType: hard "are-we-there-yet@npm:~1.1.2": - version: 1.1.5 - resolution: "are-we-there-yet@npm:1.1.5" + version: 1.1.6 + resolution: "are-we-there-yet@npm:1.1.6" dependencies: delegates: ^1.0.0 - readable-stream: ^2.0.6 - checksum: 9a746b1dbce4122f44002b0c39fbba5b2c6f52c00e88b6ccba6fc68652323f8a1355a20e8ab94846995626d8de3bf67669a3b4a037dff0885db14607168f2b15 + readable-stream: ^3.6.0 + checksum: 15b400834f96b2b7133114065e460baa130cc21a745cd025d53b13210ecb7bf78d415f8d9b4a5d71c5d15edac3de29775eb90f4bd832029f8c683402569ba4cc languageName: node linkType: hard @@ -1000,13 +1000,6 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.2": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -1117,12 +1110,12 @@ discord-akairo-message-util@NotEnoughUpdates/discord-akairo-message-util: discord-akairo@NotEnoughUpdates/discord-akairo: version: 8.2.2 - resolution: "discord-akairo@https://github.com/NotEnoughUpdates/discord-akairo.git#commit=11b02374dfe1f2f9c0487f2bb8e4f9fbf7c148a4" + resolution: "discord-akairo@https://github.com/NotEnoughUpdates/discord-akairo.git#commit=2ca72790fc848043d47427e833962ee5d0396b44" dependencies: discord-akairo-message-util: NotEnoughUpdates/discord-akairo-message-util lodash: ^4.17.21 source-map-support: ^0.5.19 - checksum: 2edc0da34e5d8804ea92a6f2a0bd566738ae931ef3583bb475204bba1e6a218ec72b27d144c2f7132963504748d2679c39d9deff0f0005dace946cc9473d83bb + checksum: 895a74fd488b079fc215783bf1733215bd955b13a1d93257a6020c4465dd548177c7a72fafa271104dc1f307321939512474347bbb864f3022f6ca9a6f2f6d41 languageName: node linkType: hard @@ -1142,7 +1135,7 @@ discord-akairo@NotEnoughUpdates/discord-akairo: discord.js@NotEnoughUpdates/discord.js: version: 13.2.0-dev - resolution: "discord.js@https://github.com/NotEnoughUpdates/discord.js.git#commit=b3c676e3286dd3ce39f63231216d2e480e28b567" + resolution: "discord.js@https://github.com/NotEnoughUpdates/discord.js.git#commit=4c981f51baf076b72adc0da29cadcb8302b61f6e" dependencies: "@discordjs/builders": ^0.5.0 "@discordjs/collection": ^0.2.1 @@ -1152,7 +1145,7 @@ discord.js@NotEnoughUpdates/discord.js: discord-api-types: ^0.22.0 node-fetch: ^2.6.1 ws: ^7.5.1 - checksum: 730499fb8c30f648343abdda44d12767819da80a55deb9358942ef9a63280fe354c2b2a638cef9bd5ac946e5efc2f87f29b3a03e6f43d150a3618b252aef445e + checksum: b37b9f28001a545b874ebef34d58c526eb6b517e63acb84f8e5da0a2f7fc3c3d0007406919b7d03773a2eae9aa6f2c85693f4b21e1ec7df7995936f3fdd01449 languageName: node linkType: hard @@ -1800,7 +1793,7 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -1874,13 +1867,6 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -2592,13 +2578,6 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf - languageName: node - linkType: hard - "progress@npm:^2.0.0": version: 2.0.3 resolution: "progress@npm:2.0.3" @@ -2654,22 +2633,7 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"readable-stream@npm:^2.0.6": - version: 2.3.7 - resolution: "readable-stream@npm:2.3.7" - dependencies: - core-util-is: ~1.0.0 - inherits: ~2.0.3 - isarray: ~1.0.0 - process-nextick-args: ~2.0.0 - safe-buffer: ~5.1.1 - string_decoder: ~1.1.1 - util-deprecate: ~1.0.1 - checksum: e4920cf7549a60f8aaf694d483a0e61b2a878b969d224f89b3bc788b8d920075132c4b55a7494ee944c7b6a9a0eada28a7f6220d80b0312ece70bbf08eeca755 - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.0": +"readable-stream@npm:^3.0.0, readable-stream@npm:^3.6.0": version: 3.6.0 resolution: "readable-stream@npm:3.6.0" dependencies: @@ -2767,13 +2731,6 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c - languageName: node - linkType: hard - "safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" @@ -3040,15 +2997,6 @@ discord.js@NotEnoughUpdates/discord.js: languageName: node linkType: hard -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: ~5.1.0 - checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b - languageName: node - linkType: hard - "strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": version: 3.0.1 resolution: "strip-ansi@npm:3.0.1" @@ -3289,7 +3237,7 @@ typescript@^4.4.2: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 |