Discord.js |用户ID中的个人资料信息

时间:2020-06-11 08:51:04

标签: node.js discord discord.js

我希望我的discord.js机器人能够提供具有提供的ID的用户信息,但我无法使它正常工作。我尝试使用guild#fetchUser(id),但它只是返回未定义。即使有效,我仍然需要用户加入成员类,例如,即使在行会之外也能够提供用户的基本信息(在...处创建)。 这是我的代码:

if(!args[0]){
    const profileEmbed = new Discord.MessageEmbed()
    .setAuthor(message.author.tag, message.author.displayAvatarURL())
    //rest of the code
    message.channel.send(profileEmbed);
}else{
  let taggedUser = message.mentions.users.first();
    if (!taggedUser){
      taggedUser = args[0];
    }
  const profileEmbed = new Discord.MessageEmbed()
    .setAuthor(taggedUser.tag, taggedUser.displayAvatarURL())
    //rest of the code
    message.channel.send(profileEmbed);
}

我如何通过ID查找用户名和所有用户属性? 谢谢:)

更新 我发现我可以使用aggedUser = bot.users.fetch(args [0]);获取用户属性,但不显示诸如创建日期之类的属性,我将如何找到它?

client#users.fetch(id)

返回

Promise {
  User {
    id: 'bla bla bla',
    bot: false,
    username: 'bla bla bla',
    discriminator: 'bla bla bla',
    avatar: 'bla bla bla',
    lastMessageID: null,
    lastMessageChannelID: null
  }
}

如何找到创建日期和创建时间?

2 个答案:

答案 0 :(得分:0)

首先。 const是一个常量变量,这意味着无法通过覆盖它来更改其值。为此,您需要使用varlet 通过添加此代码,可以使代码更简单。
const taggedUser = message.mentions.users.first() || message.author

此代码将导致什么:

function convertDate(inputFormat) {
  function pad(s) { return (s < 10) ? '0' + s : s; }
  var d = new Date(inputFormat)
  return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/')
}
const taggedUser = message.mentions.users.first() || message.author //if mention does not exists message.author will be used
if(taggedUser){
    const profileEmbed = new Discord.MessageEmbed()
    .setAuthor(taggedUser.tag, taggedUser.displayAvatarURL())
    //rest of the code
    message.channel.send(profileEmbed);
}

希望这有助于解决您的问题!

编辑:taggedUser.createdAt();

答案 1 :(得分:0)

我想通了!要知道不在公会中的用户的创建日期,您可以根据ID猜测年龄! here's the article from discord

相关问题