提问者:小点点

来自用户id的discord.js配置文件信息


我想让我的discord.js bot能够给出一个用户提供的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中找到用户名和所有用户属性?谢谢:)

更新我发现我可以使用taggedUser=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
  }
}

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


共1个答案

匿名用户

首先。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();