const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const UserInfoCommand = new SlashCommandBuilder()
.setName('userinfo')
.setDescription('Mira la informacion de un usuario')
.addUserOption(option =>
option.setName('usuario')
.setDescription('Usuario para mostrar la info')
.setRequired(false)
);
async function execute (interaction) {
const user = interaction.options.getUser('usuario') || interaction.user;
const member = interaction.guild.members.cache.get(user.id);
const embed = new EmbedBuilder()
.setColor('#00FF00')
.setTitle(`👤 Información de ${user.tag}`)
.setThumbnail(user.displayAvatarURL({ dynamic: true }))
.addFields(
{ name: '🆔 ID', value: user.id, inline: true },
{ name: '👤 Usuario', value: user.tag, inline: true },
{ name: '🤖 Bot', value: user.bot ? 'Sí' : 'No', inline: true },
{ name: '📅 Cuenta Creada', value: `<t:${Math.floor(user.createdTimestamp / 1000)}:R>`, inline: true }
)
.setFooter({ text: `Solicitado por ${interaction.user.tag}` })
.setTimestamp();
if (member) {
embed.addFields(
{ name: '📥 Se Unió al Servidor', value: `<t:${Math.floor(member.joinedTimestamp / 1000)}:R>`, inline: true },
{ name: '🎭 Roles', value: member.roles.cache.size > 1 ? member.roles.cache.filter(r => r.id !== interaction.guild.id).map(r => r).join(', ') : 'Sin roles', inline: false }
);
}
await interaction.reply({ embeds: [embed] });
}
module.exports = {
data: UserInfoCommand,
execute
}
Comentarios (0)
Inicia sesión para comentar
¡Aún no hay comentarios. Sé el primero en comentar!