Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
Error con argumentos en comandos en Discord.JS

así que tropecé con otro problema y realmente no puedo entenderlo. Usando el siguiente código, sigue devolviendo que "no se puede leer la propiedad" nombre de usuario "de undefined, sin embargo, con el comando "! stats @USER" el argumento debería haberse establecido para el usuario, ¿verdad?

¡Cualquier ayuda sería muy apreciada!

 const args = message.content.trim().split(' '); const command = args.shift().toLowerCase(); if(command === '!stats'){ if (args.length){ var userMentioned = args[0].id message.delete() } else{ var userMentioned = message.author.id message.delete() } if (message.channel.id === "876597275856601168") {{ setTimeout(function (){ message.delete(); const statsEmbed = new MessageEmbed() .setColor('#8F00FF') .setAuthor(userMentioned.user.username, userMentioned.user.displayAvatarURL()) .addFields( { name: '<:logoas2:876840515465797632>Current Level:', value: 'Current: **' + (userMentioned.userStats.level) + '**', inline: true }, { name: '<:xp2:874732251571707966>Current XP:', value: 'Amount: **' + userMentioned.userStats.xp + '**', inline: true }, { name: '<:xp3:876841199456092161>To Next Level:', value: 'Amount: **' + (userMentioned.xpToNextLevel - userMentioned.userStats.xp) + '**', inline: true }, { name: '<:etherite:874730607106748457>Etherite:', value: 'Amount: **' + userMentioned.userStats.etherite + '**', inline: true }, { name: '<:time:876866100774707290>Member Since:', value: 'Date: **' + userMentioned.userStats.dateofJoin + '**', inline: true }, ) .setTimestamp() .setFooter('Avesong', client.user.displayAvatarURL()); client.channels.cache.get("876597275856601168").send({ embeds: [statsEmbed] }); }, 500); }}}
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Sugeriría usar:

 var userMentioned = Client.users.cache.get(args[0]);

Tal como se ha observado antes, en este momento está ingresando un valor de cadena que obviamente no tiene la propiedad .id, etc.

¿Por qué optaría por lo anterior? Si no recuerdo mal, esta es la forma más elegante de evitar errores sobre el bot que no puede obtener datos de usuarios que no figuran en el gremio. Si bien este podría no ser el caso, es aconsejable evitar tales errores.

Además, es probable que deba verificar las intenciones de su bot en el portal de desarrollo; definitivamente necesitará el indicador GUILD_MEMBERS activo.

Documentos sobre cache.get()

about 4 years ago · Juan Pablo Isaza Relatório

0

Dividir el contenido del mensaje no devuelve el usuario mencionado. En su lugar, devuelve la cadena como esta: "<@UserId>" . Puede usar Message.mentions en su lugar.

 if (message.mentions.users.size){ var userMentioned = message.mentions.users.first() message.delete() }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda