我正在尝试发出一条命令,向我显示具有特定角色的所有成员。该命令应类似于$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}`)
}})
答案 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