只显示一个人的特定角色,discord.js



我有麻烦列出每个人在不和谐的服务器,有一定的角色。即使有多个具有相同角色的人,它也只列出其中一个,而不管有多少人在同一个通道中。

我对discord.js很陌生,我很难理解docs

var CSCid = "496507412300300288";
var CSCmembers = interaction.guild.roles.cache.get(CSCid).members.map(m=>m.user.tag);
console.log(CSCmembers)

输出只显示了拥有该角色的许多人中的一个。

尝试先获取所有的公会成员。缓存元素是一个对象,它保存在内存中,可以很容易地访问(通过使用.get())。未缓存的元素是不存储在内存中的元素,需要调用Discord的API来检索和然后缓存它(通过使用.fetch())

var CSCid = "496507412300300288";
interaction.guild.members.fetch().then(members => {
var CSCmembers = interaction.guild.roles.cache
.get(CSCid).members
.map(m=>m.user.tag)
.join(', ');
console.log(CSCmembers);
});

确保你开启了公会成员的意图

最新更新