//https://cdn.discordapp.com/guilds/${interaction.guildId}/users/${member.user.id}/avatars/${member.avatar}.png?size=4096
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder } = require('discord.js')
const a = require('../../../packages/get') //diretório de onde você colocou a função getUser
module.exports = async (client, interaction) => {
let membro = interaction.options.getUser('membro')
let user = interaction.guild.members.cache.get(membro.id)
let user2 = await a.getUser(membro.id, client.token)
if(user2 && !user) {
const button = new ButtonBuildern()
.setLabel('Ver avatar global')
.setStyle('Primary')
.setEmoji('<:marceline_yay:1000167724800024596>')
.setCustomId('avatar')
if(!user2.avatar) button.setDisabled(true)
let avatarURL = `https://cdn.discordapp.com/avatars/${user2.id}/${user2.avatar ? user2.avatar : 'undefined'}.${user2?.avatar?.substring(0,2) === "a_" ? "gif" : "png"}?size=1024`
let bannerURL = `https://cdn.discordapp.com/banners/${user2.id}/${user2.banner ? user2.banner : 'undefined'}.${user2?.banner?.substring(0,2) === "a_" ? "gif" : "png"}?size=512`
const row = new ActionRowBuilder().addComponents(button)
const embed = new EmbedBuilder()
.setColor(user2.accent_color ? user2.accent_color : 'DarkVividPink')
.setTitle(`**Informações de ${user2.username}#${user2.discriminator}**`)
.setImage(bannerURL)
.setDescription(`\n**ID:**\`${user2.id}\` \n**Conta criada:** <t:${~~(membro.createdAt / 1000)}> (<t:${~~(membro.createdAt / 1000)}:R>)`)
let msg = await interaction.reply({embeds: [embed], components: [row], fetchReply: true})
let filter = user => user
const collector = msg.createMessageComponentCollector({ filter: filter, time: 60000})
collector.on('collect', async (i) => {
//if(i.user.id !== interaction.user.id) return i.reply({ content: 'Sai daqui, isso não é pra você!'})
let embedPerms = new EmbedBuilder()
.setTitle('Avatar de ' + user2.username + "#" + user2.discriminator)
.setColor(user2.accent_color ? user2.accent_color : 'DarkVividPink')
.setImage(avatarURL)
i.reply({ embeds: [embedPerms], ephemeral: true})
})
} else if(user) {
let roles = await getRoles(user)
let id = user.id
let bannerURL = `https://cdn.discordapp.com/banners/${user2.id}/${user2.banner ? user2.banner : 'undefined'}.${user2?.banner?.substring(0,2) === "a_" ? "gif" : "png"}?size=512`
const button = new ButtonBuilder()
.setLabel('Cargos filosóficos')
.setStyle('PRIMARY')
.setEmoji('<:roleicon:1002961355923533844>')
.setCustomId('permissionsuser')
const row = new ActionRowBuilder().addComponents(button)
const embed2 = new EmbedBuilder()
.setDescription(`\n**Cargo mais alto:** <@&${user.roles.highest.id}> (\`${user.roles.highest.id}\`)\n**Cargos** ${user._roles.length}`)
.setColor('DarkVividPink')
const embed = new EmbedBuilder()
.setColor('DarkVividPink')
.setTitle(` **Informações de ${user.user.tag}**`)
.setImage(bannerURL)
.setDescription(`\n**ID:**\`${id}\` (${interaction.guild.ownerId === user.id ? 'Owner' : 'Member'})\n**Conta criada:** <t:${~~(membro.createdAt / 1000)}> (<t:${~~(membro.createdAt / 1000)}:R>)\n**Entrou aqui em:** <t:${~~(user.joinedTimestamp / 1000)}>(<t:${~~(user.joinedTimestamp / 1000)}:R>)`)
.setThumbnail(user.user.displayAvatarURL({ dynamic: true }))
let msg = await interaction.reply({embeds: [embed], components: [row], fetchReply: true})
let filter = user => user
const collector = msg.createMessageComponentCollector({ filter: filter, time: 120000})
collector.on('collect', async (i) => {
//if(i.user.id !== interaction.user.id) return i.reply({ content: 'Sai daqui, isso não é pra você!'})
let embedPerms = new EmbedBuilder()
.setTitle('Cargos filosóficos')
.setDescription(`${roles}`)
.setColor('DarkVividPink')
i.reply({ embeds: [embedPerms, embed2], ephemeral: true})
})
}
}
async function getRoles(user) {
let array = []
for(let i = 0;i < user._roles.length;i++) {
array.push(`<@&${user._roles[i]}>`)
}
return shorten(array.join(" "), 3996)
}
function shorten(text, len) {
if (text.length <= len) return text;
return text.substr(0, len).trim() + "...";
}