const { profileImage } = require("discord-arts"); const { AttachmentBuilder, EmbedBuilder } = require("discord.js"); const levelSchema = require("../../database/Leveling"); module.exports = { name: "profile", description: "Get a users profile ranking & badges", options: [ { name: "user", description: "select a user", type: 6, required: true, }, ], run: async (client, interaction) => { const user = interaction.options.getUser("user"); const walletBal = await levelSchema.findOne({ userId: user.id, guildId: interaction.guild.id, }); if (!walletBal) { const balEmbed = new EmbedBuilder() .setTitle(`${user.username}'s level`) .setDescription( `${user.username} does not have a rank. Send some messages to get one` ) .setColor("#5da4b5") .setFooter({ text: "Ⓒ All Rights Reserved To Service Bot" }); interaction.reply({ embeds: [balEmbed] }); } else { const buffer = await profileImage(user.id, { borderColor: ["#9d00ff", "#043a92"], badgesFrame: Boolean, customBackground: "https://i.imgur.com/VOPMvl8.jpg", badgesFrame: true, squareAvatar: true, presenceStatus: "online", rankData: { currentXp: walletBal.xp, requiredXp: walletBal.level * walletBal.level * 100 + 100, level: walletBal.level, barColor: "9d00ff", }, }); const attachment = new AttachmentBuilder(buffer); interaction.reply({ files: [attachment] }); } }, };