Tob*_*yhn 3 javascript node.js discord.js
我正在创建一个命令,为用户提供嵌入内的统计信息。我希望嵌入的颜色不是每个人都使用相同的颜色,而是用户在服务器上的当前颜色(如角色给出的颜色)。有什么办法可以做到这一点吗?
我的代码:
let embed = new Discord.RichEmbed()
.setAuthor(message.author.username, message.author.displayAvatarURL)
.setColor('USER COLOR HERE')
.addField('XP:', userXp, true)
.addField('XP Reserve:', userXpReserve, true)
.addField('Rank:', "working on this part", false)
.setFooter(message.author.tag)
message.channel.send(embed);
Run Code Online (Sandbox Code Playgroud)
我想.setColor('USER COLOR HERE')成为使用该命令的用户的颜色。
GuildMember 拥有一个.displayHexColor属性,因此
.setColor(message.member.displayHexColor)
Run Code Online (Sandbox Code Playgroud)
会工作。如果您不想要没有颜色的角色(即@everyone,或不可见的管理员角色),请检查颜色是否等于#000000。如果是这种情况,通常.hoistRole会有一种颜色。.hoistRole是将成员置于成员列表中的单独类别中的角色。
let color = message.member.displayHexColor;
if (color == '#000000') color = message.member.hoistRole.hexColor;
// Embed
.setColor(color)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11039 次 |
| 最近记录: |