Files
gestion/commands/gestion/piconly.js
T
2024-02-29 18:57:43 +01:00

50 lines
2.2 KiB
JavaScript

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('myDatabase.db');
module.exports = {
name: "piconly",
description: "Permet de mettre le piconly sur un salon",
emote: '📸',
utilisation: 'piconly [salon/id]',
category: 'gestion',
async execute(message, args, client) {
const channelID = message.mentions.channels.first()?.id || client.channels.cache.get(args[0])?.id;
if (!channelID) {
return message.reply("veuilez indiquer un salon valide")
}
const guildId = message.guild.id;
const botId = client.user.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) : {});
});
});
data.piconly = data.piconly || {};
data.piconly[guildId] = data.piconly[guildId] || {};
const channeldbid = data.piconly[guildId];
if (channelID === channeldbid) {
delete data.piconly[guildId]
db.run('UPDATE gestion SET value = ? WHERE id = ?', [JSON.stringify(data), botId], function(err) {
if (err) {
console.error(err.message);
return message.reply('Une erreur s\'est produite lors de la mise à jour de la base de données.');
}
message.reply(`Le piconly a etait enléve du salon <#${channelID}>.`);
});
}else {
data.piconly = data.piconly || {};
data.piconly[guildId] = data.piconly[guildId] || {};
data.piconly[guildId] = channelID;
db.run('UPDATE gestion SET value = ? WHERE id = ?', [JSON.stringify(data), botId], function(err) {
if (err) {
console.error(err.message);
return message.reply('Une erreur s\'est produite lors de la mise à jour de la base de données.');
}
message.reply(`Le salon a été marqué pour le piconly est desormais dans la salon <#${channelID}>.`);
});
}
}
}