aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-05-24 18:29:57 -0400
committerIRONM00N <64110067+IRONM00N@users.noreply.github.com>2022-05-24 18:29:57 -0400
commit9f5d9da2a37ecfec412b149ec7dc385ab7b6a98c (patch)
tree4b95a06ff6991207ab8b8e93f0bca26e24a97f80
parent6b8115ab1ec94d4330019fc7a93e094d9d64c48e (diff)
downloadtanzanite-9f5d9da2a37ecfec412b149ec7dc385ab7b6a98c.tar.gz
tanzanite-9f5d9da2a37ecfec412b149ec7dc385ab7b6a98c.tar.bz2
tanzanite-9f5d9da2a37ecfec412b149ec7dc385ab7b6a98c.zip
fix: breaking changes
-rw-r--r--package.json38
-rw-r--r--src/commands/admin/roleAll.ts2
-rw-r--r--src/commands/config/config.ts20
-rw-r--r--src/commands/config/features.ts4
-rw-r--r--src/commands/dev/eval.ts10
-rw-r--r--src/commands/dev/javascript.ts12
-rw-r--r--src/commands/dev/sh.ts12
-rw-r--r--src/commands/dev/test.ts18
-rw-r--r--src/commands/info/botInfo.ts58
-rw-r--r--src/commands/info/color.ts10
-rw-r--r--src/commands/info/guildInfo.ts8
-rw-r--r--src/commands/info/help.ts34
-rw-r--r--src/commands/info/links.ts6
-rw-r--r--src/commands/info/ping.ts17
-rw-r--r--src/commands/info/snowflake.ts15
-rw-r--r--src/commands/info/userInfo.ts20
-rw-r--r--src/commands/leveling/levelRoles.ts2
-rw-r--r--src/commands/moulberry-bush/report.ts42
-rw-r--r--src/commands/moulberry-bush/rule.ts5
-rw-r--r--src/commands/moulberry-bush/serverStatus.ts14
-rw-r--r--src/commands/utilities/calculator.ts16
-rw-r--r--src/commands/utilities/decode.ts14
-rw-r--r--src/commands/utilities/highlight-show.ts36
-rw-r--r--src/commands/utilities/price.ts26
-rw-r--r--src/commands/utilities/suicide.ts36
-rw-r--r--src/commands/utilities/wolframAlpha.ts18
-rw-r--r--src/lib/common/AutoMod.ts18
-rw-r--r--src/lib/common/ButtonPaginator.ts4
-rw-r--r--src/lib/common/ConfirmationPrompt.ts4
-rw-r--r--src/lib/common/DeleteButton.ts4
-rw-r--r--src/lib/common/util/Moderation.ts2
-rw-r--r--src/lib/extensions/discord-akairo/BushClientUtil.ts8
-rw-r--r--src/lib/extensions/discord-akairo/BushCommand.ts4
-rw-r--r--src/lib/extensions/discord.js/BushGuild.ts22
-rw-r--r--src/lib/extensions/discord.js/BushGuildMember.ts52
-rw-r--r--src/lib/extensions/discord.js/BushGuildMemberManager.ts8
-rw-r--r--src/lib/extensions/discord.js/BushThreadManager.ts12
-rw-r--r--src/lib/extensions/discord.js/BushThreadMemberManager.ts7
-rw-r--r--src/lib/extensions/discord.js/other.ts17
-rw-r--r--src/listeners/bush/appealListener.ts19
-rw-r--r--src/listeners/bush/joinAutoBan.ts2
-rw-r--r--src/listeners/bush/supportThread.ts2
-rw-r--r--src/listeners/bush/userUpdateAutoBan.ts2
-rw-r--r--src/listeners/commands/commandError.ts2
-rw-r--r--src/listeners/guild-custom/bushLockdown.ts20
-rw-r--r--src/listeners/guild-custom/bushUnlockdown.ts20
-rw-r--r--src/listeners/guild/guildMemberAdd.ts4
-rw-r--r--src/listeners/member-custom/bushBan.ts14
-rw-r--r--src/listeners/member-custom/bushBlock.ts16
-rw-r--r--src/listeners/member-custom/bushKick.ts12
-rw-r--r--src/listeners/member-custom/bushMute.ts14
-rw-r--r--src/listeners/member-custom/bushPunishRole.ts12
-rw-r--r--src/listeners/member-custom/bushPunishRoleRemove.ts12
-rw-r--r--src/listeners/member-custom/bushPurge.ts20
-rw-r--r--src/listeners/member-custom/bushRemoveTimeout.ts12
-rw-r--r--src/listeners/member-custom/bushTimeout.ts14
-rw-r--r--src/listeners/member-custom/bushUnban.ts12
-rw-r--r--src/listeners/member-custom/bushUnblock.ts14
-rw-r--r--src/listeners/member-custom/bushUnmute.ts12
-rw-r--r--src/listeners/member-custom/bushUpdateModlog.ts14
-rw-r--r--src/listeners/member-custom/bushUpdateSettings.ts13
-rw-r--r--src/listeners/member-custom/bushWarn.ts12
-rw-r--r--src/listeners/message/directMessage.ts2
-rw-r--r--src/listeners/track-manual-punishments/modlogSyncBan.ts14
-rw-r--r--src/listeners/track-manual-punishments/modlogSyncKick.ts14
-rw-r--r--src/listeners/track-manual-punishments/modlogSyncTimeout.ts12
-rw-r--r--src/listeners/track-manual-punishments/modlogSyncUnban.ts12
-rw-r--r--src/listeners/ws/INTERACTION_CREATE.ts26
-rw-r--r--yarn.lock797
69 files changed, 950 insertions, 856 deletions
diff --git a/package.json b/package.json
index e5fb508..f22479e 100644
--- a/package.json
+++ b/package.json
@@ -60,22 +60,22 @@
"@notenoughupdates/humanize-duration": "^4.0.1",
"@notenoughupdates/simplify-number": "^1.0.1",
"@notenoughupdates/wolfram-alpha-api": "^1.0.1",
- "@sentry/integrations": "^6.19.6",
- "@sentry/node": "^6.19.6",
- "@sentry/tracing": "^6.19.6",
+ "@sentry/integrations": "^6.19.7",
+ "@sentry/node": "^6.19.7",
+ "@sentry/tracing": "^6.19.7",
"canvas": "^2.9.1",
"chalk": "^5.0.1",
"common-tags": "^1.8.2",
"deep-lock": "^1.0.0",
"discord-akairo": "npm:@notenoughupdates/discord-akairo@dev",
- "discord-api-types": "0.31.2",
+ "discord-api-types": "0.33.0",
"discord.js": "npm:@notenoughupdates/discord.js@dev",
- "fuse.js": "^6.5.3",
+ "fuse.js": "^6.6.2",
"googleapis": "^100.0.0",
- "got": "^12.0.3",
+ "got": "^12.0.4",
"lodash": "^4.17.21",
- "mathjs": "^10.5.0",
- "nanoid": "^3.3.3",
+ "mathjs": "^10.5.3",
+ "nanoid": "^3.3.4",
"node-os-utils": "^1.3.6",
"numeral": "^2.0.6",
"pg": "^8.7.3",
@@ -83,33 +83,33 @@
"prettier": "^2.6.2",
"pretty-bytes": "^6.0.0",
"rimraf": "^3.0.2",
- "sequelize": "6.19.0",
+ "sequelize": "6.20.0",
"tinycolor2": "^1.4.2",
- "typescript": "^4.6.3",
+ "typescript": "^4.6.4",
"vm2": "^3.9.9"
},
"devDependencies": {
- "@sapphire/snowflake": "^3.2.1",
- "@sentry/types": "^6.19.6",
+ "@sapphire/snowflake": "^3.2.2",
+ "@sentry/types": "^6.19.7",
"@types/common-tags": "^1.8.1",
- "@types/eslint": "^8.4.1",
+ "@types/eslint": "^8.4.2",
"@types/express": "^4.17.13",
"@types/lodash": "^4.14.182",
- "@types/node": "^17.0.25",
+ "@types/node": "^17.0.35",
"@types/node-os-utils": "^1.2.0",
"@types/numeral": "^2.0.2",
"@types/pg": "^8.6.5",
- "@types/prettier": "^2.6.0",
+ "@types/prettier": "^2.6.1",
"@types/rimraf": "^3.0.2",
"@types/tinycolor2": "^1.4.3",
"@types/validator": "^13.7.2",
- "@typescript-eslint/eslint-plugin": "^5.20.0",
- "@typescript-eslint/parser": "^5.20.0",
- "eslint": "^8.13.0",
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
+ "@typescript-eslint/parser": "^5.26.0",
+ "eslint": "^8.16.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-deprecation": "^1.3.2",
"eslint-plugin-import": "^2.26.0",
- "node-fetch": "^3.2.3"
+ "node-fetch": "^3.2.4"
},
"packageManager": "yarn@3.2.0",
"resolutions": {
diff --git a/src/commands/admin/roleAll.ts b/src/commands/admin/roleAll.ts
index a701998..cc5e7b4 100644
--- a/src/commands/admin/roleAll.ts
+++ b/src/commands/admin/roleAll.ts
@@ -43,7 +43,7 @@ export default class RoleAllCommand extends BushCommand {
return await message.util.reply(`${util.emojis.error} You must have admin perms to use this command.`);
if (message.util.isSlashMessage(message)) await message.interaction.deferReply();
- if (args.role.comparePositionTo(message.guild.me!.roles.highest) >= 0 && !args.role) {
+ if (args.role.comparePositionTo(message.guild.members.me!.roles.highest) >= 0 && !args.role) {
return await message.util.reply(`${util.emojis.error} I cannot assign a role higher or equal to my highest role.`);
}
diff --git a/src/commands/config/config.ts b/src/commands/config/config.ts
index c1dd142..e203d12 100644
--- a/src/commands/config/config.ts
+++ b/src/commands/config/config.ts
@@ -316,10 +316,10 @@ export default class ConfigCommand extends BushCommand {
const desc = settingsArr.map((s) => `:wrench: **${guildSettingsObj[s].name}**`).join('\n');
settingsEmbed.setDescription(desc);
- const selMenu = new ActionRowBuilder<SelectMenuBuilder>().addComponents(
+ const selMenu = new ActionRowBuilder<SelectMenuBuilder>().addComponents([
new SelectMenuBuilder()
.addOptions(
- ...settingsArr.map((s) =>
+ settingsArr.map((s) =>
new UnsafeSelectMenuOptionBuilder()
.setLabel(guildSettingsObj[s].name)
.setValue(s)
@@ -330,7 +330,7 @@ export default class ConfigCommand extends BushCommand {
.setMaxValues(1)
.setMinValues(1)
.setCustomId('command_settingsSel')
- );
+ ]);
return { embeds: [settingsEmbed], components: [selMenu] };
} else {
settingsEmbed.setTitle(guildSettingsObj[setting].name);
@@ -363,9 +363,9 @@ export default class ConfigCommand extends BushCommand {
: '[No Value Set]';
};
- const components = new ActionRowBuilder<ButtonBuilder>().addComponents(
+ const components = new ActionRowBuilder<ButtonBuilder>().addComponents([
new ButtonBuilder({ style: ButtonStyle.Primary, customId: 'command_settingsBack', label: 'Back' })
- );
+ ]);
settingsEmbed.setDescription(
`${Formatters.italic(guildSettingsObj[setting].description)}\n\n**Type:** ${guildSettingsObj[setting].type}`
);
@@ -375,10 +375,12 @@ export default class ConfigCommand extends BushCommand {
message.util.isSlash ? snakeCase(setting) : setting
} ${guildSettingsObj[setting].type.includes('-array') ? 'add/remove' : 'set'} <value>" to set this setting.`
});
- settingsEmbed.addFields({
- name: 'value',
- value: (await generateCurrentValue(guildSettingsObj[setting].type)) || '[No Value Set]'
- });
+ settingsEmbed.addFields([
+ {
+ name: 'value',
+ value: (await generateCurrentValue(guildSettingsObj[setting].type)) || '[No Value Set]'
+ }
+ ]);
return { embeds: [settingsEmbed], components: [components] };
}
}
diff --git a/src/commands/config/features.ts b/src/commands/config/features.ts
index 5218bcf..2eee0fe 100644
--- a/src/commands/config/features.ts
+++ b/src/commands/config/features.ts
@@ -84,7 +84,7 @@ export default class FeaturesCommand extends BushCommand {
}
public generateComponents(guildFeatures: GuildFeatures[], disable: boolean) {
- return new ActionRowBuilder<SelectMenuBuilder>().addComponents(
+ return new ActionRowBuilder<SelectMenuBuilder>().addComponents([
new SelectMenuBuilder({
customId: 'command_selectFeature',
disabled: disable,
@@ -98,6 +98,6 @@ export default class FeaturesCommand extends BushCommand {
description: guildFeaturesObj[f].description
}))
})
- );
+ ]);
}
}
diff --git a/src/commands/dev/eval.ts b/src/commands/dev/eval.ts
index a32aa8e..0f53198 100644
--- a/src/commands/dev/eval.ts
+++ b/src/commands/dev/eval.ts
@@ -260,8 +260,8 @@ export default class EvalCommand extends BushCommand {
embed.setTimestamp();
- if (inputTS) embed.addFields({ name: ':inbox_tray: Input (typescript)', value: inputTS });
- embed.addFields({ name: `:inbox_tray: Input${inputTS ? ' (transpiled javascript)' : ''}`, value: inputJS });
+ if (inputTS) embed.addFields([{ name: ':inbox_tray: Input (typescript)', value: inputTS }]);
+ embed.addFields([{ name: `:inbox_tray: Input${inputTS ? ' (transpiled javascript)' : ''}`, value: inputJS }]);
const output = await this.codeblock(rawResult, 'js', {
depth: selDepth ?? 0,
@@ -276,10 +276,10 @@ export default class EvalCommand extends BushCommand {
embed
.setTitle(`${emojis[err ? 'errorFull' : 'successFull']} ${err ? 'Uns' : 'S'}uccessfully Evaluated Expression`)
.setColor(colors[err ? 'error' : 'success'])
- .addFields({ name: `:outbox_tray: ${err ? 'Error' : 'Output'}`, value: output });
+ .addFields([{ name: `:outbox_tray: ${err ? 'Error' : 'Output'}`, value: output }]);
- if (!err && methods) embed.addFields({ name: ':wrench: Methods', value: methods });
- if (!err && proto) embed.addFields({ name: ':gear: Proto', value: proto });
+ if (!err && methods) embed.addFields([{ name: ':wrench: Methods', value: methods }]);
+ if (!err && proto) embed.addFields([{ name: ':gear: Proto', value: proto }]);
if (!silent || message.util.isSlashMessage(message)) {
await message.util.reply({ content: null, embeds: [embed] });
diff --git a/src/commands/dev/javascript.ts b/src/commands/dev/javascript.ts
index 046d9ab..d25b790 100644
--- a/src/commands/dev/javascript.ts
+++ b/src/commands/dev/javascript.ts
@@ -67,12 +67,16 @@ export default class JavascriptCommand extends BushCommand {
});
embed.setTitle(`${util.emojis.successFull} Successfully Evaluated Expression`).setColor(util.colors.success);
- embed.addFields({ name: '📥 Input', value: input });
- embed.addFields({ name: '📤 Output', value: output });
+ embed.addFields([
+ { name: '📥 Input', value: input },
+ { name: '📤 Output', value: output }
+ ]);
} catch (e) {
embed.setTitle(`${util.emojis.errorFull} Unable to Evaluate Expression`).setColor(util.colors.error);
- embed.addFields({ name: '📥 Input', value: input });
- embed.addFields({ name: '📤 Error', value: await util.inspectCleanRedactCodeblock(e, 'js') });
+ embed.addFields([
+ { name: '📥 Input', value: input },
+ { name: '📤 Error', value: await util.inspectCleanRedactCodeblock(e, 'js') }
+ ]);
}
embed.setTimestamp().setFooter({ text: message.author.tag, iconURL: message.author.displayAvatarURL() ?? undefined });
diff --git a/src/commands/dev/sh.ts b/src/commands/dev/sh.ts
index f3fe86b..be6a015 100644
--- a/src/commands/dev/sh.ts
+++ b/src/commands/dev/sh.ts
@@ -50,8 +50,10 @@ export default class ShCommand extends BushCommand {
.setFooter({ text: message.author.tag, iconURL: message.author.avatarURL() ?? undefined })
.setTimestamp()
.setTitle('Shell Command')
- .addFields({ name: '📥 Input', value: await util.codeblock(input, 1024, 'sh', true) })
- .addFields({ name: 'Running', value: util.emojis.loading });
+ .addFields([
+ { name: '📥 Input', value: await util.codeblock(input, 1024, 'sh', true) },
+ { name: 'Running', value: util.emojis.loading }
+ ]);
await message.util.reply({ embeds: [embed] });
@@ -72,15 +74,15 @@ export default class ShCommand extends BushCommand {
.setColor(util.colors.success)
.spliceFields(1, 1);
- if (stdout) embed.addFields({ name: '📤 stdout', value: await util.codeblock(stdout, 1024, 'json', true) });
- if (stderr) embed.addFields({ name: '📤 stderr', value: await util.codeblock(stderr, 1024, 'json', true) });
+ if (stdout) embed.addFields([{ name: '📤 stdout', value: await util.codeblock(stdout, 1024, 'json', true) }]);
+ if (stderr) embed.addFields([{ name: '📤 stderr', value: await util.codeblock(stderr, 1024, 'json', true) }]);
} catch (e) {
embed
.setTitle(`${util.emojis.errorFull} An error occurred while executing.`)
.setColor(util.colors.error)
.spliceFields(1, 1);
- embed.addFields({ name: '📤 Output', value: await util.codeblock(e?.stack, 1024, 'js', true) });
+ embed.addFields([{ name: '📤 Output', value: await util.codeblock(e?.stack, 1024, 'js', true) }]);
}
await message.util.edit({ embeds: [embed] });
}
diff --git a/src/commands/dev/test.ts b/src/commands/dev/test.ts
index deca6f1..9365107 100644
--- a/src/commands/dev/test.ts
+++ b/src/commands/dev/test.ts
@@ -52,17 +52,17 @@ export default class TestCommand extends BushCommand {
}
if (['button', 'buttons'].includes(args?.feature?.toLowerCase())) {
- const buttonRow = new ActionRowBuilder<ButtonBuilder>().addComponents(
+ const buttonRow = new ActionRowBuilder<ButtonBuilder>().addComponents([
new ButtonBuilder({ style: ButtonStyle.Primary, customId: 'primaryButton', label: 'Primary' }),
new ButtonBuilder({ style: ButtonStyle.Secondary, customId: 'secondaryButton', label: 'Secondary' }),
new ButtonBuilder({ style: ButtonStyle.Success, customId: 'successButton', label: 'Success' }),
new ButtonBuilder({ style: ButtonStyle.Danger, customId: 'dangerButton', label: 'Danger' }),
new ButtonBuilder({ style: ButtonStyle.Link, label: 'Link', url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' })
- );
+ ]);
return await message.util.reply({ content: 'buttons', components: [buttonRow] });
} else if (['embed', 'button embed'].includes(args?.feature?.toLowerCase())) {
const embed = new EmbedBuilder()
- .addFields({ name: 'Field Name', value: 'Field Content' })
+ .addFields([{ name: 'Field Name', value: 'Field Content' }])
.setAuthor({ name: 'Author', iconURL: 'https://www.w3schools.com/w3css/img_snowtops.jpg', url: 'https://google.com/' })
.setColor(message.member?.displayColor ?? util.colors.default)
.setDescription('Description')
@@ -75,9 +75,9 @@ export default class TestCommand extends BushCommand {
)
.setTitle('Title');
- const buttonRow = new ActionRowBuilder<ButtonBuilder>().addComponents(
+ const buttonRow = new ActionRowBuilder<ButtonBuilder>().addComponents([
new ButtonBuilder({ style: ButtonStyle.Link, label: 'Link', url: 'https://google.com/' })
- );
+ ]);
return await message.util.reply({ content: 'Test', embeds: [embed], components: [buttonRow] });
} else if (['lots of buttons'].includes(args?.feature?.toLowerCase())) {
const buttonRows: ActionRowBuilder<ButtonBuilder>[] = [];
@@ -86,7 +86,7 @@ export default class TestCommand extends BushCommand {
for (let b = 1; b <= 5; b++) {
const id = (a + 5 * (b - 1)).toString();
const button = new ButtonBuilder({ style: ButtonStyle.Primary, customId: id, label: id });
- row.addComponents(button);
+ row.addComponents([button]);
}
buttonRows.push(row);
}
@@ -118,7 +118,7 @@ export default class TestCommand extends BushCommand {
for (let b = 1; b <= 5; b++) {
const id = (a + 5 * (b - 1)).toString();
const button = new ButtonBuilder({ style: ButtonStyle.Secondary, customId: id, label: id });
- row.addComponents(button);
+ row.addComponents([button]);
}
ButtonRows.push(row);
}
@@ -149,9 +149,9 @@ export default class TestCommand extends BushCommand {
const m = await message.util.reply({
content: 'Click for modal',
components: [
- new ActionRowBuilder<ButtonBuilder>().addComponents(
+ new ActionRowBuilder<ButtonBuilder>().addComponents([
new ButtonBuilder({ style: ButtonStyle.Primary, label: 'Modal', customId: 'test;modal' })
- )
+ ])
]
});
diff --git a/src/commands/info/botInfo.ts b/src/commands/info/botInfo.ts
index 1ea54f3..3338824 100644
--- a/src/commands/info/botInfo.ts
+++ b/src/commands/info/botInfo.ts
@@ -41,34 +41,36 @@ export default class BotInfoCommand extends BushCommand {
if (repoUrl.includes('.git')) repoUrl = repoUrl.substring(0, repoUrl.length - 4);
const embed = new EmbedBuilder()
.setTitle('Bot Info:')
- .addFields({ name: '**Uptime**', value: util.humanizeDuration(client.uptime!, 2), inline: true })
- .addFields({
- name: '**Memory Usage**',
- value: `System: ${prettyBytes(os.totalmem() - os.freemem(), { binary: true })}/${prettyBytes(os.totalmem(), {
- binary: true
- })}\nHeap: ${prettyBytes(process.memoryUsage().heapUsed, { binary: true })}/${prettyBytes(
- process.memoryUsage().heapTotal,
- { binary: true }
- )}`,
- inline: true
- })
- .addFields({ name: '**CPU Usage**', value: `${client.stats.cpu}%`, inline: true })
- .addFields({ name: '**Platform**', value: Platform[process.platform], inline: true })
- .addFields({ name: '**Commands Used**', value: `${client.stats.commandsUsed.toLocaleString()}`, inline: true })
- .addFields({ name: '**Servers**', value: client.guilds.cache.size.toLocaleString(), inline: true })
- .addFields({ name: '**Users**', value: client.users.cache.size.toLocaleString(), inline: true })
- .addFields({ name: '**Discord.js Version**', value: discordJSVersion, inline: true })
- .addFields({ name: '**Node.js Version**', value: process.version.slice(1), inline: true })
- .addFields({ name: '**Commands**', value: client.commandHandler.modules.size.toLocaleString(), inline: true })
- .addFields({ name: '**Listeners**', value: client.listenerHandler.modules.size.toLocaleString(), inline: true })
- .addFields({ name: '**Inhibitors**', value: client.inhibitorHandler.modules.size.toLocaleString(), inline: true })
- .addFields({ name: '**Tasks**', value: client.taskHandler.modules.size.toLocaleString(), inline: true })
- .addFields({
- name: '**Current Commit**',
- value: `[${currentCommit.substring(0, 7)}](${repoUrl}/commit/${currentCommit})`,
- inline: true
- })
- .addFields({ name: '**Developers**', value: developers, inline: true })
+ .addFields([
+ { name: '**Uptime**', value: util.humanizeDuration(client.uptime!, 2), inline: true },
+ {
+ name: '**Memory Usage**',
+ value: `System: ${prettyBytes(os.totalmem() - os.freemem(), { binary: true })}/${prettyBytes(os.totalmem(), {
+ binary: true
+ })}\nHeap: ${prettyBytes(process.memoryUsage().heapUsed, { binary: true })}/${prettyBytes(
+ process.memoryUsage().heapTotal,
+ { binary: true }
+ )}`,
+ inline: true
+ },
+ { name: '**CPU Usage**', value: `${client.stats.cpu}%`, inline: true },
+ { name: '**Platform**', value: Platform[process.platform], inline: true },
+ { name: '**Commands Used**', value: `${client.stats.commandsUsed.toLocaleString()}`, inline: true },
+ { name: '**Servers**', value: client.guilds.cache.size.toLocaleString(), inline: true },
+ { name: '**Users**', value: client.users.cache.size.toLocaleString(), inline: true },
+ { name: '**Discord.js Version**', value: discordJSVersion, inline: true },
+ { name: '**Node.js Version**', value: process.version.slice(1), inline: true },
+ { name: '**Commands**', value: client.commandHandler.modules.size.toLocaleString(), inline: true },
+ { name: '**Listeners**', value: client.listenerHandler.modules.size.toLocaleString(), inline: true },
+ { name: '**Inhibitors**', value: client.inhibitorHandler.modules.size.toLocaleString(), inline: true },
+ { name: '**Tasks**', value: client.taskHandler.modules.size.toLocaleString(), inline: true },
+ {
+ name: '**Current Commit**',
+ value: `[${currentCommit.substring(0, 7)}](${repoUrl}/commit/${currentCommit})`,
+ inline: true
+ },
+ { name: '**Developers**', value: developers, inline: true }
+ ])
.setTimestamp()
.setColor(util.colors.default);
await message.util.reply({ embeds: [embed] });