From 8b35f8bb352ef0b16e4ab5b2fbbe100e2dc681fd Mon Sep 17 00:00:00 2001 From: VALOU3336 Date: Mon, 26 Feb 2024 18:05:41 +0100 Subject: [PATCH] ajout modlog --- commands/logs/logs.js | 4 ++- commands/logs/modlog.js | 54 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 commands/logs/modlog.js diff --git a/commands/logs/logs.js b/commands/logs/logs.js index e0d9836..31e70dc 100644 --- a/commands/logs/logs.js +++ b/commands/logs/logs.js @@ -25,7 +25,8 @@ module.exports = { { name: '📝 Logs de messages', value: data[message.guild.id]?.messagelog ? `<#${data[message.guild.id].messagelog}>` : 'Non configuré', inline: true }, { name: '📚 Logs de rôles', value: data[message.guild.id]?.rolelog ? `<#${data[message.guild.id].rolelog}>` : 'Non configuré', inline: true }, { name: '🎙️ Logs vocaux', value: data[message.guild.id]?.vocallog ? `<#${data[message.guild.id].vocallog}>` : 'Non configuré', inline: true }, - { name: '🛡️ Logs de raid', value: data[message.guild.id]?.raidlog ? `<#${data[message.guild.id].raidlog}>` : 'Non configuré', inline: true } + { name: '🛡️ Logs de raid', value: data[message.guild.id]?.raidlog ? `<#${data[message.guild.id].raidlog}>` : 'Non configuré', inline: true }, + { name: '🔧 Logs de modération', value: data[message.guild.id]?.modlog ? `<#${data[message.guild.id].modlog}>` : 'Non configuré', inline: true } ); const selectMenu = new StringSelectMenuBuilder() @@ -36,6 +37,7 @@ module.exports = { { label: '📚 Logs de rôles', value: 'rolelog', description: 'Configurer le salon de logs de rôles' }, { label: '🎙️ Logs vocaux', value: 'vocallog', description: 'Configurer le salon de logs vocaux' }, { label: '🛡️ Logs de raid', value: 'raidlog', description: 'Configurer le salon de logs de raid' }, + { label: '🔧 Logs de modération', value: 'modlog', description: 'Configurer le salon de logs de modération' }, ]); diff --git a/commands/logs/modlog.js b/commands/logs/modlog.js new file mode 100644 index 0000000..f271876 --- /dev/null +++ b/commands/logs/modlog.js @@ -0,0 +1,54 @@ +const { EmbedBuilder, ChannelType } = require('discord.js'); +const sqlite3 = require('sqlite3').verbose(); +const db = new sqlite3.Database('myDatabase.db'); + +module.exports = { + name: 'modlog', + description: 'Enregistre l\'ID d\'un salon pour les logs de modération.', + category: 'logs', + emote: '📝', + utilisation: '+modlog [#salon/id]', + async execute(message, args) { + let channelId; + const mentionedChannel = message.mentions.channels.first(); + + if (mentionedChannel) { + channelId = mentionedChannel.id; + } else if (args[0]) { + const channel = message.guild.channels.cache.get(args[0]); + if (channel && channel.type === ChannelType.GuildText) { + channelId = args[0]; + } else { + return message.reply('Le salon spécifié est invalide ou n\'existe pas dans ce serveur.'); + } + } else { + channelId = message.channel.id; + } + + let data = await new Promise((resolve, reject) => { + db.get('SELECT value FROM gestion WHERE id = ?', [message.client.user.id], (err, row) => { + if (err) { + console.error(err.message); + reject(err); + } + resolve(row ? JSON.parse(row.value) : {}); + }); + }); + + if (!data[message.guild.id]) { + data[message.guild.id] = {}; + } + data[message.guild.id].modlog = channelId; + + db.run('INSERT OR REPLACE INTO gestion (id, value) VALUES (?, ?)', [message.client.user.id, JSON.stringify(data)], function(err) { + if (err) { + return console.error(err.message); + } + }); + + const embed = new EmbedBuilder() + .setColor('#0099ff') + .setDescription(`Le salon de log de modération a été mis à jour dans le salon <#${channelId}>`); + message.channel.send({ embeds: [embed] }); + }, +}; \ No newline at end of file