discord.js client.gulds.cache.get(role).members |创建一个包含所有公会成



我想为每个具有特定角色的用户创建一个数组。但我得到以下错误:

TypeError: Cannot read property 'members' of undefined

我目前使用的代码:

var role = receivedMessage.guild.roles.cache.find(role => role.name === "arole");
const guild = client.guilds.cache.get(role);
if (guild == "") {
console.log("guild not found");
} else {
const Members = client.guilds.cache.get(role).members.cache.map(member => member.id);
}

此代码获取在发送消息的服务器中具有特定角色的所有成员:

const guild = receivedMessage.guild;
if (!guild) return console.log("Couldn't get the guild.");
const members = guild.members.cache.filter(member => member.roles.cache.find(role => role.name === "arole")).map(member => member.id);

如果你想在特定的服务器中获得所有具有特定角色的成员,你可以指定公会ID:

const guild = client.guilds.cache.get(/* Guild ID */);
if (!guild) return console.log("Couldn't get the guild.");
const members = guild.members.cache.filter(member => member.roles.cache.find(role => role.name === "arole")).map(member => member.id);

有关有效属性和方法的更多信息,请阅读Discord.js文档。

看起来公会不存在,或者你的机器人没有访问权限,你可以通过做之类的事情来检查一下

const guild = client.guilds.cache.get("335507048017952771");
if (!guild) return console.log("guild not found :(");
//also use the built-in array() method
console.log(guild.array());

相关内容

最新更新