mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 15:07:26 +02:00
correction quel que probleme , wl system , owner system + permssion system
This commit is contained in:
+19
-28
@@ -1,6 +1,6 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
module.exports = {
|
||||
name: 'owner',
|
||||
aliases: ['owners'],
|
||||
@@ -10,15 +10,14 @@ module.exports = {
|
||||
category: 'buyer',
|
||||
|
||||
async execute(message) {
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
const botId = message.client.user.id;
|
||||
const user = message.mentions.users.first();
|
||||
|
||||
if (user) {
|
||||
let data = await addOwner(db, botId, user.id);
|
||||
let data = await manageOwnerData(db, botId, user.id);
|
||||
message.reply(`L'utilisateur <@${user.id}> a été ajouté à la liste des owners.`);
|
||||
} else {
|
||||
let data = await getOwnerData(db, botId);
|
||||
let data = await manageOwnerData(db, botId);
|
||||
const owners = data.owners || {};
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle('Liste des owner')
|
||||
@@ -29,37 +28,29 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
async function getOwnerData(db, botId) {
|
||||
async function manageOwnerData(db, botId, userId = null) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
const data = row ? JSON.parse(row.value) : {};
|
||||
data.owners = data.owners || {};
|
||||
resolve(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
async function addOwner(db, botId, userId) {
|
||||
let data = await getOwnerData(db, botId);
|
||||
data.owners[userId] = true;
|
||||
await updateOwnerData(db, botId, data);
|
||||
}
|
||||
let data = row ? JSON.parse(row.value) : {};
|
||||
data.owners = data.owners || {};
|
||||
|
||||
async function updateOwnerData(db, botId, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
const data = row ? JSON.parse(row.value) : {};
|
||||
data.owners = data.owners || {}; // Ensure owners is always an object
|
||||
resolve(data);
|
||||
if (userId) {
|
||||
data.owners[userId] = true;
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(data);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
resolve(data);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -46,14 +46,13 @@ async function getOwnerData(db, botId) {
|
||||
|
||||
async function updateOwnerData(db, botId, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
const updatedData = JSON.stringify(data);
|
||||
db.run('UPDATE gestion SET value = ? WHERE id = ?', [updatedData, botId], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
const data = row ? JSON.parse(row.value) : {};
|
||||
data.owners = data.owners || {}; // Ensure owners is always an object
|
||||
resolve(data);
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: 'unwl',
|
||||
aliases: ['unwhitelist'],
|
||||
@@ -18,7 +19,6 @@ module.exports = {
|
||||
|
||||
let data = await getWhitelistData(db, botId);
|
||||
|
||||
|
||||
if (data.whitelist[user.id]) {
|
||||
delete data.whitelist[user.id];
|
||||
await updateWhitelist(db, botId, data);
|
||||
@@ -44,18 +44,15 @@ async function getWhitelistData(db, botId) {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
async function updateWhitelist(db, botId, userId) {
|
||||
async function updateWhitelist(db, botId, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify({ whitelist: { [userId]: true } })], (err) => {
|
||||
const updatedData = JSON.stringify(data);
|
||||
db.run('UPDATE gestion SET value = ? WHERE id = ?', [updatedData, botId], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
const data = row ? JSON.parse(row.value) : {};
|
||||
data.whitelist = data.whitelist || {};
|
||||
resolve(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
+12
-13
@@ -15,13 +15,14 @@ module.exports = {
|
||||
const user = message.mentions.users.first() || (args[0] && message.client.users.cache.get(args[0]));
|
||||
|
||||
if (user) {
|
||||
let data = await getWhitelistData(db, botId);
|
||||
if (!data.whitelist[user.id]) {
|
||||
await updateWhitelist(db, botId, user.id);
|
||||
message.reply('Utilisateur ajouté à la liste blanche.');
|
||||
} else {
|
||||
message.reply('Cet utilisateur est déjà sur la liste blanche.');
|
||||
}
|
||||
let data = await getWhitelistData(db, botId);
|
||||
if (!data.whitelist[user.id]) {
|
||||
data.whitelist[user.id] = true; // Ajoute l'utilisateur à la liste blanche
|
||||
await updateWhitelist(db, botId, data);
|
||||
message.reply('Utilisateur ajouté à la liste blanche.');
|
||||
} else {
|
||||
message.reply('Cet utilisateur est déjà sur la liste blanche.');
|
||||
}
|
||||
} else {
|
||||
let data = await getWhitelistData(db, botId);
|
||||
const whitelist = data.whitelist || {};
|
||||
@@ -30,11 +31,11 @@ module.exports = {
|
||||
.setDescription(Object.keys(whitelist).map(id => `<@${id}>`).join('\n') || 'Aucun utilisateur sur la liste blanche')
|
||||
.setFooter({ text: 'design by valou336', iconURL: client.user.displayAvatarURL({dynamic: true})});
|
||||
|
||||
|
||||
message.channel.send({ embeds: [embed] });
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
async function getWhitelistData(db, botId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
@@ -50,17 +51,15 @@ async function getWhitelistData(db, botId) {
|
||||
});
|
||||
}
|
||||
|
||||
async function updateWhitelist(db, botId, userId) {
|
||||
async function updateWhitelist(db, botId, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify({ whitelist: { [userId]: true } })], (err) => {
|
||||
const updatedData = JSON.stringify(data);
|
||||
db.run('UPDATE gestion SET value = ? WHERE id = ?', [updatedData, botId], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
resolve();
|
||||
const data = row ? JSON.parse(row.value) : {};
|
||||
data.whitelist = data.whitelist || {};
|
||||
resolve(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
+30
-17
@@ -1,28 +1,41 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const db = require('quick.db');
|
||||
const GestionDb = new db.table("gestion");
|
||||
|
||||
module.exports = {
|
||||
name: 'permupdate',
|
||||
description: 'Mettre à jour les permissions dans le fichier permissions.json',
|
||||
emote: '🔒',
|
||||
utilisation: 'permupdate',
|
||||
category: 'buyer',
|
||||
name: 'upp',
|
||||
description: 'Met à jour le fichier permissions.json avec les commandes manquantes et leur attribue la permission 3',
|
||||
execute(message, args) {
|
||||
// Lire le fichier permissions.json
|
||||
let permissions;
|
||||
try {
|
||||
permissions = JSON.parse(fs.readFileSync('permissions.json', 'utf8'));
|
||||
} catch (error) {
|
||||
console.error('Erreur lors de la lecture du fichier permissions.json:', error);
|
||||
return message.channel.send('Une erreur est survenue lors de la mise à jour des permissions.');
|
||||
}
|
||||
|
||||
async execute(message, args, client) {
|
||||
const commands = Array.from(client.commands.keys());
|
||||
const permissionsPath = path.resolve(__dirname, '../permissions.json');
|
||||
const permissionsJson = JSON.parse(fs.readFileSync(permissionsPath));
|
||||
// Récupérer toutes les commandes du bot
|
||||
const commands = message.client.commands.map(cmd => cmd.name);
|
||||
|
||||
// Vérifier et ajouter les commandes manquantes avec la permission 3
|
||||
let updated = false;
|
||||
commands.forEach(command => {
|
||||
if (!permissionsJson.hasOwnProperty(command)) {
|
||||
permissionsJson[command] = 5;
|
||||
if (!permissions.hasOwnProperty(command)) {
|
||||
permissions[command] = 3; // Ajoute la permission 3
|
||||
updated = true;
|
||||
}
|
||||
});
|
||||
|
||||
fs.writeFileSync(permissionsPath, JSON.stringify(permissionsJson, null, 2));
|
||||
|
||||
message.reply('Les permissions ont été mises à jour avec succès.');
|
||||
// Si des commandes ont été ajoutées, mettre à jour le fichier permissions.json
|
||||
if (updated) {
|
||||
fs.writeFile('permissions.json', JSON.stringify(permissions, null, 2), (err) => {
|
||||
if (err) {
|
||||
console.error('Erreur lors de la mise à jour du fichier permissions.json:', err);
|
||||
return message.channel.send('Une erreur est survenue lors de la mise à jour des permissions.');
|
||||
}
|
||||
message.channel.send('Le fichier permissions.json a été mis à jour avec succès.');
|
||||
});
|
||||
} else {
|
||||
message.channel.send('Aucune commande n\'a été ajoutée. Toutes les commandes sont déjà présentes dans le fichier permissions.json.');
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -11,7 +11,7 @@ module.exports = {
|
||||
try {
|
||||
const APIKEY = '1e59407044fd6d842180610a8c423aa4';
|
||||
const city = args[0];
|
||||
|
||||
const randomColor = Math.floor(Math.random() * 16777215).toString(16);
|
||||
if (!city) {
|
||||
return message.channel.send('Veuillez fournir une ville.');
|
||||
}
|
||||
@@ -22,13 +22,21 @@ module.exports = {
|
||||
const cityName = weatherData.name;
|
||||
const temperature = weatherData.main.temp;
|
||||
const weatherDescription = weatherData.weather[0].description;
|
||||
const humidity = weatherData.main.humidity;
|
||||
const pressure = weatherData.main.pressure;
|
||||
const windSpeed = weatherData.wind.speed;
|
||||
const windDirection = weatherData.wind.deg;
|
||||
const visibility = weatherData.visibility;
|
||||
const feelsLike = weatherData.main.feels_like;
|
||||
const weatherIcon = weatherData.weather[0].icon;
|
||||
|
||||
const Embed = new Discord.MessageEmbed()
|
||||
const Embed = new Discord.EmbedBuilder()
|
||||
.setTitle(`Meteo à ${cityName}`)
|
||||
.setDescription(`🌡・Temperature: ${temperature}°C\n⛅・Temps: ${weatherDescription}`)
|
||||
.setDescription(`🌡・Temperature: ${temperature}°C\n⛅・Temps: ${weatherDescription}\n💧・Humidité: ${humidity}%\n📊・Pression: ${pressure} hPa\n💨・Vitesse du vent: ${windSpeed} m/s\n🧭・Direction du vent: ${windDirection}°\n👁️🗨️・Visibilité: ${visibility} m\n🌡️・Sensation de température: ${feelsLike}°C`)
|
||||
.setTimestamp()
|
||||
.setColor('RANDOM') // Discord.js uses 'RANDOM' for random colors
|
||||
.setFooter({text: message.client.user.username, iconURL: message.client.user.displayAvatarURL({dynamic: true})});
|
||||
.setColor(`#${randomColor}`)
|
||||
.setFooter({text: message.client.user.username, iconURL: message.client.user.displayAvatarURL({dynamic: true})})
|
||||
.setThumbnail(`http://openweathermap.org/img/wn/${weatherIcon}.png`);
|
||||
|
||||
await message.channel.send({ embeds: [Embed] });
|
||||
} catch(e) {
|
||||
|
||||
@@ -53,6 +53,7 @@ module.exports = (client) => {
|
||||
if (owners[member.id]) {
|
||||
return 10;
|
||||
}
|
||||
|
||||
let highestPermission = 0;
|
||||
for (let i = 1; i <= 9; i++) {
|
||||
const roleIds = data.permissions && data.permissions[guildId] && data.permissions[guildId].p && data.permissions[guildId].p[i];
|
||||
@@ -117,7 +118,7 @@ module.exports = (client) => {
|
||||
}
|
||||
if (command) {
|
||||
const permissionLevel = await getPermissionLevel(message.member, client);
|
||||
|
||||
console.log(permissionLevel + " : " +permissions[command.name] + " : " + command.name)
|
||||
try {
|
||||
if (permissionLevel === 11) {
|
||||
command.execute(message, args, client);
|
||||
|
||||
+50
-1
@@ -118,5 +118,54 @@
|
||||
"stat": 10,
|
||||
"random": 0,
|
||||
"greet": 10,
|
||||
"greetlist": 10
|
||||
"greetlist": 10,
|
||||
"rolelimit": 3,
|
||||
"alias": 3,
|
||||
"reload": 3,
|
||||
"setactivity": 3,
|
||||
"setstatus": 3,
|
||||
"undefined": 3,
|
||||
"anime": 3,
|
||||
"ascii": 3,
|
||||
"lc": 3,
|
||||
"marry": 3,
|
||||
"unmarry": 3,
|
||||
"zalgo": 3,
|
||||
"autoreact": 3,
|
||||
"blrank": 3,
|
||||
"rolebutton": 3,
|
||||
"clearwbh": 3,
|
||||
"confession": 3,
|
||||
"join": 3,
|
||||
"piconly": 3,
|
||||
"rolereact": 3,
|
||||
"rvocal": 3,
|
||||
"suggest": 3,
|
||||
"sync": 3,
|
||||
"alerte": 3,
|
||||
"logs": 3,
|
||||
"raidlog": 3,
|
||||
"raidping": 3,
|
||||
"derankall": 3,
|
||||
"prison": 3,
|
||||
"lrm": 3,
|
||||
"slownmode": 3,
|
||||
"voicekick": 3,
|
||||
"voicekickall": 3,
|
||||
"voicemove": 3,
|
||||
"voicemoveall": 3,
|
||||
"upp": 3,
|
||||
"addbtnurl": 3,
|
||||
"booster": 3,
|
||||
"botconfig": 3,
|
||||
"botstat": 3,
|
||||
"devs": 3,
|
||||
"encode": 3,
|
||||
"film": 3,
|
||||
"gif": 3,
|
||||
"image": 3,
|
||||
"statserveur": 3,
|
||||
"prevname": 3,
|
||||
"servericon": 3,
|
||||
"weather": 3
|
||||
}
|
||||
Reference in New Issue
Block a user