J'aimerai également que l'objet reste à jour : le nom de variable devrait changer suivant les changements de pseudos.
J'ai donc tenté de créer un nouvel objet, copier toutes les informations avec le nouveau titre (grâce à window() ) et supprimer l'ancien (avec delete() ) :
bot.on("guildMemberAdd", function() { //Pour les nouveaux const guildMemberAdd.member = new Perso(guildMemberAdd.member) } );
bot.on("guildMemberUpdate", function() { //Pour ceux déjà connectés ... if (typeof guildMemberUpdate.oldMember != "undefined") { //qui ont déjà une variable à leur nom window[const [guildMemberUpdate.newMember]] = [guildMemberUpdate.oldMember] delete([guildMemberUpdate.oldMember]) } else { //qui n'ont pas de variable éponyme const guildMemberUpdate.newMember = new Perso(guildMemberUpdate.newMember) } } );
Le problème, c'est que le bot ne démarre pas car "Missing initializer in const declaration", ce qui sous entendrait qu'il n'y a pas de = dans la ligne, et ça m'indique guildMemberAdd de guildMemberAdd.member
J'ai utilisé les évènements Discord.js guildMemberAdd (pour les nouveaux) et guildMemberUpdate (pour les changement de pseudos).