mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-06 14:20:38 +02:00
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
This commit is contained in:
@@ -8,6 +8,7 @@ module.exports = {
|
||||
utilisation: 'invite [guildId]',
|
||||
category: 'botcontrol',
|
||||
async execute(message, args, client) {
|
||||
try{
|
||||
if (!args[0]) {
|
||||
return message.reply('Veuillez fournir l\'ID du serveur.');
|
||||
}
|
||||
@@ -44,5 +45,9 @@ module.exports = {
|
||||
}).then(async (invite) => {
|
||||
message.channel.send(`Invitation créée pour le serveur ${guild.name} : ${invite.url}`);
|
||||
})
|
||||
}catch(arr) {
|
||||
return message.reply("Je n'est pas reussie a crée une invitation")
|
||||
}
|
||||
|
||||
},
|
||||
};
|
||||
@@ -10,8 +10,6 @@ module.exports = {
|
||||
category: 'botcontrol',
|
||||
|
||||
async execute(message, args, client) {
|
||||
|
||||
// If an ID is provided, try to get the guild with that ID
|
||||
const guildId = args[0];
|
||||
if (guildId) {
|
||||
const guild = client.guilds.cache.get(guildId);
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
module.exports = {
|
||||
name: 'reload',
|
||||
description: 'Recharge une commande spécifique',
|
||||
@@ -8,25 +10,35 @@ module.exports = {
|
||||
const commandName = args[0].toLowerCase();
|
||||
const command = message.client.commands.get(commandName);
|
||||
if (args[0].toLowerCase() === 'all') {
|
||||
message.reply('Toutes les commandes vont être rechargées.')
|
||||
message.reply('Toutes les commandes vont être rechargées....')
|
||||
.then(async sendmessage => {
|
||||
const commands = Array.from(message.client.commands.values());
|
||||
const reloadPromises = commands.map(async (command) => {
|
||||
const commandFile = command.file;
|
||||
delete require.cache[require.resolve(commandFile)];
|
||||
|
||||
try {
|
||||
const newCommand = require(commandFile);
|
||||
newCommand.file = commandFile;
|
||||
message.client.commands.set(newCommand.name, newCommand);
|
||||
await sendmessage.edit(`La commande ${newCommand.name} a été rechargée.`);
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors du rechargement de la commande ${command.name}:`, error);
|
||||
await message.reply(`Une erreur est survenue lors du rechargement de la commande ${command.name}: ${error.message}`);
|
||||
}
|
||||
});
|
||||
|
||||
await Promise.all(reloadPromises);
|
||||
message.client.commands.clear();
|
||||
let count = 0;
|
||||
const loadCommands = (dir) => {
|
||||
fs.readdirSync(path.join(__dirname, dir)).forEach(file => {
|
||||
const filePath = path.join(__dirname, dir, file);
|
||||
if (fs.statSync(filePath).isDirectory()) {
|
||||
count += loadCommands(path.join(dir, file));
|
||||
} else if (file.endsWith('.js')) {
|
||||
try {
|
||||
delete require.cache[require.resolve(filePath)];
|
||||
const command = require(filePath);
|
||||
command.file = filePath;
|
||||
message.client.commands.set(command.name, command);
|
||||
if (command.aliases) {
|
||||
command.aliases.forEach(alias => {
|
||||
message.client.commands.set(alias, command);
|
||||
});
|
||||
}
|
||||
count++;
|
||||
} catch (error) {
|
||||
console.error(`Failed to load file: ${filePath}`);
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
loadCommands('../../commands');
|
||||
await sendmessage.edit('Toutes les commandes ont été rechargées.');
|
||||
})
|
||||
.catch(error => {
|
||||
|
||||
+64
-17
@@ -1,3 +1,6 @@
|
||||
const axios = require('axios');
|
||||
const fs = require('fs');
|
||||
const { send } = require('process');
|
||||
module.exports = {
|
||||
name: 'set',
|
||||
aliases: ['changer'],
|
||||
@@ -7,12 +10,43 @@ module.exports = {
|
||||
category: 'botcontrol',
|
||||
|
||||
async execute(message, args, client) {
|
||||
if (args.length < 2) {
|
||||
return message.reply('Veuillez fournir un paramètre parmis `name` ou `pic` pour sa valeur.');
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -28,20 +62,33 @@ module.exports = {
|
||||
return message.reply('Veuillez fournir un nom valide.');
|
||||
}
|
||||
} else if (setting === 'pic') {
|
||||
const value = args[1];
|
||||
if (value && value.startsWith('http')) {
|
||||
try {
|
||||
await client.user.setAvatar(value);
|
||||
return message.reply('Mon avatar a été mis à jour avec succès.');
|
||||
} 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.');
|
||||
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".');
|
||||
return message.reply('Paramètre invalide. Veuillez utiliser \`name\` ou \`pic\` ou \`banner\`.');
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const { EmbedBuilder, StringSelectMenuBuilder, ActionRowBuilder, ActivityType } = require("discord.js");
|
||||
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
module.exports = {
|
||||
name: 'setactivity',
|
||||
description: 'Changer la présence du bot',
|
||||
@@ -11,7 +12,7 @@ module.exports = {
|
||||
async execute(message, args, client) {
|
||||
const author = message.author;
|
||||
|
||||
let currentActivitie = client.user.presence.activities[0];
|
||||
let currentActivitie = client.user.presence.activities[0] || "aucun status";
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Changement d\'activité')
|
||||
@@ -80,55 +81,75 @@ module.exports = {
|
||||
|
||||
interaction.reply(`Veuillez entrer le message que vous voulez afficher pour l'activité ${value}`);
|
||||
filter = (message) => message.author.id === author.id;
|
||||
const messageCollector = message.channel.createMessageCollector({ filter, time: 60000 });
|
||||
const messageCollector = message.channel.createMessageCollector({ filter , max: 1 , time: 60000 });
|
||||
messageCollector.on('collect', async (messageCollect) => {
|
||||
const text = messageCollect.content;
|
||||
const url = 'https://www.twitch.tv/valou336_ytb';
|
||||
|
||||
if (!client.user) return;
|
||||
let type, status;
|
||||
if (value === 'playing') {
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Playing,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Playing,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
type = 'playing';
|
||||
status = text;
|
||||
} else if (value === 'streaming') {
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Streaming,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Streaming,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
type = 'streaming';
|
||||
status = text;
|
||||
} else if (value === 'listening') {
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Listening,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Listening,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
type = 'listening';
|
||||
status = text;
|
||||
} else if (value === 'watching') {
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Watching,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Watching,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
type = 'watching';
|
||||
status = text;
|
||||
} else if (value === 'competing') {
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Competing,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
client.user.setPresence({
|
||||
activities: [{
|
||||
name: text,
|
||||
type: ActivityType.Competing,
|
||||
url: url
|
||||
}]
|
||||
});
|
||||
type = 'competing';
|
||||
status = text;
|
||||
} else {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
db.run('INSERT OR REPLACE INTO status (botId, type, status) VALUES (?, ?, ?)', [client.user.id, type, status], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
const axios = require('axios');
|
||||
const fs = require('fs');
|
||||
const { send } = require('process');
|
||||
|
||||
module.exports = {
|
||||
name: 'setbanner',
|
||||
description: "Changer la bannire du bot",
|
||||
emote: '🚪',
|
||||
utilisation: 'setbanner [banner]',
|
||||
category: 'botcontrol',
|
||||
|
||||
async execute(message, args, client) {
|
||||
const sendmessage = await message.reply("\`🔃\` La banniere est entrain de ce mettre sur le bot")
|
||||
//if (message.attachments.size > 0 && /\.gif\s*$/i.test(message.attachments.first().url)) {
|
||||
const attachment = message.attachments.first();
|
||||
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) {
|
||||
sendmessage.edit("\`✅\`Le bot a bien mis à jour sa bannière");
|
||||
} else {
|
||||
sendmessage.edit("\`❌\`Un problème est survenu durant la mise à jour de la bannière du bot.");
|
||||
console.log(`Unable to update banner : ${response.statusText}`);
|
||||
let responseBody = await response.text();
|
||||
console.log(`Response : ${responseBody}`);
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(`An error occurred while updating the banner : ${err}`);
|
||||
sendmessage.edit("\`❌\`Un problème est survenu durant la mise à jour de la bannière du bot.");
|
||||
}
|
||||
//} else {
|
||||
// console.log("Please attach a .gif file to use as the new banner.");
|
||||
//}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user