如何检查人员在嵌入中是否具有特定角色而不是 return True 或 False
How to check if person has a specfic role then return True or False in a embed
我目前正在为我的 Discord 服务器制作一个 Discord Bot,我想做的是制作一个用户信息嵌入,我已经创建了嵌入,但我想做的是就像如果用户具有高级角色,那么在嵌入中它会说 "True" 或 "False" 如果他们没有角色。
这是我的嵌入代码:
if (message.content.startsWith(prefix + "info")) {
message.delete(500)
const userinfo = new Discord.RichEmbed()
.setColor('#71ff33')
.setTitle('')
.setURL('')
.setAuthor('User Information', 'http://www.stickpng.com/assets/images/585e4bf3cb11b227491c339a.png')
.setDescription("Hey " + message.author.username + " here's the information you requested.")
.setThumbnail(message.author.avatarURL)
.addBlankField()
.addField('**User:**', message.member.user, true)
.addField('**Rank:**', message.member.highestRole, true)
.addField('**Joined:**', message.member.joinedAt, true)
.addField('**Premium:**', , true) //This is where I'm stuck at.
.setImage()
.addBlankField()
.setTimestamp()
.setFooter('Discord User Information' , message.author.avatarURL);
message.channel.send(userinfo);
}
就在 Premium 字段中,我希望它显示 'True' 或 'False',具体取决于他们是否得到了这个角色,如果我对我正在尝试的事情有意义的话在这里解释。
我正在使用 Node.Js 和 Discord.Js
您应该能够使用以下选项之一
这个returns true/false
message.member.roles.some(r => r.name === 'Premium');
这些return的作用如果找到了。这意味着需要额外的逻辑来根据角色是否 returned 来确定 true 或 false。
message.member.roles.get(id);
message.member.roles.find(r => r.name === 'Premium');
message.member.roles.find(r => r.id === id); //the .get(id) is faster
我目前正在为我的 Discord 服务器制作一个 Discord Bot,我想做的是制作一个用户信息嵌入,我已经创建了嵌入,但我想做的是就像如果用户具有高级角色,那么在嵌入中它会说 "True" 或 "False" 如果他们没有角色。
这是我的嵌入代码:
if (message.content.startsWith(prefix + "info")) {
message.delete(500)
const userinfo = new Discord.RichEmbed()
.setColor('#71ff33')
.setTitle('')
.setURL('')
.setAuthor('User Information', 'http://www.stickpng.com/assets/images/585e4bf3cb11b227491c339a.png')
.setDescription("Hey " + message.author.username + " here's the information you requested.")
.setThumbnail(message.author.avatarURL)
.addBlankField()
.addField('**User:**', message.member.user, true)
.addField('**Rank:**', message.member.highestRole, true)
.addField('**Joined:**', message.member.joinedAt, true)
.addField('**Premium:**', , true) //This is where I'm stuck at.
.setImage()
.addBlankField()
.setTimestamp()
.setFooter('Discord User Information' , message.author.avatarURL);
message.channel.send(userinfo);
}
就在 Premium 字段中,我希望它显示 'True' 或 'False',具体取决于他们是否得到了这个角色,如果我对我正在尝试的事情有意义的话在这里解释。
我正在使用 Node.Js 和 Discord.Js
您应该能够使用以下选项之一
这个returns true/false
message.member.roles.some(r => r.name === 'Premium');
这些return的作用如果找到了。这意味着需要额外的逻辑来根据角色是否 returned 来确定 true 或 false。
message.member.roles.get(id);
message.member.roles.find(r => r.name === 'Premium');
message.member.roles.find(r => r.id === id); //the .get(id) is faster