mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 15:07:26 +02:00
ajout modlog
This commit is contained in:
@@ -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' },
|
||||
]);
|
||||
|
||||
|
||||
|
||||
@@ -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] });
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user