如何获取在Discord.js v12中创建帐户的日期?

时间:2020-08-31 15:28:12

标签: javascript discord discord.js

我正在执行用户信息命令,并且我试图显示创建帐户的时间。机器人会响应&profile {用户ping /用户ID},如果没有参数,则会显示有关命令执行者的信息。我的代码如下:

const { DiscordAPIError } = require("discord.js");
const Discord = require('discord.js');
const moment = require('moment');

module.exports = {
    name: 'profile',
    description: "The bot will return the info about the user",
    execute(message, args){
        let userinfoget = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.member(message.author)

        const embed = new Discord.MessageEmbed()
        .setColor('#DAF7A6') // or .setColor('RANDOM')
        .setAuthor(`${userinfoget.user.tag}`, userinfoget.user.displayAvatarURL())
        .addFields(
            {name: `User ping`,
            value: `<@${userinfoget.id}>`}
        )
        .addFields(
            {name: `User ID`,
            value: `${userinfoget.id}`}
        )
        .addFields(
            {name: 'Joined server',
            value: moment(userinfoget.joinedAt).format('LLLL')}
        )
        .addFields(
            {name: 'Joined Discord',
            value: moment(userinfoget.createdAt).format('LLLL')}
        .addFields(
            {name: 'Online Status',
            value: `${userinfoget.presence.status}`}
        )
        .setFooter('Bot made by mkpanda')
        message.channel.send(embed);
        
    }
}

用户加入服务器的时间正确显示,但是帐户创建始终是当前时间。有什么办法解决吗?

2 个答案:

答案 0 :(得分:3)

GuildMember没有名为createdAt的属性,只有joinedAt

您只能从createdAt对象获得User属性。

moment(userinfoget.user.createdAt)

答案 1 :(得分:0)

这已经晚了,但以防万一其他人看到这一点:客户端 ID 基于他们的创建日期,因此您可以轻松地将其转换为 unix 时间戳