change quick.db to sqlite3

This commit is contained in:
VALOU3336
2024-02-25 21:25:18 +01:00
parent 15d2ea19c1
commit 667ac32ca1
48 changed files with 1433 additions and 2687 deletions
+44 -13
View File
@@ -1,6 +1,5 @@
const { EmbedBuilder} = require('discord.js');
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const { EmbedBuilder } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'blrank',
@@ -10,29 +9,61 @@ module.exports = {
category: 'gestion',
async execute(message, args, client) {
const db = new sqlite3.Database('myDatabase.db');
const botId = message.client.user.id;
const guildId = message.guild.id;
if (args.length > 0) {
const userId = args[0].replace(/<@!?(\d+)>/, '$1');
let blrank = await GestionDb.get(`${botId}.${guildId}.blrank`) || {};
if (blrank[userId]) {
delete blrank[userId];
await GestionDb.set(`${botId}.${guildId}.blrank`, blrank);
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) : {});
});
});
if (!data.blrank) {
data.blrank = {};
}
if (data.blrank[userId]) {
delete data.blrank[userId];
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply('Utilisateur retiré de la blrank.');
} else {
blrank[userId] = true;
await GestionDb.set(`${botId}.${guildId}.blrank`, blrank);
data.blrank[userId] = true;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply('Utilisateur ajouté à la blrank.');
}
} else {
let blrank = await GestionDb.get(`${botId}.${guildId}.blrank`) || {};
const embed = new EmbedBuilder()
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 blrank = data.blrank || {};
const embed = new EmbedBuilder()
.setTitle('Blrank')
.setDescription(Object.keys(blrank).map(id => `<@${id}>`).join('\n') || 'Aucun utilisateur sur la liste blanche')
.setFooter({ text: message.client.user.username, iconURL: client.user.displayAvatarURL({dynamic: true})});
message.channel.send({ embeds: [embed] });
}
},
+33 -17
View File
@@ -1,7 +1,7 @@
const fs = require('fs');
const path = require('path');
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'change',
aliases: ['permchange'],
@@ -9,11 +9,12 @@ module.exports = {
emote: '🔄',
utilisation: 'change <commande> <perm>',
category: 'botcontrol',
async execute(message, args, client) {
const botId = client.user.id;
const unchangeableCommands = ['owner', 'unowner','buyer'];
const unchangeableCommands = ['owner', 'unowner', 'buyer'];
if (args.length < 2) {
if (args.length < 2) {
return message.reply('Veuillez spécifier une commande et un niveau de permission.');
}
@@ -21,16 +22,13 @@ module.exports = {
let permissionLevel;
if (args[1] === 'owner') {
permissionLevel = 10;
}
else if (args[1] === 'buyer') {
permissionLevel = 11;
}
else {
permissionLevel = 10;
} else if (args[1] === 'buyer') {
permissionLevel = 11;
} else {
permissionLevel = parseInt(args[1]);
if (isNaN(permissionLevel) || permissionLevel < 0 || permissionLevel > 9) {
return message.reply('Veuillez spécifier un niveau de permission valide (entre 0 et 9).');
if (isNaN(permissionLevel) || permissionLevel < 0 || permissionLevel > 9) {
return message.reply('Veuillez spécifier un niveau de permission valide (entre 0 et 9).');
}
}
@@ -42,10 +40,28 @@ module.exports = {
return message.reply('Cette commande n\'existe pas.');
}
let permissions = await GestionDb.get(`${botId}.permissions`);
permissions[commandName] = permissionLevel;
await GestionDb.set(`${botId}.permissions`, permissions);
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) : {});
});
});
message.reply(`Le niveau de permission de la commande ${commandName} a été changé à ${args[0].toLowerCase()}.`);
if (!permissions.permissions) {
permissions.permissions = {};
}
permissions.permissions[commandName] = permissionLevel;
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 la commande ${commandName} a été changé à ${permissionLevel}.`);
},
};
+49 -20
View File
@@ -1,46 +1,75 @@
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'delperm',
description: 'Supprime un rôle d\'un niveau de permission ou d\'une commande',
emote: '❌',
emote: '❌',
utilisation: 'delperm <perm/commande> @role',
category: 'gestion',
async execute(message, args, client) {
const db = new sqlite3.Database('myDatabase.db');
const botId = client.user.id;
const guildId = message.guild.id;
const permissionOrCommand = args[0].toLowerCase();
const role = message.mentions.roles.first();
if (!role) {
return message.reply('Veuillez mentionner un rôle valide.');
}
if (['1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(permissionOrCommand)) {
let roleIds = await GestionDb.get(`${botId}.${message.guild.id}.p${permissionOrCommand}`);
if (roleIds) {
if (!Array.isArray(roleIds)) {
roleIds = [roleIds];
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);
}
const index = roleIds.indexOf(role.id);
resolve(row ? JSON.parse(row.value) : {});
});
});
if (!data.permissions) {
data.permissions = {};
}
if (['1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(permissionOrCommand)) {
if (!data.permissions[guildId]) {
data.permissions[guildId] = {};
}
if (!data.permissions[guildId].p) {
data.permissions[guildId].p = {};
}
if (data.permissions[guildId].p[permissionOrCommand]) {
const index = data.permissions[guildId].p[permissionOrCommand].indexOf(role.id);
if (index !== -1) {
roleIds.splice(index, 1);
await GestionDb.set(`${botId}.${message.guild.id}.p${permissionOrCommand}`, roleIds);
data.permissions[guildId].p[permissionOrCommand].splice(index, 1);
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
}
}
message.reply(`Le rôle pour ${permissionOrCommand} a été supprimé.`);
} else {
let roleIds = await GestionDb.get(`${botId}.${message.guild.id}.c${permissionOrCommand}`);
if (roleIds) {
if (!Array.isArray(roleIds)) {
roleIds = [roleIds];
}
const index = roleIds.indexOf(role.id);
if (!data.permissions[guildId]) {
data.permissions[guildId] = {};
}
if (!data.permissions[guildId].c) {
data.permissions[guildId].c = {};
}
if (data.permissions[guildId].c[permissionOrCommand]) {
const index = data.permissions[guildId].c[permissionOrCommand].indexOf(role.id);
if (index !== -1) {
roleIds.splice(index, 1);
await GestionDb.set(`${botId}.${message.guild.id}.c${permissionOrCommand}`, roleIds);
data.permissions[guildId].c[permissionOrCommand].splice(index, 1);
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
}
}
message.reply(`L commande ${permissionOrCommand} a été supprimé du role.`);
message.reply(`La commande ${permissionOrCommand} a été supprimée du rôle.`);
}
},
};
+25 -8
View File
@@ -1,6 +1,6 @@
const { EmbedBuilder } = require('discord.js');
const db = require('quick.db');
const GestionDb = new db.table('gestion');
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: 'greet',
@@ -12,29 +12,46 @@ module.exports = {
async execute(message, args) {
const botId = message.client.user.id;
const guildId = message.guild.id;
const guildGreetings = GestionDb.get(`${botId}.${guildId}.greetings`) || [];
const channelId = args[0] ? args[0].replace(/<#|>/g, '') : message.channel.id;
let guildGreetings = await new Promise((resolve, reject) => {
db.get('SELECT value FROM gestion WHERE id = ?', [`${botId}.${guildId}.greetings`], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
resolve(row ? JSON.parse(row.value) : []);
});
});
const index = guildGreetings.findIndex(greeting => greeting.channelId === channelId);
if (index !== -1) {
guildGreetings.splice(index, 1);
GestionDb.set(`${botId}.${guildId}.greetings`, guildGreetings);
guildGreetings.splice(index, 1);
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [`${botId}.${guildId}.greetings`, JSON.stringify(guildGreetings)], (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) {
} else if (guildGreetings.length < 5) {
guildGreetings.push({ channelId });
GestionDb.set(`${botId}.${guildId}.greetings`, guildGreetings);
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [`${botId}.${guildId}.greetings`, JSON.stringify(guildGreetings)], (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.')
.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] });
}
+28 -15
View File
@@ -1,6 +1,5 @@
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const { EmbedBuilder } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
const { EmbedBuilder } = require('discord.js');
module.exports = {
name: 'perm',
@@ -11,13 +10,29 @@ module.exports = {
category: 'gestion',
async execute(message, client) {
const db = new sqlite3.Database('myDatabase.db');
const botId = message.client.user.id;
const guildId = message.guild.id;
const embed = new EmbedBuilder()
.setTitle('Rôles de permission et de commande')
.setColor('#0099ff');
for (let i = 1; i <= 9; i++) {
let roleIds = await GestionDb.get(`${botId}.${message.guild.id}.p${i}`);
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) : {});
});
});
if (!data.permissions) {
data.permissions = {};
}
for (let i = 1; i <= 9; i++) {
let roleIds = data.permissions[guildId] && data.permissions[guildId].p && data.permissions[guildId].p[i];
let roles = 'Aucun rôle défini';
if (roleIds) {
if (!Array.isArray(roleIds)) {
@@ -27,14 +42,14 @@ module.exports = {
}
embed.addFields({ name: `Perm ${i}`, value: roles});
}
const commandNames = await GestionDb.get(`${botId}.${message.guild.id}.commandNames`);
if (commandNames && commandNames.length > 0) {
// Créez un objet pour regrouper les commandes par rôle
const commandNames = data.permissions[guildId] && data.permissions[guildId].commandNames;
if (commandNames && commandNames.length > 0) {
const commandsByRole = {};
for (const commandName of commandNames) {
const roleIds = await GestionDb.get(`${botId}.${message.guild.id}.c${commandName}`);
if (roleIds && roleIds.length > 0) {
const roleIds = data.permissions[guildId] && data.permissions[guildId].c && data.permissions[guildId].c[commandName];
if (roleIds && roleIds.length > 0) {
for (const roleId of roleIds) {
if (!commandsByRole[roleId]) {
commandsByRole[roleId] = [];
@@ -43,15 +58,13 @@ module.exports = {
}
}
}
// Ajoutez chaque groupe de commandes à l'embed
for (const roleId in commandsByRole) {
const role = message.guild.roles.cache.get(roleId);
const commands = commandsByRole[roleId].join('\n');
embed.addFields({ name: `${role.name}`,value: commands , inline: true });
embed.addField(`${role.name}`, commands, true);
}
}
message.channel.send({ embeds: [embed] });
},
+35 -10
View File
@@ -1,29 +1,54 @@
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'prefix',
aliases: ['setprefix'],
description: 'Change le préfixe du bot ',
emote: '🔧',
description: 'Change le préfixe du bot',
emote: '🔧',
utilisation: 'prefix <newprefix/main>',
category: 'botcontrol',
async execute(message, args, client) {
const db = new sqlite3.Database('myDatabase.db');
const botId = client.user.id;
const guildId = message.guild.id;
if (args.length < 1) {
if (args.length < 1) {
return message.reply('Veuillez spécifier un nouveau préfixe.');
}
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) : {});
});
});
if (!data.prefixes) {
data.prefixes = {};
}
if (args[0] === "main") {
const newPrefix = args[1];
await GestionDb.set(`${botId}.prefix`, newPrefix);
data.prefixes.main = newPrefix;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply(`Le main préfixe a été changé à ${newPrefix}.`);
}else {
const newPrefix = args[0];
await GestionDb.set(`${botId}.${guildId}.prefix`, newPrefix);
message.reply(`Le préfixe a été changé à ${newPrefix}.`);
} else {
const newPrefix = args[0];
data.prefixes[guildId] = newPrefix;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply(`Le préfixe a été changé à ${newPrefix}.`);
}
},
};
+44 -16
View File
@@ -1,6 +1,5 @@
const { ChannelType , EmbedBuilder } = require('discord.js');
const db = require('quick.db');
const GestionDb = new db.table('gestion');
const { ChannelType, EmbedBuilder } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'rvocal',
@@ -10,31 +9,37 @@ module.exports = {
category: 'gestion',
async execute(message, args) {
const db = new sqlite3.Database('myDatabase.db');
const botId = message.client.user.id;
const guildId = message.guild.id;
let mentionedChannel = message.mentions.channels.first();
if (!mentionedChannel) {
const channelId = args[0];
mentionedChannel = message.guild.channels.cache.get(channelId);
if (!mentionedChannel || mentionedChannel.type !== ChannelType.GuildVoice) {
return message.channel.send("Veuillez mentionner un salon vocal valide ou fournir un ID de salon vocal valide.");
}
}
if (mentionedChannel === ChannelType.GuildText || mentionedChannel === ChannelType.DM) {
return message.channel.send("Veuillez mentionner un salon vocal valide ou fournir un ID de salon vocal valide.");
}
if (args.length === 1 ) {
const channelId = args[0];
mentionedChannel = message.guild.channels.cache.get(channelId);
if (!mentionedChannel || mentionedChannel.type !== ChannelType.GuildVoice) {
return message.channel.send("Veuillez mentionner un salon vocal valide ou fournir un ID de salon vocal valide.");
}
}
if (mentionedChannel.type !== ChannelType.GuildVoice) {
return message.channel.send("Veuillez mentionner un salon vocal valide ou fournir un ID de salon vocal valide.");
}
const roles = GestionDb.get(`${botId}.${guildId}.rolevocal.${mentionedChannel.id}`) || [];
if (args.length === 1 ) {
const roles = 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 channelRoles = roles.rolevocal && roles.rolevocal[guildId] && roles.rolevocal[guildId][mentionedChannel.id] || [];
const embed = new EmbedBuilder()
.setTitle(`Rôles associés au salon vocal <#${mentionedChannel.id}>`)
.setDescription(roles.length > 0 ? roles.map(roleId => `<@&${roleId}>`).join(', ') : 'Aucun rôle associé.')
.setDescription(channelRoles.length > 0 ? channelRoles.map(roleId => `<@&${roleId}>`).join(', ') : 'Aucun rôle associé.')
.setColor('#0099ff');
return message.channel.send({ embeds: [embed] });
@@ -55,7 +60,30 @@ module.exports = {
}
}
GestionDb.set(`${botId}.${guildId}.rolevocal.${mentionedChannel.id}`, roles);
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) : {});
});
});
if (!data.rolevocal) {
data.rolevocal = {};
}
if (!data.rolevocal[guildId]) {
data.rolevocal[guildId] = {};
}
data.rolevocal[guildId][mentionedChannel.id] = roles;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Les rôles ont été enregistrés pour le salon vocal <#${mentionedChannel.id}>.`);
}
},
+50 -21
View File
@@ -1,14 +1,16 @@
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'setperm',
description: 'Définit un rôle pour un niveau de permission ou une commande',
emote: '🔑',
emote: '🔑',
utilisation: 'setperm <perm/commande> @role',
category: 'gestion',
async execute(message, args, client) {
const db = new sqlite3.Database('myDatabase.db');
const botId = message.client.user.id;
const guildId = message.guild.id;
const permissionOrCommand = args[0].toLowerCase();
const role = message.mentions.roles.first();
@@ -16,43 +18,70 @@ module.exports = {
return message.reply('Veuillez mentionner un rôle valide.');
}
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) : {});
});
});
if (!data.permissions) {
data.permissions = {};
}
if (['1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(permissionOrCommand)) {
for (let i = 1; i <= 9; i++) {
let oldRoleIds = await GestionDb.get(`${botId}.${message.guild.id}.p${i}`);
if (!data.permissions[guildId]) {
data.permissions[guildId] = {};
}
if (!data.permissions[guildId].p) {
data.permissions[guildId].p = {};
}
for (let i = 1; i <= 9; i++) {
let oldRoleIds = data.permissions[guildId].p[i];
if (oldRoleIds) {
if (!Array.isArray(oldRoleIds)) {
oldRoleIds = [oldRoleIds];
}
const index = oldRoleIds.indexOf(role.id);
if (index !== -1) {
oldRoleIds.splice(index, 1);
await GestionDb.set(`${botId}.${message.guild.id}.p${i}`, oldRoleIds);
oldRoleIds.splice(index, 1);
}
}
}
let roleIds = await GestionDb.get(`${botId}.${message.guild.id}.p${permissionOrCommand}`);
let roleIds = data.permissions[guildId].p[permissionOrCommand];
if (!roleIds) {
roleIds = [];
} else if (!Array.isArray(roleIds)) {
roleIds = [roleIds];
}
roleIds.push(role.id);
await GestionDb.set(`${botId}.${message.guild.id}.p${permissionOrCommand}`, roleIds);
message.reply(`La permission ${permissionOrCommand} a été défini sur ${role.name}.`);
data.permissions[guildId].p[permissionOrCommand] = roleIds;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply(`La permission ${permissionOrCommand} a été définie sur ${role.name}.`);
} else {
if (!client.commands.has(permissionOrCommand)) {
return message.reply('Cette commande n\'existe pas.');
}
let roleIds = await GestionDb.get(`${botId}.${message.guild.id}.c${permissionOrCommand}`);
if (!data.permissions[guildId]) {
data.permissions[guildId] = {};
}
if (!data.permissions[guildId].c) {
data.permissions[guildId].c = {};
}
let roleIds = data.permissions[guildId].c[permissionOrCommand];
if (!roleIds) {
roleIds = [];
} else if (!Array.isArray(roleIds)) {
roleIds = [roleIds];
}
roleIds.push(role.id);
await GestionDb.set(`${botId}.${message.guild.id}.c${permissionOrCommand}`, roleIds);
GestionDb.push(`${botId}.${message.guild.id}.commandNames`, permissionOrCommand);
message.reply(`La role ${role.name} a maintenant accée a la commande ${permissionOrCommand} .`);
data.permissions[guildId].c[permissionOrCommand] = roleIds;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.reply(`Le rôle ${role.name} a maintenant accès à la commande ${permissionOrCommand}.`);
}
},
};
+44 -8
View File
@@ -1,5 +1,4 @@
const db = require('quick.db');
const GestionDb = new db.table("gestion");
const sqlite3 = require('sqlite3').verbose();
module.exports = {
name: 'suggest',
@@ -7,18 +6,45 @@ module.exports = {
emote: '💡',
utilisation: 'suggest #channel',
category: 'gestion',
async execute(message, args, client) {
const botid = client.user.id;
const db = new sqlite3.Database('myDatabase.db');
const botId = client.user.id;
const guildId = message.guild.id;
const currentSuggestChannelId = GestionDb.get(`${botid}.${guildId}.suggestchannel`);
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) : {});
});
});
if (!data.suggestChannel) {
data.suggestChannel = {};
}
const currentSuggestChannelId = data.suggestChannel[guildId];
const mentionedChannel = message.mentions.channels.first();
if (mentionedChannel) {
if (mentionedChannel.id === currentSuggestChannelId) {
GestionDb.delete(`${botid}.${guildId}.suggestchannel`);
delete data.suggestChannel[guildId];
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le salon de suggestion a été supprimé.`);
} else {
GestionDb.set(`${botid}.${guildId}.suggestchannel`, mentionedChannel.id);
data.suggestChannel[guildId] = mentionedChannel.id;
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le salon de suggestion a été configuré à <#${mentionedChannel.id}>`);
}
return;
@@ -28,10 +54,20 @@ module.exports = {
const channel = message.guild.channels.cache.get(args[0]);
if (channel) {
if (channel.id === currentSuggestChannelId) {
GestionDb.delete(`${botid}.${guildId}.suggestchannel`);
delete data.suggestChannel[guildId];
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le salon de suggestion a été supprimé.`);
} else {
GestionDb.set(`${botid}.${guildId}.suggestchannel`, args[0]);
data.suggestChannel[guildId] = args[0];
db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [botId, JSON.stringify(data)], (err) => {
if (err) {
console.error(err.message);
}
});
message.channel.send(`Le salon de suggestion a été configuré à <#${args[0]}>`);
}
return;