Files
LazyBot/app/events/channelDelete.js
T
Arthur Puechberty 3f1f3ba40d add logs
2026-01-18 15:08:55 +01:00

55 lines
1.7 KiB
JavaScript

const { AuditLogEvent, ChannelType } = require('discord.js');
const { sendLog } = require('../fonctions/sendLog');
const CHANNEL_TYPE_NAMES = {
[ChannelType.GuildText]: 'Salon textuel',
[ChannelType.GuildVoice]: 'Salon vocal',
[ChannelType.GuildCategory]: 'Catégorie',
[ChannelType.GuildAnnouncement]: 'Salon d\'annonces',
[ChannelType.GuildStageVoice]: 'Salon de conférence',
[ChannelType.GuildForum]: 'Forum',
[ChannelType.GuildMedia]: 'Salon média'
};
module.exports = {
name: 'channelDelete',
async execute(client, channel) {
if (!channel.guild) return;
let executor = null;
try {
const auditLogs = await channel.guild.fetchAuditLogs({
type: AuditLogEvent.ChannelDelete,
limit: 1
});
const deleteLog = auditLogs.entries.first();
if (deleteLog && deleteLog.target.id === channel.id && (Date.now() - deleteLog.createdTimestamp) < 5000) {
executor = deleteLog.executor;
}
} catch (err) {
console.error('Erreur récupération audit logs channel delete:', err);
}
const typeName = CHANNEL_TYPE_NAMES[channel.type] || 'Salon';
const fields = [
{ name: '📁 Nom', value: channel.name, inline: true },
{ name: '🏷️ Type', value: typeName, inline: true },
{ name: '🆔 ID', value: channel.id, inline: true }
];
if (channel.parent) {
fields.push({ name: '📂 Catégorie', value: channel.parent.name, inline: true });
}
await sendLog(client, channel.guild.id, 'channels', {
action: 'delete',
title: '🗑️ Salon supprimé',
description: `Le salon **#${channel.name}** a été supprimé.`,
fields: fields,
executor: executor
});
}
};