Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

153
Vistas
setNickname no incluye espacios en discord.js v13

Cuando configuro el apodo de alguien, por ejemplo, Stack Overflow, no lo configura correctamente. Establece mi apodo en "stackoverflow", sin espacios.

Mi código:

 const { MessageEmbed } = require('discord.js'); module.exports = { name: 'changenickname', aliases: ['changenick'], permissions: ["MANAGE_NICKNAMES"], cooldown: 5, description: "change your target's nickname", usage: "d!changenickname <@user> <nickname>", async execute(message, args, cmd, client, Discord, profileData){ 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'); if (member.roles.highest.position >= message.guild.me.roles.highest.position) return message.reply('I cannot moderate this user as their highest role is higher than mine or I have the same highest role position as them.') target.setNickname(nickname); const done = new MessageEmbed() .setColor("GREEN") .setTitle("✅ Done") .setDescription(`Changed <@${target.id}> nickname to ${nickname}`) .setTimestamp() message.channel.send({embeds: [done]}) } }

Nota: El comando establece el apodo sin ningún error, pero debe establecer los apodos con espacios (si hubiera en args).

Estoy usando discord.js v13 y node.js v16

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En la línea 11 tienes esto:

 const nickname = args.slice(1).join('');

En su caso args.slice(1) devuelve la matriz ['The', 'God'] . El método join() toma todos los elementos de la matriz y los junta en una cadena con la cadena dada entre cada elemento. La cadena que le diste a la función es '' , por lo que juntará los elementos sin nada entre ellos. Entonces, a partir de la matriz ['The', 'God'] , se convierte en la cadena TheGod en lugar de The God .

Entonces, lo que necesitarías es .join(' ') , no .join('') .

Espero que eso ayude.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda