如何通过提及从用户获取 GuildMember 数据

Gag*_*ush 3 discord.js

我正在创建一个“用户信息”命令,该命令返回用户的 Discord 用户名、ID、服务器加入日期以及他们是否在线。我可以通过user.iduser.username、 和显示所有信息user.presence.status。但当我尝试使用时,user.joinedAt我进入undefined了显示屏。

我知道这是因为User类和GuildMember类不一样,并且类GuildMember包含一个User对象。但我的问题是:如何从用户提及中
获取数据?.joinedAt

这是我当前的代码:

let user = message.mentions.users.first();
let embed = new Discord.RichEmbed()
  .setColor('#4286f4')
  .addField("Full Username:", `${user.username}#${user.discriminator}`)
  .addField("User ID:", `${user.id}`)
  .addField("Server Join Date:", `${user.joinedAt}`)
  .addField("Online Status:", `${user.presence.status}`)
  .setThumbnail(user.avatarURL);

message.channel.send(embed);
Run Code Online (Sandbox Code Playgroud)

小智 5

这是我的用户信息命令的代码:

if (msg.split(" ")[0] === prefix + "userinfo") {
  //ex `member @Rinkky
  let args = msg.split(" ").slice(1) // gets rid of the command
  let rMember = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0])) // Takes the user mentioned, or the ID of a user
  let micon = rMember.displayAvatarURL // Gets their Avatar

    if(!rMember) 
      return message.reply("Who that user? I dunno him.") // if there is no user mentioned, or provided, it will say this

      let memberembed = new Discord.RichEmbed()
      .setDescription("__**Member Information**__")
      .setColor(0x15f153)
      .setThumbnail(micon) // Their icon
      .addField("Name", `${rMember.username}#${rMember.discriminator}`) // Their name, I use a different way, this should work
      .addField("ID", rMember.id) // Their ID
      .addField("Joined at", rMember.joinedAt) // When they joined

      await message.channel.send(memberembed)
};
Run Code Online (Sandbox Code Playgroud)

这将发送他们的用户信息的嵌入,这是我当前的代码和

rMember.joinedAt
Run Code Online (Sandbox Code Playgroud)

对我有用。

编辑:再次查看您的问题后,我发现我不需要发布所有内容,您无法加入,因为这只是提及。尝试这个:

rMember.joinedAt
Run Code Online (Sandbox Code Playgroud)

应该管用