Files
2024-04-28 00:19:55 +02:00

53 lines
1.6 KiB
JavaScript

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]
});
},
};