mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 23:21:52 +02:00
correction petit probleme db
This commit is contained in:
@@ -4,3 +4,4 @@
|
||||
json.sqlite
|
||||
mybot.js
|
||||
changelog.js
|
||||
myDatabase.db
|
||||
@@ -1,11 +0,0 @@
|
||||
const { Events, InteractionType } = require("discord.js");
|
||||
|
||||
module.exports = {
|
||||
name: Events.InteractionCreate,
|
||||
async execute(client, interaction) {
|
||||
if (interaction.type === InteractionType.ApplicationCommand) {
|
||||
const command = client.commands.get(interaction.commandName);
|
||||
await command.execute(interaction, client);
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,49 +0,0 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const { Events } = require('discord.js');
|
||||
const permissions = require('../../permissions.json');
|
||||
|
||||
module.exports = {
|
||||
name: Events.ClientReady,
|
||||
async execute(client) {
|
||||
const db = new sqlite3.Database('myDatabase.db', (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
console.log('Connected to the SQLite database.');
|
||||
});
|
||||
|
||||
let permissionsData = await new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [client.user.id], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
});
|
||||
});
|
||||
|
||||
if (!permissionsData.permissions) {
|
||||
permissionsData.permissions = {};
|
||||
}
|
||||
|
||||
permissionsData.permissions = permissions;
|
||||
const permissionsJson = JSON.stringify(permissionsData);
|
||||
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [client.user.id, permissionsJson], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log(`Les permissions ont été chargées pour le bot ${client.user.tag}`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`Le bot ${client.user.tag} est en ligne`);
|
||||
process.on('uncaughtException', (error) => {
|
||||
console.error('Uncaught Exception:', error);
|
||||
});
|
||||
|
||||
process.on('unhandledRejection', (reason, promise) => {
|
||||
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,68 +0,0 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
|
||||
// Setup SQLite3 database connection
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: 'greet',
|
||||
description: 'Ajoute ou supprime un salon des greet',
|
||||
emote: '👋',
|
||||
utilisation: 'greet <salon>',
|
||||
category: 'gestion',
|
||||
|
||||
async execute(message, args) {
|
||||
const botId = message.client.user.id;
|
||||
const guildId = message.guild.id;
|
||||
|
||||
const channelId = args[0] ? args[0].replace(/<#|>/g, '') : message.channel.id;
|
||||
|
||||
// Query the greetings data from the SQLite3 database
|
||||
let greet = await new EmbedBuilder((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) : {});
|
||||
});
|
||||
});
|
||||
|
||||
// Access the specific guild's greetings
|
||||
let guildGreetings = greet[guildId] || [];
|
||||
|
||||
const index = guildGreetings.findIndex(greeting => greeting.channelId === channelId);
|
||||
|
||||
if (index !== -1) {
|
||||
guildGreetings.splice(index, 1);
|
||||
greet[guildId] = guildGreetings;
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(greet)], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
});
|
||||
const embed = new EmbedBuilder()
|
||||
.setDescription(`Le salon <#${channelId}> a été retiré de la liste des salutations.`)
|
||||
.setColor('#0099ff');
|
||||
message.channel.send({ embeds: [embed] });
|
||||
} else if (guildGreetings.length < 5) {
|
||||
guildGreetings.push({ channelId });
|
||||
|
||||
greet[guildId] = guildGreetings;
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(greet)], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
});
|
||||
const embed = new EmbedBuilder()
|
||||
.setDescription(`Le salon <#${channelId}> a été ajouté à la liste des salutations.`)
|
||||
.setColor('#0099ff');
|
||||
message.channel.send({ embeds: [embed] });
|
||||
} else {
|
||||
const embed = new EmbedBuilder()
|
||||
.setDescription('Il y a déjà 5 salons dans la liste des salutations. Vous ne pouvez pas en ajouter d\'autres.')
|
||||
.setColor('#ff0000');
|
||||
message.channel.send({ embeds: [embed] });
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,37 +0,0 @@
|
||||
const {Events} = require("discord.js")
|
||||
const db = require('quick.db');
|
||||
const PrevnameDb = new db.table("prevname");
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db2 = new sqlite3.Database('myDatabase.db');
|
||||
module.exports = {
|
||||
name: Events.InteractionCreate,
|
||||
async execute(interaction, client) {
|
||||
const botId = client.user.id;
|
||||
let owners = await new Promise((resolve, reject) => {
|
||||
db2.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value).owners || {} : {});
|
||||
});
|
||||
});
|
||||
if (!interaction.isButton()) return;
|
||||
if (interaction.customId.startsWith('deletesuggestion_')) {
|
||||
const userId= interaction.customId.split('_')[1];
|
||||
if (interaction.user.id !== userId && !Object.keys(owners).includes(interaction.user.id)) {
|
||||
await interaction.reply({ content: "vous n'avez pas la permission de supprimer cette suggestion.", ephemeral: true });
|
||||
return;
|
||||
}
|
||||
await interaction.message.delete();
|
||||
} else if (interaction.customId.startsWith('deleteprevnames_')) {
|
||||
const userId = interaction.customId.split('_')[1];
|
||||
if (interaction.user.id !== userId) {
|
||||
await interaction.reply({ content: "vous n'avez pas la permission de suprimer cette suggestion.", ephemeral: true });
|
||||
return;
|
||||
}
|
||||
await PrevnameDb.delete(userId)
|
||||
await interaction.reply({ content: "Vos prevname on etait correctement supprimer.", ephemeral: true });
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,47 +0,0 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const { Events } = require("discord.js");
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildMemberAdd,
|
||||
async execute(member) {
|
||||
const botId = member.client.user.id;
|
||||
const guildId = member.guild.id;
|
||||
|
||||
let greet = 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) : {});
|
||||
});
|
||||
});
|
||||
const guildGreetings = greet[guildId] || [];
|
||||
|
||||
if (guildGreetings.length > 0) {
|
||||
const welcomeMessage = `Bienvenue <@${member.id}> sur le serveur ${member.guild.name} !`;
|
||||
const messagePromises = [];
|
||||
for (const greeting of guildGreetings) {
|
||||
try {
|
||||
const channel = await member.guild.channels.fetch(greeting.channelId);
|
||||
if (channel && channel.type === 0) {
|
||||
messagePromises.push(
|
||||
channel.send(welcomeMessage)
|
||||
.then(message => {
|
||||
setTimeout(() => message.delete(), 1000);
|
||||
})
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
try {
|
||||
await Promise.all(messagePromises);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,60 +0,0 @@
|
||||
const db = require('quick.db');
|
||||
const GestionDb = new db.table('gestion');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const db2 = new sqlite3.Database('myDatabase.db');
|
||||
const {Events} = require("discord.js")
|
||||
module.exports = {
|
||||
name: Events.GuildMemberAdd,
|
||||
async execute(oldMember, newMember) {
|
||||
const botId = newMember.client.user.id;
|
||||
const guildId = newMember.guild.id;
|
||||
|
||||
let data = await new Promise((resolve, reject) => {
|
||||
db2.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
});
|
||||
});
|
||||
|
||||
// Access the specific guild's blrank data
|
||||
let blrank = data.blrank || {};
|
||||
|
||||
if (blrank[guildId] && blrank[guildId][newMember.id]) {
|
||||
const addedRoles = newMember.roles.cache.filter(role => !oldMember.roles.cache.has(role.id));
|
||||
addedRoles.forEach(async role => {
|
||||
try {
|
||||
await newMember.roles.remove(role);
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
const limitedRoles = GestionDb.get(`${botId}.${guildId}.rolelimits`) || [];
|
||||
const addedRoles = newMember.roles.cache.filter(role => !oldMember.roles.cache.has(role.id));
|
||||
|
||||
addedRoles.forEach(async role => {
|
||||
const limitedRole = limitedRoles.find(r => r.id === role.id);
|
||||
if (limitedRole) {
|
||||
const memberCount = newMember.guild.members.cache.filter(m => m.roles.cache.has(role.id)).size;
|
||||
if (limitedRole.limit === 0) {
|
||||
try {
|
||||
await newMember.roles.remove(role);
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
|
||||
}
|
||||
}
|
||||
if (memberCount > limitedRole.limit) {
|
||||
try {
|
||||
await newMember.roles.remove(role);
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors de la suppression du rôle <@&${role.id}> pour le membre ${newMember.user.tag}:`, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,46 +0,0 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const { Events } = require("discord.js");
|
||||
|
||||
// Setup SQLite3 database connection
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: Events.VoiceStateUpdate,
|
||||
async execute(oldState, newState) {
|
||||
if (!oldState.channelId && newState.channelId) {
|
||||
const guildId = newState.guild.id;
|
||||
const botId = newState.client.user.id;
|
||||
const channelId = newState.channelId;
|
||||
|
||||
// Query the bot's data from the SQLite3 database
|
||||
let data = 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) : {});
|
||||
});
|
||||
});
|
||||
|
||||
// Access the specific guild's rolevocal data
|
||||
let rolevocal = data.rolevocal || {};
|
||||
let guildRoles = rolevocal[guildId] || {};
|
||||
let channelRoles = guildRoles[channelId] || [];
|
||||
|
||||
if (channelRoles.length > 0) {
|
||||
const member = newState.member;
|
||||
for (const roleId of channelRoles) {
|
||||
const role = newState.guild.roles.cache.get(roleId);
|
||||
if (role) {
|
||||
try {
|
||||
await member.roles.add(role);
|
||||
} catch (error) {
|
||||
console.error(`Erreur lors de l'ajout du rôle ${roleId} à l'utilisateur ${member.id}:`, error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,45 +0,0 @@
|
||||
const { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } = require('discord.js');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
const { Events } = require("discord.js");
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
|
||||
module.exports = {
|
||||
name: Events.MessageCreate,
|
||||
async execute(message) {
|
||||
const botId = message.client.user.id;
|
||||
const guildId = message.guild.id;
|
||||
|
||||
let data = 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) : {});
|
||||
});
|
||||
});
|
||||
const suggestChannelId = data.suggestChannel && data.suggestChannel[guildId];
|
||||
|
||||
if (message.channel.id === suggestChannelId && !message.author.bot) {
|
||||
await message.delete();
|
||||
|
||||
const embed = new EmbedBuilder()
|
||||
.setAuthor({ name: message.author.tag, iconURL: message.author.displayAvatarURL() })
|
||||
.setDescription(message.content || 'Aucun contenu fourni')
|
||||
.setFooter({ text: `${message.guild.name} | ${message.client.user.username}`, })
|
||||
.setColor('#409CED');
|
||||
|
||||
const row = new ActionRowBuilder()
|
||||
.addComponents(
|
||||
new ButtonBuilder()
|
||||
.setCustomId(`deletesuggestion_${message.author.id}`)
|
||||
.setLabel('Supprimer')
|
||||
.setStyle(ButtonStyle.Danger)
|
||||
);
|
||||
|
||||
const suggestionMessage = await message.channel.send({ embeds: [embed], components: [row] });
|
||||
suggestionMessage.react('👎')
|
||||
suggestionMessage.react('👍')
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,15 +0,0 @@
|
||||
const {Events} = require("discord.js")
|
||||
|
||||
module.exports = {
|
||||
name: Events.MessageDelete,
|
||||
once: false,
|
||||
async execute(message, client) {
|
||||
if (message.author.bot) return;
|
||||
|
||||
client.snipes.set(message.channel.id, {
|
||||
content: message.content,
|
||||
author: message.author.id,
|
||||
timestamp: Date.now(),
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -1,20 +0,0 @@
|
||||
const { Events } = require("discord.js");
|
||||
const db = require('quick.db');
|
||||
const PrevnameDb = new db.table("prevname");
|
||||
module.exports = {
|
||||
name: Events.GuildMemberUpdate,
|
||||
async execute(oldMember, newMember) {
|
||||
if (oldMember.displayName !== newMember.displayName) {
|
||||
let changeData = {
|
||||
oldName: oldMember.displayName,
|
||||
newName: newMember.displayName,
|
||||
changeDate: Math.floor(Date.now() / 1000)
|
||||
};
|
||||
let nameChanges = PrevnameDb.get(`${newMember.id}.nameChanges`) || [];
|
||||
|
||||
nameChanges.push(changeData);
|
||||
|
||||
PrevnameDb.set(`${newMember.id}.nameChanges`, nameChanges);
|
||||
}
|
||||
},
|
||||
};
|
||||
@@ -1,113 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
|
||||
module.exports = (client) => {
|
||||
const loadCommands = (dir) => {
|
||||
let count = 0;
|
||||
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);
|
||||
client.commands.set(command.name, command);
|
||||
if (command.aliases) {
|
||||
command.aliases.forEach(alias => {
|
||||
client.commands.set(alias, command);
|
||||
});
|
||||
}
|
||||
count++;
|
||||
} catch (error) {
|
||||
console.error(`Failed to load file: ${filePath}`);
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
return count;
|
||||
}
|
||||
const db = new sqlite3.Database('myDatabase.db');
|
||||
async function getPermissionLevel(member, client) {
|
||||
const botId = client.user.id;
|
||||
const guildId = member.guild.id;
|
||||
const buyerId = ['1003985920162287696', '671763971803447298'];
|
||||
|
||||
let data = 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) : {});
|
||||
});
|
||||
});
|
||||
|
||||
let owners = data.owners || {};
|
||||
if (buyerId.includes(member.id)) {
|
||||
return 11;
|
||||
}
|
||||
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];
|
||||
if (roleIds) {
|
||||
if (roleIds.some(id => member.roles.cache.has(id))) {
|
||||
highestPermission = Math.max(highestPermission, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
return highestPermission;
|
||||
}
|
||||
const totalCommands = loadCommands('../commands');
|
||||
console.log(`Commands => ${totalCommands} commandes préfixées chargées sur le bot`);
|
||||
|
||||
client.on('messageCreate', async message => {
|
||||
const botId = client.user.id;
|
||||
const guildId = message.guild.id;
|
||||
|
||||
let data = 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) : {});
|
||||
});
|
||||
});
|
||||
|
||||
const permissions = data.permissions || {};
|
||||
const defaultPrefix = "+";
|
||||
let mainPrefix = data.prefix || defaultPrefix;
|
||||
let serverPrefix = data.permissions && data.permissions[guildId] && data.permissions[guildId].prefix || mainPrefix;
|
||||
const prefix = serverPrefix !== undefined ? serverPrefix : mainPrefix;
|
||||
|
||||
if (!message.content.startsWith(prefix) || message.author.bot) return;
|
||||
|
||||
const args = message.content.slice(prefix.length).trim().split(/ +/);
|
||||
const commandName = args.shift().toLowerCase();
|
||||
if (!client.commands.has(commandName)) return;
|
||||
const command = client.commands.get(commandName)
|
||||
|| client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));
|
||||
|
||||
if (command) {
|
||||
const permissionLevel = await getPermissionLevel(message.member, client, guildId);
|
||||
|
||||
try {
|
||||
if (permissionLevel === 11) {
|
||||
command.execute(message, args, client);
|
||||
} else if (permissionLevel >= permissions[command.name]) {
|
||||
command.execute(message, args, client);
|
||||
} else {
|
||||
return message.reply("Vous n'avez pas accès à cette commande.");
|
||||
}
|
||||
} catch {
|
||||
console.error(`Erreur lors de l'exécution de la commande: ${command.name}`);
|
||||
message.reply('Une erreur est survenue lors de l\'exécution de cette commande.');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = (client) => {
|
||||
let count = 0;
|
||||
const loadEvents = (dir) => {
|
||||
fs.readdirSync(path.join(__dirname, dir)).forEach(file => {
|
||||
const filePath = path.join(__dirname, dir, file);
|
||||
if (fs.statSync(filePath).isDirectory()) {
|
||||
loadEvents(path.join(dir, file));
|
||||
} else if (file.endsWith('.js')) {
|
||||
delete require.cache[require.resolve(filePath)];
|
||||
const event = require(filePath);
|
||||
if (typeof event.execute === 'function') {
|
||||
client.on(event.name, (...args) => event.execute(...args, client));
|
||||
console.log(`Event ${event.name} loaded`);
|
||||
count++;
|
||||
} else {
|
||||
console.error(`Event ${event.name} does not have an execute method.`);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
loadEvents('../events');
|
||||
console.log(`Event => ${count} chargé sur le bot`)
|
||||
}
|
||||
+39
-22
@@ -12,31 +12,48 @@ module.exports = {
|
||||
console.log('Connected to the SQLite database.');
|
||||
});
|
||||
|
||||
let permissionsData = await new Promise((resolve, reject) => {
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [client.user.id], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
resolve(row ? JSON.parse(row.value) : {});
|
||||
// Wrap the serialize operations in a promise to use async/await
|
||||
await new Promise((resolve, reject) => {
|
||||
db.serialize(() => {
|
||||
// Create the table if it doesn't exist
|
||||
db.run('CREATE TABLE IF NOT EXISTS gestion (id TEXT PRIMARY KEY, value TEXT)', (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
console.log('Table gestion created or already exists.');
|
||||
}
|
||||
});
|
||||
|
||||
// Now that the table is guaranteed to exist, proceed with other operations
|
||||
db.get('SELECT value FROM gestion WHERE id = ?', [client.user.id], (err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
let permissionsData = row ? JSON.parse(row.value) : {};
|
||||
|
||||
if (!permissionsData.permissions) {
|
||||
permissionsData.permissions = {};
|
||||
}
|
||||
|
||||
permissionsData.permissions = permissions;
|
||||
const permissionsJson = JSON.stringify(permissionsData);
|
||||
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [client.user.id, permissionsJson], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
} else {
|
||||
console.log(`Les permissions ont été chargées pour le bot ${client.user.tag}`);
|
||||
resolve(); // Resolve the promise once all operations are complete
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
if (!permissionsData.permissions) {
|
||||
permissionsData.permissions = {};
|
||||
}
|
||||
|
||||
permissionsData.permissions = permissions;
|
||||
const permissionsJson = JSON.stringify(permissionsData);
|
||||
|
||||
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [client.user.id, permissionsJson], (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
} else {
|
||||
console.log(`Les permissions ont été chargées pour le bot ${client.user.tag}`);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`Le bot ${client.user.tag} est en ligne`);
|
||||
process.on('uncaughtException', (error) => {
|
||||
console.error('Uncaught Exception:', error);
|
||||
|
||||
Reference in New Issue
Block a user