【问题标题】:discord.js client.guilds.cache.get(role).members | Create a array with all members of a guilddiscord.js client.guilds.cache.get(role).members |创建一个包含公会所有成员的数组
【发布时间】:2020-11-25 19:30:31
【问题描述】:

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

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

【问题讨论】:

  • 验证你的公会ID
  • 我做了,但还是不行
  • 尝试 console.log(client.guild.cache.get("335507048017952771")) 它返回什么?
  • 它返回未定义
  • 将client.guild 更改为client.guilds 输入错误

标签: javascript node.js discord discord.js


【解决方案1】:

似乎公会不存在或您的机器人无法访问它,您可以通过执行类似的操作来简单地检查这一点

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());

【讨论】:

  • guild.array() 创建此错误:TypeError: Cannot read property 'array' of undefined
  • @tobi 看起来你的机器人无法获取公会,ID 来自哪里?它只能访问被添加为机器人的公会
【解决方案2】:

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

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 docs

【讨论】:

  • 成员仍未定义
  • @tobi receivedMessage 来自哪里?
  • client.on('message', (receivedMessage) => {
  • 我只想要 id。我得到第一行你发送所有其他信息昵称ID等类似[0000000000, 000000000, 0000000000]或[Name1#1111, Name2#2222, Name3#3333]
  • @tobi 请将您的代码复制到网站 hastebin 或 pastebin 并在此处添加链接。记得删除所有令牌。
猜你喜欢
  • 2021-05-26
  • 2021-10-24
  • 2018-03-03
  • 2020-08-15
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2021-06-26
相关资源
最近更新 更多