violet
violet

Reputation: 1

Discord Account Created Date Problem / discord.js

The code below works but there is a problem that the Account create date is not working.

My create date should be something around "2018" and it shows "Account created Monday, June 14, 2021"

        var game = mentionedMember.presence.game;
        var status = mentionedMember.presence.status;
    
        if (status == 'dnd') status = "Do Not Disturb"
        if (status == 'online') status = "Online"
        if (status == 'offline') status = "Offline"
        if (status === 'idle') status = "Idle"
    
        const roles = mentionedMember.roles.cache
            .sort((a, b) => b.position - a.position)
            .map(role => role.toString())
            .slice(0, -1);
    
        let displayRoles;
    
        if (roles.length < 20) {
            displayRoles = roles.join(' ')
            if (roles.length < 1) displayRoles = "None"
        } else {
            displayRoles = roles.slice(20).join(' ')
        }
    
        const userEmbed = new Discord.MessageEmbed()
            .setThumbnail(`${mentionedMember.user.displayAvatarURL({ dynamic: true })}`)
            .setAuthor(`User information of ${mentionedMember.user.tag}`, mentionedMember.user.displayAvatarURL({ dynamic: true, size: 2048 }))
            .addField(`**Tag: **`, `${mentionedMember.user.tag}`, true)
            .addField(`**Username: **`, mentionedMember.user.username || "None", true)
            .addField(`**ID: **`, `${mentionedMember.id}`, false)
            .addField(`**Avatar: **`, `[Avatar](${mentionedMember.user.displayAvatarURL({ dynamic: true, size: 512 })})`, true)
            .addField(`**Status: **`, `${status}`, true)
            .addField(`**Game: **`, `${game || 'None'}`)
            .addField(`**Account Created At: **`, `${moment.utc(mentionedMember.createdAt).format("dddd, MMMM Do YYYY")}`, true)
            .addField(`**Joined The Server At: **`, `${moment.utc(mentionedMember.joinedAt).format("DD-MM-YYYY [at] HH:mm")}`, true)
            .addField(`**Roles: [${roles.length}]**`, `${displayRoles}`, false)
            .setColor(`WHITE`)
            message.channel.send(userEmbed)
    },
}

Upvotes: 0

Views: 672

Answers (1)

Freya
Freya

Reputation: 25

It seems mentionedMember doesn't have a createdAt property. As it's undefined, moment will show today's date instead. What you're looking for is its User's createdAt prop:

.addField(
    `**Account Created At: **`, 
    `${moment.utc(mentionedMember.user.createdAt).format("dddd, MMMM Do YYYY")}`, 
    true
)

See: https://discord.js.org/#/docs/main/stable/class/User?scrollTo=createdAt

Upvotes: 1

Related Questions