且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-11-30 12:20:28

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}`);
    };
});

由于您使用的是 V12,因此忘记将 cache 添加到 message.guild.membersmessage.roles.

You forgot to add cache to message.guild.members and message.roles since you are using V12.

另外,你使用的 find 函数有误.

Also, you were using the find function wrong.

你不能这样使用它:

member.roles.cache.find(testRole)

这是你应该如何使用它:

This is how you should use it:

members.roles.cache.find(role => role == testRole)