mirror of
https://github.com/arthur-pbty/LazyBot.git
synced 2026-06-07 06:45:06 +02:00
add logs
This commit is contained in:
@@ -1,9 +1,65 @@
|
||||
const { Events, EmbedBuilder } = require("discord.js");
|
||||
const { Events, EmbedBuilder, AuditLogEvent } = require("discord.js");
|
||||
const db = require("../db");
|
||||
const { sendLog } = require("../fonctions/sendLog");
|
||||
|
||||
module.exports = {
|
||||
name: Events.GuildMemberRemove,
|
||||
async execute(client, member) {
|
||||
// ===== VÉRIFIER SI C'EST UN KICK =====
|
||||
let wasKicked = false;
|
||||
let kickExecutor = null;
|
||||
let kickReason = null;
|
||||
|
||||
try {
|
||||
const auditLogs = await member.guild.fetchAuditLogs({
|
||||
type: AuditLogEvent.MemberKick,
|
||||
limit: 1
|
||||
});
|
||||
|
||||
const kickLog = auditLogs.entries.first();
|
||||
if (kickLog && kickLog.target.id === member.id && (Date.now() - kickLog.createdTimestamp) < 5000) {
|
||||
wasKicked = true;
|
||||
kickExecutor = kickLog.executor;
|
||||
kickReason = kickLog.reason || 'Aucune raison spécifiée';
|
||||
}
|
||||
} catch (err) {
|
||||
// Pas de permission audit logs
|
||||
}
|
||||
|
||||
if (wasKicked) {
|
||||
// ===== LOG KICK =====
|
||||
await sendLog(client, member.guild.id, 'moderation', {
|
||||
action: 'kick',
|
||||
title: '👢 Membre expulsé',
|
||||
description: `**${member.user.tag}** a été expulsé du serveur.`,
|
||||
fields: [
|
||||
{ name: '👤 Membre', value: `${member.user} (${member.user.tag})`, inline: true },
|
||||
{ name: '📝 Raison', value: kickReason, inline: false }
|
||||
],
|
||||
thumbnail: member.user.displayAvatarURL({ size: 128 }),
|
||||
user: member.user,
|
||||
executor: kickExecutor
|
||||
});
|
||||
} else {
|
||||
// ===== LOG MEMBRE PARTI =====
|
||||
const joinedAt = member.joinedTimestamp ?
|
||||
`<t:${Math.floor(member.joinedTimestamp / 1000)}:R>` : 'Inconnu';
|
||||
|
||||
await sendLog(client, member.guild.id, 'members', {
|
||||
action: 'leave',
|
||||
title: '📤 Membre parti',
|
||||
description: `**${member.user.tag}** a quitté le serveur.`,
|
||||
fields: [
|
||||
{ name: '👤 Membre', value: `${member.user} (${member.user.tag})`, inline: true },
|
||||
{ name: '📊 Membres', value: `${member.guild.memberCount}`, inline: true },
|
||||
{ name: '📅 Avait rejoint', value: joinedAt, inline: true }
|
||||
],
|
||||
thumbnail: member.user.displayAvatarURL({ size: 128 }),
|
||||
user: member.user
|
||||
});
|
||||
}
|
||||
|
||||
// ===== MESSAGE D'AU REVOIR =====
|
||||
db.get(
|
||||
"SELECT enabled, channel_id, message FROM goodbye_config WHERE guild_id = ?",
|
||||
[member.guild.id],
|
||||
|
||||
Reference in New Issue
Block a user