Discord.js 通过 ID 获取用户

时间:2021-01-27 22:26:12

标签: node.js discord discord.js

嗨,我有这个头像命令,我想知道您可以使用他们的 ID 代替用户名,而不是提及用户

if(command === "avatar" || command === "av") {
               const user = message.mentions.users.first() || client.users.cache.get(args[0]) || message.author
       if (!user) {
       user = message.author;
       }
      
          const member = message.guild.member(user)
          const avatar = user.avatarURL({dynamic:true})
          if (!avatar) return message.channel.send("This user doesn't have an avatar to show")
          const embed = new Discord.MessageEmbed()
             .setTitle(`${user.username}'s avatar`)
             .setColor('RANDOM')
             .setDescription(`[Click here for the image link](${avatar})`)
             .setImage(avatar)
             .setFooter(`${client.user.username} 2021`)
             .setTimestamp()
     
         message.channel.send(embed)

1 个答案:

答案 0 :(得分:0)

我不使用client.users.cache.get(args[0]),而是推荐message.guild.members.cache.get(args[0]).user,因此它获取一个成员(不是用户),然后从该成员中选择用户。还要确保您在开发者门户上启用了意图,因为如果没有它们,这将无法工作。

要启用它们,只需选择您的应用,然后转到机器人选项卡,向下滚动一点,并确保检查两个意图。