Unit_AI/commands/interactions/ping.js
2024-06-01 16:24:36 -04:00

63 lines
No EOL
2.1 KiB
JavaScript

const Discord = require('discord.js');
const os = require('node:os');
const func = require('../../utils/functions');
const config = require('../../configs/config.json');
module.exports = {
data: new Discord.SlashCommandBuilder()
.setName("ping")
.setDescription("Shows the bot\'s latency.")
.addStringOption(option => option
.setName('ephemeral')
.setDescription('Hides the bot\'s reply from others. (Default: Disable)')
.addChoices(
{
name: 'Enable',
value: 'Enable'
},
{
name: 'Disable',
value: 'Disable'
}
)
),
async execute(client, interaction) {
const ephemeralChoice = interaction.options.getString('ephemeral');
const ephemeral = ephemeralChoice === 'Enable' ? true : false;
await interaction.deferReply({ ephemeral: ephemeral });
const embed = new Discord.EmbedBuilder()
.setColor(config.MainColor)
.setAuthor({
name: `Pong!`,
iconURL: client.user.displayAvatarURL({ size: 1024 })
})
.addFields(
{
name: `📡 Ping:`,
value: `${client.ws.ping}ms`,
inline: true
},
{
name: `💾 Memory:`,
value: `${func.numberWithCommas(Math.round((process.memoryUsage().rss / 1024 / 1024)))}/${func.numberWithCommas(Math.round(os.totalmem() / 1024 / 1024))}MB`,
inline: true
},
{
name: `⏳ Uptime:`,
value: func.timestamp(client.readyTimestamp),
inline: false
},
)
.setFooter({
text: `Commanded by ${interaction.user.tag}`,
iconURL: interaction.user.displayAvatarURL({ size: 1024 })
});
await interaction.editReply({ embeds: [embed] });
},
};