【发布时间】:2021-10-15 00:34:44
【问题描述】:
我正在为我的 Discord.js 机器人创建一个装备命令,我试图让它搜索用户的角色,删除所有当前装备的颜色角色,然后装备他们要求的那个。
我无法将过滤器集中在角色 ID 数组上,因为尽管用户具有该角色,但它只返回一个空白数组。
这是我正在尝试的代码:
hasRoles = []
for (const x of guildRoles)
hasRoles.push(x.roleid)
console.log(hasRoles)
let user = interaction.options.getUser('youruseroption') || interaction.user
const guild = client.guilds.cache.get("646074330249429012");
let member = await guild.members.cache.get(user.id);
const memberRoles = member.roles.cache
.filter((roles) => roles.id == `${hasRoles}`)
.map((role) => role.toString());
console.log(memberRoles)
// await interaction.followUp({ ephemeral: true, embeds: [embed1] });
以下是角色数组的示例:
const guildRoles = [
{
role: "turquoise",
color: "#6ba8a8",
price: 6000,
roleid: '813152038346817597',
id: `turquoise`,
availAt: '10'
},
{
role: 'clay',
color: "#916d6d",
price: 6000,
roleid: '813152807720583180',
id: `clay`,
availAt: '10'
},
{
role: 'light brown',
color: "#c2a289",
price: 6000,
roleid: '813153670467944459',
id: `lbrown`,
availAt: '10'
}
]
【问题讨论】:
标签: javascript discord discord.js