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

160
Vistas
setNickname is not including spaces in discord.js v13

When I set someone's nickname for example Stack Overflow", It does not set It correctly. It sets my nickname to "stackoverflow", Without spaces.

My code:

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]})
    }
}

Note: The command sets the nickname without any error, but it must set the nicknames with spaces(if there were in args).

I am using discord.js v13 and node.js v16

enter image description here

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

0

At line 11 you have this:

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

In your case args.slice(1) returns the array ['The', 'God']. The join() method takes every element of the array and puts it together in one string with the given string between every element. The string you gave to the function is '', so it will put the elements together without anything between it. So from the array ['The', 'God'] it makes the string TheGod instead of The God.

So what you would need is .join(' '), not .join('').

I hope that helps.

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