mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 23:36:35 +02:00
upgrade clear , add : presetlog , changeall , best configuration of the ready.js and add anticrash module,
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
|
||||
module.exports = {
|
||||
name: 'changeall',
|
||||
aliases: ['permchangeall'],
|
||||
description: 'Change le niveau de permission de toutes les commandes ayant un niveau de permission spécifié',
|
||||
emote: '🔄',
|
||||
utilisation: 'changeall <niveau actuel> <nouveau niveau>',
|
||||
category: 'botcontrol',
|
||||
|
||||
async execute(message, args, client) {
|
||||
const botId = client.user.id;
|
||||
const unchangeableCommands = ['owner', 'unowner', 'buyer'];
|
||||
|
||||
if (args.length < 2) {
|
||||
return message.reply('Veuillez spécifier un niveau de permission actuel et un nouveau niveau de permission.');
|
||||
}
|
||||
|
||||
const currentPermissionLevel = parseInt(args[0]);
|
||||
const newPermissionLevel = parseInt(args[1]);
|
||||
|
||||
if (isNaN(currentPermissionLevel) || isNaN(newPermissionLevel) || currentPermissionLevel < 0 || currentPermissionLevel > 9 || newPermissionLevel < 0 || newPermissionLevel > 9) {
|
||||
return message.reply('Veuillez spécifier des niveaux de permission valides (entre 0 et 9).');
|
||||
}
|
||||
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
let permissions = await new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
});
|
||||
});
|
||||
|
||||
if (!permissions.permissions) {
|
||||
permissions.permissions = {};
|
||||
}
|
||||
|
||||
// Parcourir toutes les commandes et mettre à jour le niveau de permission
|
||||
for (const commandName in permissions.permissions) {
|
||||
if (permissions.permissions[commandName] === currentPermissionLevel) {
|
||||
permissions.permissions[commandName] = newPermissionLevel;
|
||||
}
|
||||
}
|
||||
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(permissions)], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
});
|
||||
|
||||
message.reply(`Le niveau de permission de toutes les commandes ayant le niveau ${currentPermissionLevel} a été changé à ${newPermissionLevel}.`);
|
||||
},
|
||||
};
|
||||
+24
-15
@@ -1,21 +1,30 @@
|
||||
const { PermissionsBitField} = require("discord.js")
|
||||
const { PermissionsBitField } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
name: 'clear',
|
||||
aliases: ['purge', 'delete', 'suppr', 'efface', 'nettoie', 'vide', 'clean', 'effacer'],
|
||||
description: 'Clear des messages',
|
||||
emote: '🗑️',
|
||||
utilisation: 'clear <nombre de messages>',
|
||||
category: 'gestion',
|
||||
async execute(message, args, client) {
|
||||
const amount = parseInt(args[0]) + 1;
|
||||
if (isNaN(amount)) {
|
||||
return message.reply('Veuillez entrer un nombre valide');
|
||||
} else if (amount <= 1 || amount > 100) {
|
||||
return message.reply('Vous devez entrer un nombre entre 1 et 99');
|
||||
name: 'clear',
|
||||
aliases: ['purge', 'delete', 'suppr', 'efface', 'nettoie', 'vide', 'clean', 'effacer'],
|
||||
description: 'Clear des messages',
|
||||
emote: '🗑️',
|
||||
utilisation: 'clear <nombre de messages>',
|
||||
category: 'gestion',
|
||||
async execute(message, args, client) {
|
||||
let amount;
|
||||
if (args[0]) {
|
||||
amount = parseInt(args[0]);
|
||||
if (isNaN(amount)) {
|
||||
return message.reply('Veuillez entrer un nombre valide');
|
||||
} else if (amount <= 1 || amount > 100) {
|
||||
return message.reply('Vous devez entrer un nombre entre 1 et 99');
|
||||
}
|
||||
amount = amount + 2;
|
||||
} else {
|
||||
const messages = await message.channel.messages.fetch({ limit: 100 });
|
||||
amount = messages.size;
|
||||
}
|
||||
console.log(amount)
|
||||
await message.reply('🗑️ Clear en cours...');
|
||||
await message.channel.bulkDelete(amount + 1, true).catch((err) => {
|
||||
await message.channel.bulkDelete(amount).catch((err) => {
|
||||
message.reply('Une erreur est survenue lors du clear');
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -27,7 +27,7 @@ module.exports = {
|
||||
{ name: '🎙️ Logs vocaux', value: data[message.guild.id]?.vocallog ? `<#${data[message.guild.id].vocallog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ Logs de raid', value: data[message.guild.id]?.raidlog ? `<#${data[message.guild.id].raidlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🔧 Logs de modération', value: data[message.guild.id]?.modlog ? `<#${data[message.guild.id].modlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ raidping', value: data[message.guild.id]?.modlog ? `<#${data[message.guild.id].modlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ raidping', value: data[message.guild.id]?.modlog ? `${data[message.guild.id].raidping}` : 'Non configuré', inline: true },
|
||||
);
|
||||
|
||||
const selectMenu = new StringSelectMenuBuilder()
|
||||
@@ -120,7 +120,7 @@ module.exports = {
|
||||
{ name: '🎙️ Logs vocaux', value: data2[message.guild.id]?.vocallog ? `<#${data2[message.guild.id].vocallog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ Logs de raid', value: data2[message.guild.id]?.raidlog ? `<#${data2[message.guild.id].raidlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🔧 Logs de modération', value: data2[message.guild.id]?.modlog ? `<#${data2[message.guild.id].modlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ raidping', value: data2[message.guild.id]?.modlog ? `<#${data2[message.guild.id].modlog}>` : 'Non configuré', inline: true },
|
||||
{ name: '🛡️ raidping', value: data2[message.guild.id]?.modlog ? `${data2[message.guild.id].raidping}` : 'Non configuré', inline: true },
|
||||
);
|
||||
|
||||
logmessage.edit({ embeds: [updatedEmbed], components: [row] });
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
const { ChannelType, PermissionsBitField } = require('discord.js');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: 'presetlog',
|
||||
description: 'Crée les salons de logs et les enregistre dans la base de données.',
|
||||
category: 'gestion',
|
||||
emote: '📝',
|
||||
utilisation: 'presetlog',
|
||||
async execute(message, args) {
|
||||
const sendmessage = await message.reply("\`🔄\` Les salon de log sont entrain d'etre crée...")
|
||||
const guild = message.guild;
|
||||
const categoryName = 'log';
|
||||
const channelNames = ['modlog', 'messagelog', 'vocallog', 'rolelog', 'raidlog'];
|
||||
const channelTypes = [ChannelType.GuildText, ChannelType.GuildText, ChannelType.GuildText, ChannelType.GuildText, ChannelType.GuildText];
|
||||
|
||||
let data = await new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [message.client.user.id], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
});
|
||||
});
|
||||
|
||||
if (!data[message.guild.id]) {
|
||||
data[message.guild.id] = {};
|
||||
}
|
||||
let logCategory = guild.channels.cache.find(channel => channel.type === ChannelType.GuildCategory && channel.name === categoryName);
|
||||
if (!logCategory) {
|
||||
try {
|
||||
logCategory = await guild.channels.create({
|
||||
name: categoryName,
|
||||
type: ChannelType.GuildCategory,
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
return message.channel.send('Une erreur est survenue lors de la création de la catégorie de logs.');
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < channelNames.length; i++) {
|
||||
const channelName = channelNames[i];
|
||||
const channelType = channelTypes[i];
|
||||
|
||||
const existingChannel = guild.channels.cache.find(channel => channel.parentID === logCategory.id && channel.name === channelName && channel.type === channelType);
|
||||
|
||||
|
||||
if (!existingChannel) {
|
||||
try {
|
||||
const channel = await guild.channels.create({
|
||||
name: channelName,
|
||||
type: channelType,
|
||||
parent: logCategory.id
|
||||
});
|
||||
await channel.permissionOverwrites.set([
|
||||
{
|
||||
id: guild.roles.everyone,
|
||||
deny: [PermissionsBitField.Flags.ViewChannel],
|
||||
},
|
||||
]);
|
||||
data[message.guild.id][channelName] = channel.id;
|
||||
} catch (error) {
|
||||
return message.channel.send(`Une erreur est survenue lors de la création du salon ${channelName}.`);
|
||||
}
|
||||
} else {
|
||||
data[message.guild.id][channelName] = existingChannel.id;
|
||||
}
|
||||
}
|
||||
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [message.client.user.id, JSON.stringify(data)], function(err) {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
return message.channel.send('Une erreur est survenue lors de la mise à jour de la base de données.');
|
||||
}
|
||||
});
|
||||
|
||||
sendmessage.edit('\`✅\`Les salons de logs ont été créés et enregistrés dans la base de données.');
|
||||
},
|
||||
};
|
||||
@@ -34,7 +34,7 @@ module.exports = {
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setColor('#0099ff')
|
||||
.setDescription(`le message de raid est ${messageContent}`);
|
||||
.setDescription(`le message de raid est:** ${messageContent}**`);
|
||||
message.channel.send({ embeds: [embed] });
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user