【问题标题】:Issue with Discord.js avatarURLDiscord.js avatarURL 的问题
【发布时间】:2019-10-07 16:24:21
【问题描述】:

discord.js 的 .avatarURL 不显示任何图像。

我正在尝试为我的 discord 机器人发出命令,让某人 ping 另一个并让机器人显示他们的个人资料图片。我很快找到了 .avatarURL 作为解决方案,但它似乎根本没有显示任何图像。任何帮助将不胜感激。

 if (message.content.startsWith(`${prefix}showpfp`)) {
        let embed = new Discord.RichEmbed().setTitle(tMember.displayName + "'s Profile Picture").setImage(tMember.avatarURL).setColor('#add8e6')

        message.channel.send(embed);
    }

在输入命令_showpfp @user 后,机器人将响应

user's Profile Picture

就是这样……

【问题讨论】:

  • 我忘记在帖子里提到了,但是 tmember 是 let tMember = message.mentions.members.first();
  • 您可以编辑问题以包含此信息。最好不要为附加信息创建 cmets

标签: javascript bots discord discord.js


【解决方案1】:

问题是tMember 没有属性avatarURL。在您的评论中,您说您通过执行message.mentions.members.first() 获得了tMember 的值,但是message.mentions.membersGuildMembers 的集合。 GuildMember 没有属性 avatarURL

但是,User 类确实具有 avatarURL 属性。因此,您需要先将成员作为 User 的实例来获取。幸运的是,GuildMember 类有一个属性 .user 可以做到这一点。

因此,解决您的问题的方法是将setImage 的参数更改为tMember.user.avatarURL,如下所示。

if (message.content.startsWith(`${prefix}showpfp`)) {
  let embed = new Discord.RichEmbed().setTitle(tMember.displayName + "'s Profile Picture").setImage(tMember.user.avatarURL).setColor('#add8e6')

  message.channel.send(embed);
}

【讨论】:

  • 感谢这完美解决了我的问题,感谢您的帮助。
猜你喜欢
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 2020-12-22
  • 2020-07-24
  • 1970-01-01
  • 2021-07-03
  • 2020-12-05
相关资源
最近更新 更多