mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 15:07:42 +02:00
44 lines
1.9 KiB
JavaScript
44 lines
1.9 KiB
JavaScript
const Command = require('../../framework/Command');
|
||
const { EmbedBuilder, version: djsVersion, PermissionFlagsBits } = require('discord.js');
|
||
const moment = require('moment');
|
||
require('moment-duration-format');
|
||
const os = require('os');
|
||
const { formatNumber, embedURL } = require('../../util/Util');
|
||
const { version } = require('../../package');
|
||
const copyright = require('../../assets/json/copyright');
|
||
|
||
module.exports = class InfoCommand extends Command {
|
||
constructor(client) {
|
||
super(client, {
|
||
name: 'info',
|
||
aliases: ['stats', 'uptime', 'prefix', 'invite'],
|
||
group: 'util-public',
|
||
description: 'Responds with detailed bot information.',
|
||
guarded: true,
|
||
clientPermissions: [PermissionFlagsBits.EmbedLinks]
|
||
});
|
||
}
|
||
|
||
run(msg) {
|
||
const invite = this.client.generateInvite({ permissions: [PermissionFlagsBits.Administrator], scopes: ['bot'] });
|
||
const prefix = msg.guild ? msg.guild.commandPrefix : this.client.commandPrefix;
|
||
const embed = new EmbedBuilder()
|
||
.setColor(0x00AE86)
|
||
.setFooter({ text: copyright.join('\n') })
|
||
.addField('❯ Servers', formatNumber(this.client.guilds.cache.size), true)
|
||
.addField('❯ Commands', formatNumber(this.client.registry.commands.size), true)
|
||
.addField('❯ Total Usage', formatNumber(this.client.registry.totalUses), true)
|
||
.addField('❯ Home Server',
|
||
this.client.options.invite ? embedURL('Invite', this.client.options.invite) : 'None', true)
|
||
.addField('❯ Invite', embedURL('Add Me', invite), true)
|
||
.addField('❯ Prefix', prefix || 'None', true)
|
||
.addField('❯ Memory Usage', `${Math.round(process.memoryUsage().heapUsed / 1024 / 1024)}MB`, true)
|
||
.addField('❯ Uptime', moment.duration(this.client.uptime).format('d:hh:mm:ss'), true)
|
||
.addField('❯ Version', `v${version}`, true)
|
||
.addField('❯ Node.js', process.version, true)
|
||
.addField('❯ Discord.js', `v${djsVersion}`, true)
|
||
.addField('❯ OS', os.platform(), true);
|
||
return msg.embed(embed);
|
||
}
|
||
};
|