const { SlashCommandBuilder, PermissionFlagsBits, userMention } = require('discord.js'); const { color } = require('../config/options.json'); const verify = require('../schemas/verifySchema.js'); const fetch = require('axios'); module.exports = { name: 'whois', description: 'Get\'s the ign of a user.', type: 'slash', data: new SlashCommandBuilder() .setName('whois') .setDescription('Get\'s the ign of a user.') .addUserOption(option => option .setName('user') .setDescription('The user to get the ign of.') .setRequired(true)) .setDefaultMemberPermissions(PermissionFlagsBits.Administrator) .setDMPermission(false), /** @param { import('discord.js').ChatInputCommandInteraction } interaction */ async execute(interaction) { await interaction.deferReply(); const user = interaction.options.getUser('user'); const embedColor = Number(color.replace("#", "0x")); const mojang = "https://api.mojang.com/user/profile/" const minotar = "https://minotar.net/helm/"; const verifiedUser = await verify.findOne({ userID: user.id }); if (!verifiedUser) { interaction.editReply({ content: 'This user has not verified their account.' }); return } const userCheck = await fetch(mojang + verifiedUser.uuid); const ign = userCheck.data.name; const head = minotar + ign; await interaction.editReply({ embeds: [{ title: interaction.guild.name, description: "**User:** " + userMention(user.id) + "\n**IGN:** " + ign, color: embedColor, thumbnail: { url: head }, footer: { text: interaction.guild.name + " | Developed by: @Taken#0002", icon_url: interaction.guild.iconURL({ dynamic: true }) } }] }) } };