Discord.js V12如何显示具有特定角色的所有成员?

时间:2020-06-29 20:44:44

标签: javascript discord.js roles

我正在尝试发出一条命令,向我显示具有特定角色的所有成员。该命令应类似于$rolelist,并在消息中显示所有成员的显示名称,这些名称具有TEST ROLE角色。 可以的话,请帮我:D

client.on('message', async message => {
    if (message.content.startsWith(prefix + "rolelist")) {
        const testRole = message.guild.roles.cache.find(role => role.name == "TEST ROLE");
        const members = message.guild.members.filter(member => member.roles.find(testRole)).map(member => member.user.username)
        message.channel.send(`These people currently have the TEST ROLE: \n${members}`)
    }})

1 个答案:

答案 0 :(得分:1)

grepl("* ",Product)

由于您使用的是V12,因此忘记将Product添加到* client.on('message', async message => { if (message.content.startsWith(prefix + "rolelist")) { const Role = message.guild.roles.cache.find(role => role.name == "TEST ROLE"); const Members = message.guild.members.cache.filter(member => member.roles.cache.find(role => role == Role)).map(member => member.user.tag); message.channel.send(`Users with ${Role.name}: ${Members}`); }; });

另外,您使用的find函数错误。

您不能像这样使用它:

cache

这是您应该如何使用它:

message.guild.members