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

128
Visualizações
unióAtTimeStamp está mostrando Nan discord.js

Estaba codificando un comando de información de userInfo , pero cuando uso el comando, joinedAtTimeStamp muestra <t:NaN:R> en la inserción. Es el único problema en este código.

Mi código:

 const { MessageEmbed, ContextMenuInteraction } = require("discord.js"); module.exports = { name: "userInfo", aliases: ["user"], permissions: ["SEND_MESSAGES", "ATTACH_FILES"], description: "user", async execute(message, args, cmd, client, Discord, profileData) { const target = message.mentions.users.first(); if(!args[0]) { const response2 = new MessageEmbed() .setColor("RANDOM") .setAuthor({name: message.author.tag, iconURL: message.author.displayAvatarURL({dynamic: true})}) .setThumbnail(message.author.displayAvatarURL({dynamic: true})) .addFields( {name: "ID", value: message.author.id}, {name: "Joined Server", value: `<t:${parseInt(message.author.joinedTimestamp / 1000)}:R>`, inline: true}, {name: "Account Created", value: `<t:${parseInt(message.author.createdTimestamp / 1000)}:R>`, inline: true}, ); message.reply({embeds:[response2]}); } const response = new MessageEmbed() .setColor("RANDOM") .setAuthor({name: target.tag, iconURL: target.displayAvatarURL({dynamic: true})}) .setThumbnail(target.displayAvatarURL({dynamic: true})) .addFields( {name: "ID", value: target.id}, {name: "Joined Server", value: `<t:${parseInt(target.joinedTimestamp / 1000)}:R>`, inline: true}, {name: "Account Created", value: `<t:${parseInt(target.createdTimestamp / 1000)}:R>`, inline: true}, ); message.reply({embeds: [response], ephemeral: true}) } }

Estoy usando discord.js v13 y node 16.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

message.author es un User y no tiene una propiedad joinedTimestamp , solo la tienen GuildMember . message.member representa al autor del mensaje como miembro del gremio, por lo que puede usarlo, ya que tendrá una propiedad joinedTimestamp .

La razón por la que ve NaN en lugar del valor correcto es porque parseInt devolverá NaN si intenta analizar undefined :

 console.log('undefined:', parseInt(undefined / 1000, 10)); console.log('3459192421512:', parseInt(3459192421512 / 1000, 10));

El siguiente código debería funcionar como se esperaba

 .addFields( { name: 'ID', value: message.author.id }, { name: 'Joined Server', value: `<t:${parseInt(message.member.joinedTimestamp / 1000, 10)}:R>`, inline: true, }, { name: 'Account Created', value: `<t:${parseInt(message.author.createdTimestamp / 1000, 10)}:R>`, inline: true, }, );

En cuanto a target , es el mismo problema; message.mentions.users.first() es un User . Puede crear una nueva variable, por ejemplo, targetMember y asignar message.mentions.members.first() , por lo que será un GuildMember :

 const target = message.mentions.users.first(); const targetMember = message.mentions.members.first();

Y luego, simplemente reemplace target :

 .addFields( { name: 'ID', value: target.id }, { name: 'Joined Server', value: `<t:${parseInt(targetMember.joinedTimestamp / 1000, 10)}:R>`, inline: true, }, { name: 'Account Created', value: `<t:${parseInt(target.createdTimestamp / 1000, 10)}:R>`, inline: true, }, );

PD: es una buena idea usar el radix en parseInt . Es por eso que agregué 10 como segundo parámetro en parseInt .

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Podría verificar el tipo de target.joinedTimestamp ?

Podría ser que la doble conversión que estás haciendo aquí:

 parseInt(target.joinedTimestamp / 1000)

destruyó tu número.

(Está convirtiendo lo que sea target.createdTimestamp en número, dividiéndolo por 100 (lo que lo convierte en un número de punto flotante) y luego descartando el punto flotante convirtiéndolo de nuevo a int).

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