因此,我的机器人中装有经济系统,我希望支持服务器中的工作人员,beta测试人员等能够在其profile(embed)命令上获得此特殊标志!
到目前为止,这是我的主意:
let badge = '';
if(message.member.roles.has(<role>.id)) badge = "badge here"
我正在使用discord.js v11.5.1
答案 0 :(得分:0)
创建徽章的图像后,只需使用.setThumbnail()
方法指向该图像或该图像的链接,以便您可以在徽章的嵌入位置显示徽章。
const member = client.guilds.get(GUILD_ID).members.get(message.author.id);
if (member.roles.has(role)) embed.setThumbnail('link_to_badge_img')
但是,如果您只希望在嵌入说明中列出徽章列表,则可以像这样列出徽章:
const member = client.guilds.get(GUILD_ID).members.get(message.author.id);
if (member.roles.has(role)) embed.setDescription('BadgeTitle')
或者,如果用户有多个徽章,则可以创建一个badges
数组并将其必须使用的徽章推送到它之前,最后将其添加到嵌入描述中,如下所示:
const member = client.guilds.get(GUILD_ID).members.get(message.author.id);
if (member.roles.has(role)) badges.push('BadgeTitle') //Do this for each badge
if (badges.length) embed.setDescription(`**Badges**\n${badges.join('\n')}`)