Files
gestion/commands/botcontrol/set.js
T
VALOU3336 9bd39c69ca grand commit que tutur attend ( marche pas le raidmode en dev)
sinon il y a pleins de truc comme les anti raid , des coorectif ect
2024-04-22 18:30:33 +02:00

95 lines
3.9 KiB
JavaScript

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 <name/pic> <nom/lien>',
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\`.');
}
},
};