【发布时间】:2020-12-19 17:51:43
【问题描述】:
我正在创建一个用户信息命令,并且我已经开始尝试显示帐户的创建时间。机器人响应 &profile {user ping/user 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);
}
}
用户加入服务器的时间显示正确,但创建账号时始终是当前时间。有什么办法解决吗?
【问题讨论】:
-
问题是它获取的是公会成员的创建日期,而不是用户的帐户。所以它只是在他们加入时显示。您需要为不和谐的用户对象创建一个单独的变量并获取它的创建日期。
标签: javascript discord discord.js