const axios = require('axios'); const { EmbedBuilder } = require('discord.js'); async function getUserBanner(user, message) { try { const response = await axios.get(`https://discord.com/api/users/${user.id}`, { headers: { Authorization: `Bot ${message.client.token}` } }); const data = response.data; if (!data.banner) { return null; } const format = data.banner.startsWith('a_') ? 'gif' : 'png'; const bannerURL = `https://cdn.discordapp.com/banners/${user.id}/${data.banner}.${format}?size=2048`; return bannerURL; } catch (error) { console.error(error); message.reply('Une erreur s\'est produite lors de la récupération des données de l\'utilisateur.'); return null; } } module.exports = { name: 'banner', aliases: ['bannière', 'banniere'], description: 'Affiche la bannière d\'un utilisateur', emote: '🔍', utilisation: 'banner <@user>', category: 'utils', async execute(message, args, client) { const user = message.mentions.users.first() || message.author; const bannerURL = await getUserBanner(user, message); if (!bannerURL) { return message.reply('Cet utilisateur n\'a pas de bannière.'); } const embed = new EmbedBuilder() .setTitle(`Bannière de ${user.tag}`) .setImage(bannerURL || '') .setFooter({ text: `Demandé par ${message.author.tag}`, iconURL: message.author.displayAvatarURL() }) .setTimestamp(); message.channel.send({ embeds: [embed] }); }, };