const axios = require('axios'); const fs = require('fs'); const { send } = require('process'); module.exports = { name: 'set', aliases: ['changer'], description: 'Modifier divers paramètres du bot.', emote: '⚙️', utilisation: 'set ', category: 'botcontrol', async execute(message, args, client) { const setting = args[0]; if (setting === 'banner') { const sendmessage = await message.reply("\`🔃\` La banniere est entrain de ce mettre sur le bot"); const attachment = message.attachments.first(); //if (!attachment || !attachment.url.endsWith('.gif')) { // return message.reply("Veuillez attacher un fichier .gif pour utiliser comme nouvelle bannière."); //} try { const responses = await axios.get(attachment.url, { responseType: 'arraybuffer' }); const buffer = Buffer.from(responses.data, 'binary'); const base64Image = buffer.toString('base64'); let response = await axios("https://discord.com/api/v9/users/@me", { method: "PATCH", headers: { Authorization: `Bot ${client.token}`, "Content-Type": "application/json" }, data: JSON.stringify({ banner: `data:image/gif;base64,${base64Image}` }) }); if (response.status === 200) { return sendmessage.edit("\`✅\`Le bot a bien mis à jour sa bannière"); } else { console.log(`Unable to update banner : ${response.statusText}`); let responseBody = await response.text(); console.log(`Response : ${responseBody}`); return sendmessage.edit("\`❌\`Un problème est survenu durant la mise à jour de la bannière du bot."); } } catch (err) { console.error(`An error occurred while updating the banner : ${err}`); return sendmessage.edit("\`❌\`Un problème est survenu durant la mise à jour de la bannière du bot."); } } if (setting === 'name') { const value = args.slice(1).join(' '); if (value) { try { const botMember = await message.guild.members.fetch(client.user.id); await botMember.setNickname(value); return message.reply(`Mon nouveau pseudo est maintenant **${value}**.`); } catch (error) { console.error(error); return message.reply('Une erreur est survenue lors de la tentative de changement de mon pseudo.'); } } else { return message.reply('Veuillez fournir un nom valide.'); } } else if (setting === 'pic') { if (message.attachments.size > 0) { const sendmessage = await message.reply("\`🔃\` L'avatar est entrain de ce mettre sur le bot"); const attachment = message.attachments.first(); try { await client.user.setAvatar(attachment.url); return sendmessage.edit("\`✅\`Le bot a bien mis à jour son avatar"); } catch (error) { console.error(error); return message.reply('Une erreur est survenue lors de la tentative de mise à jour de mon avatar.'); } } else { const value = args[1]; if (value && value.startsWith('http')) { const sendmessage = await message.reply("\`🔃\` L'avatar est entrain de ce mettre sur le bot"); try { await client.user.setAvatar(value); return sendmessage.edit("\`✅\`Le bot a bien mis à jour son avatar"); } catch (error) { console.error(error); return message.reply('Une erreur est survenue lors de la tentative de mise à jour de mon avatar.'); } } else { return message.reply('Veuillez fournir un URL d\'image valide.'); } } } else { return message.reply('Paramètre invalide. Veuillez utiliser \`name\` ou \`pic\` ou \`banner\`.'); } }, };