Creé un comando Cambiar apodo en discord.js v13 y no funciona. No estoy recibiendo ningún error. Mi código:
const target = message.mentions.members.first(); const nickname = args.slice(1).join(' '); if(!target) return message.channel.send('Please specify a target to change nickname'); if(!nickname) return message.channel.send('Please specify a nickname to change'); target.setNickname(nickname);estoy usando node.js v16
Voy a adivinar que el apodo que está tratando de establecer es nulo o está vacío, esto hará que Discord simplemente restablezca el apodo al nombre de usuario normal de Discord de los usuarios.
Asegúrese de depurar los valores que se transmiten y proporcione dicha información cuando haga una pregunta aquí, ya que ayudará a las personas a ayudarlo más fácilmente.
Dicho esto, el siguiente código funcionó bien para mí
const target = msg.mentions.members.first(); if (!target) return msg.reply('Please mention a user'); const nick = args[1]; if (!nick) return msg.reply('Please provide a nickname'); const oldNick = target.nickname; if (oldNick === nick) return msg.reply('That user already has that nickname'); console.log(`Changing ${target.user.tag}'s nickname from ${oldNick} to ${nick}`); target.setNickname('');Su código me está funcionando, pero asegúrese de que su bot tenga los siguientes permisos y que el rol del bot esté por encima del rol de los usuarios que desean editar su nick: Cambie esto: https://i.stack.imgur.com/lKP9h .png Para esto: https://i.stack.imgur.com/xX8GF.png También asegúrese de que su comando esté en minúsculas porque los caracteres en mayúsculas no están permitidos en los nombres de los comandos.
El código que proporcionaste parece funcionar correctamente. El error podría ser las intenciones de su bot. Asegúrese de haber habilitado/solicitado todas las intenciones que necesita para este comando (miembros del gremio si no recuerdo mal). Asegúrese de que también le dio a su bot los permisos requeridos: MANAGE_NICKNAMES en la configuración del servidor (roles).
¡Buena suerte!