add prevname command

This commit is contained in:
Arthur Puechberty
2026-01-18 15:31:46 +01:00
parent 3f1f3ba40d
commit 571f91bc74
4 changed files with 242 additions and 0 deletions
+24
View File
@@ -1,11 +1,35 @@
const { AuditLogEvent } = require('discord.js');
const { sendLog } = require('../fonctions/sendLog');
const db = require('../db');
module.exports = {
name: 'guildMemberUpdate',
async execute(client, oldMember, newMember) {
const guild = newMember.guild;
// ===== ENREGISTRER LES CHANGEMENTS DE PSEUDO SERVEUR =====
if (oldMember.nickname !== newMember.nickname && !newMember.user.bot) {
try {
// Vérifier si ce pseudo n'est pas déjà le dernier enregistré
const lastEntry = await db.getAsync(
`SELECT nickname FROM nickname_history
WHERE guild_id = ? AND user_id = ?
ORDER BY changed_at DESC LIMIT 1`,
[guild.id, oldMember.id]
);
if (!lastEntry || lastEntry.nickname !== oldMember.nickname) {
db.run(
`INSERT INTO nickname_history (guild_id, user_id, nickname, changed_at)
VALUES (?, ?, ?, ?)`,
[guild.id, oldMember.id, oldMember.nickname, Math.floor(Date.now() / 1000)]
);
}
} catch (err) {
console.error('Erreur enregistrement historique pseudo:', err);
}
}
// Vérifier les changements de rôles
const oldRoles = oldMember.roles.cache;
const newRoles = newMember.roles.cache;
+37
View File
@@ -0,0 +1,37 @@
const db = require('../db');
module.exports = {
name: 'userUpdate',
async execute(client, oldUser, newUser) {
// Ignorer les bots
if (newUser.bot) return;
// Vérifier si le nom d'utilisateur ou le display name a changé
const usernameChanged = oldUser.username !== newUser.username;
const displayNameChanged = oldUser.displayName !== newUser.displayName;
if (!usernameChanged && !displayNameChanged) return;
// Enregistrer l'ancien nom dans l'historique
try {
// Vérifier si ce nom n'est pas déjà le dernier enregistré (éviter les doublons)
const lastEntry = await db.getAsync(
`SELECT username, display_name FROM username_history
WHERE user_id = ?
ORDER BY changed_at DESC LIMIT 1`,
[oldUser.id]
);
// Si c'est le premier changement ou si le nom est différent du dernier enregistré
if (!lastEntry || lastEntry.username !== oldUser.username || lastEntry.display_name !== oldUser.displayName) {
db.run(
`INSERT INTO username_history (user_id, username, display_name, changed_at)
VALUES (?, ?, ?, ?)`,
[oldUser.id, oldUser.username, oldUser.displayName, Math.floor(Date.now() / 1000)]
);
}
} catch (err) {
console.error('Erreur enregistrement historique nom:', err);
}
}
};