const { EmbedBuilder, ButtonStyle, ButtonBuilder, ActionRowBuilder } = require("discord.js") module.exports = { name: 'pic', aliases: ['avatar', 'pfp'], description: 'Affiche l\'avatar d\'un utilisateur', category: 'utils', utilisation: 'pic [@user/userId]', emote: '🖼️', async execute(message, args, client) { let user; if (message.mentions.users.size > 0) { user = message.mentions.users.first(); } else if (args.length > 0) { const userId = args[0]; user = message.guild.members.cache.get(userId)?.user; } else { user = message.author; } if (!user) { return message.reply('Utilisateur introuvable.'); } let avatar = user.avatarURL({dynamic : true, size : 1024}); if (avatar === null && user.discriminator !== '0') { const index = user.discriminator % 5; avatar = `https://cdn.discordapp.com/embed/avatars/${index}.png`; } else if (avatar === null) { const index = (BigInt(user.id) >> 22n) % 6n; avatar = `https://cdn.discordapp.com/embed/avatars/${index}.png`; } const button = new ButtonBuilder() .setLabel('Avatar url') .setURL(avatar) .setStyle(ButtonStyle.Link); const row = new ActionRowBuilder() .addComponents(button); const embed = new EmbedBuilder() .setTitle(`Avatar de ${user.tag}`) .setImage(avatar) .setTimestamp() .setFooter({text: `${client.user.tag} © 2024`, iconURL: client.user.displayAvatarURL({dynamic: true})}); message.reply({ embeds: [embed], components: [row] }); }, };