mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-12 23:59:20 +02:00
correction quel que probleme , wl system , owner system + permssion system
This commit is contained in:
+18
-27
@@ -1,6 +1,6 @@
|
|||||||
const sqlite3 = require('sqlite3').verbose();
|
const sqlite3 = require('sqlite3').verbose();
|
||||||
const { EmbedBuilder } = require('discord.js');
|
const { EmbedBuilder } = require('discord.js');
|
||||||
|
const db = new sqlite3.Database('myDatabase.db');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'owner',
|
name: 'owner',
|
||||||
aliases: ['owners'],
|
aliases: ['owners'],
|
||||||
@@ -10,15 +10,14 @@ module.exports = {
|
|||||||
category: 'buyer',
|
category: 'buyer',
|
||||||
|
|
||||||
async execute(message) {
|
async execute(message) {
|
||||||
const db = new sqlite3.Database('myDatabase.db');
|
|
||||||
const botId = message.client.user.id;
|
const botId = message.client.user.id;
|
||||||
const user = message.mentions.users.first();
|
const user = message.mentions.users.first();
|
||||||
|
|
||||||
if (user) {
|
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.`);
|
message.reply(`L'utilisateur <@${user.id}> a été ajouté à la liste des owners.`);
|
||||||
} else {
|
} else {
|
||||||
let data = await getOwnerData(db, botId);
|
let data = await manageOwnerData(db, botId);
|
||||||
const owners = data.owners || {};
|
const owners = data.owners || {};
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Liste des owner')
|
.setTitle('Liste des owner')
|
||||||
@@ -29,37 +28,29 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
async function manageOwnerData(db, botId, userId = null) {
|
||||||
async function getOwnerData(db, botId) {
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
const data = row ? JSON.parse(row.value) : {};
|
let data = row ? JSON.parse(row.value) : {};
|
||||||
data.owners = data.owners || {};
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
async function updateOwnerData(db, botId, data) {
|
if (userId) {
|
||||||
return new Promise((resolve, reject) => {
|
data.owners[userId] = true;
|
||||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
const data = row ? JSON.parse(row.value) : {};
|
resolve(data);
|
||||||
data.owners = data.owners || {}; // Ensure owners is always an object
|
}
|
||||||
resolve(data);
|
});
|
||||||
|
} else {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -46,14 +46,13 @@ async function getOwnerData(db, botId) {
|
|||||||
|
|
||||||
async function updateOwnerData(db, botId, data) {
|
async function updateOwnerData(db, botId, data) {
|
||||||
return new Promise((resolve, reject) => {
|
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) {
|
if (err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
const data = row ? JSON.parse(row.value) : {};
|
resolve();
|
||||||
data.owners = data.owners || {}; // Ensure owners is always an object
|
|
||||||
resolve(data);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
const sqlite3 = require('sqlite3').verbose();
|
const sqlite3 = require('sqlite3').verbose();
|
||||||
const db = new sqlite3.Database('myDatabase.db');
|
const db = new sqlite3.Database('myDatabase.db');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'unwl',
|
name: 'unwl',
|
||||||
aliases: ['unwhitelist'],
|
aliases: ['unwhitelist'],
|
||||||
@@ -18,7 +19,6 @@ module.exports = {
|
|||||||
|
|
||||||
let data = await getWhitelistData(db, botId);
|
let data = await getWhitelistData(db, botId);
|
||||||
|
|
||||||
|
|
||||||
if (data.whitelist[user.id]) {
|
if (data.whitelist[user.id]) {
|
||||||
delete data.whitelist[user.id];
|
delete data.whitelist[user.id];
|
||||||
await updateWhitelist(db, botId, data);
|
await updateWhitelist(db, botId, data);
|
||||||
@@ -44,18 +44,15 @@ async function getWhitelistData(db, botId) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function updateWhitelist(db, botId, data) {
|
||||||
async function updateWhitelist(db, botId, userId) {
|
|
||||||
return new Promise((resolve, reject) => {
|
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) {
|
if (err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve();
|
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]));
|
const user = message.mentions.users.first() || (args[0] && message.client.users.cache.get(args[0]));
|
||||||
|
|
||||||
if (user) {
|
if (user) {
|
||||||
let data = await getWhitelistData(db, botId);
|
let data = await getWhitelistData(db, botId);
|
||||||
if (!data.whitelist[user.id]) {
|
if (!data.whitelist[user.id]) {
|
||||||
await updateWhitelist(db, botId, user.id);
|
data.whitelist[user.id] = true; // Ajoute l'utilisateur à la liste blanche
|
||||||
message.reply('Utilisateur ajouté à la liste blanche.');
|
await updateWhitelist(db, botId, data);
|
||||||
} else {
|
message.reply('Utilisateur ajouté à la liste blanche.');
|
||||||
message.reply('Cet utilisateur est déjà sur la liste blanche.');
|
} else {
|
||||||
}
|
message.reply('Cet utilisateur est déjà sur la liste blanche.');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
let data = await getWhitelistData(db, botId);
|
let data = await getWhitelistData(db, botId);
|
||||||
const whitelist = data.whitelist || {};
|
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')
|
.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})});
|
.setFooter({ text: 'design by valou336', iconURL: client.user.displayAvatarURL({dynamic: true})});
|
||||||
|
|
||||||
|
|
||||||
message.channel.send({ embeds: [embed] });
|
message.channel.send({ embeds: [embed] });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
async function getWhitelistData(db, botId) {
|
async function getWhitelistData(db, botId) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
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) => {
|
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) {
|
if (err) {
|
||||||
console.error(err.message);
|
console.error(err.message);
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve();
|
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 fs = require('fs');
|
||||||
const path = require('path');
|
|
||||||
const db = require('quick.db');
|
|
||||||
const GestionDb = new db.table("gestion");
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'permupdate',
|
name: 'upp',
|
||||||
description: 'Mettre à jour les permissions dans le fichier permissions.json',
|
description: 'Met à jour le fichier permissions.json avec les commandes manquantes et leur attribue la permission 3',
|
||||||
emote: '🔒',
|
execute(message, args) {
|
||||||
utilisation: 'permupdate',
|
// Lire le fichier permissions.json
|
||||||
category: 'buyer',
|
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) {
|
// Récupérer toutes les commandes du bot
|
||||||
const commands = Array.from(client.commands.keys());
|
const commands = message.client.commands.map(cmd => cmd.name);
|
||||||
const permissionsPath = path.resolve(__dirname, '../permissions.json');
|
|
||||||
const permissionsJson = JSON.parse(fs.readFileSync(permissionsPath));
|
|
||||||
|
|
||||||
|
// Vérifier et ajouter les commandes manquantes avec la permission 3
|
||||||
|
let updated = false;
|
||||||
commands.forEach(command => {
|
commands.forEach(command => {
|
||||||
if (!permissionsJson.hasOwnProperty(command)) {
|
if (!permissions.hasOwnProperty(command)) {
|
||||||
permissionsJson[command] = 5;
|
permissions[command] = 3; // Ajoute la permission 3
|
||||||
|
updated = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fs.writeFileSync(permissionsPath, JSON.stringify(permissionsJson, null, 2));
|
// Si des commandes ont été ajoutées, mettre à jour le fichier permissions.json
|
||||||
|
if (updated) {
|
||||||
message.reply('Les permissions ont été mises à jour avec succès.');
|
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 {
|
try {
|
||||||
const APIKEY = '1e59407044fd6d842180610a8c423aa4';
|
const APIKEY = '1e59407044fd6d842180610a8c423aa4';
|
||||||
const city = args[0];
|
const city = args[0];
|
||||||
|
const randomColor = Math.floor(Math.random() * 16777215).toString(16);
|
||||||
if (!city) {
|
if (!city) {
|
||||||
return message.channel.send('Veuillez fournir une ville.');
|
return message.channel.send('Veuillez fournir une ville.');
|
||||||
}
|
}
|
||||||
@@ -22,13 +22,21 @@ module.exports = {
|
|||||||
const cityName = weatherData.name;
|
const cityName = weatherData.name;
|
||||||
const temperature = weatherData.main.temp;
|
const temperature = weatherData.main.temp;
|
||||||
const weatherDescription = weatherData.weather[0].description;
|
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}`)
|
.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()
|
.setTimestamp()
|
||||||
.setColor('RANDOM') // Discord.js uses 'RANDOM' for random colors
|
.setColor(`#${randomColor}`)
|
||||||
.setFooter({text: message.client.user.username, iconURL: message.client.user.displayAvatarURL({dynamic: true})});
|
.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] });
|
await message.channel.send({ embeds: [Embed] });
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ module.exports = (client) => {
|
|||||||
if (owners[member.id]) {
|
if (owners[member.id]) {
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
let highestPermission = 0;
|
let highestPermission = 0;
|
||||||
for (let i = 1; i <= 9; i++) {
|
for (let i = 1; i <= 9; i++) {
|
||||||
const roleIds = data.permissions && data.permissions[guildId] && data.permissions[guildId].p && data.permissions[guildId].p[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) {
|
if (command) {
|
||||||
const permissionLevel = await getPermissionLevel(message.member, client);
|
const permissionLevel = await getPermissionLevel(message.member, client);
|
||||||
|
console.log(permissionLevel + " : " +permissions[command.name] + " : " + command.name)
|
||||||
try {
|
try {
|
||||||
if (permissionLevel === 11) {
|
if (permissionLevel === 11) {
|
||||||
command.execute(message, args, client);
|
command.execute(message, args, client);
|
||||||
|
|||||||
+50
-1
@@ -118,5 +118,54 @@
|
|||||||
"stat": 10,
|
"stat": 10,
|
||||||
"random": 0,
|
"random": 0,
|
||||||
"greet": 10,
|
"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