消息服务器中的所有成员不工作

时间:2021-02-11 21:37:11

标签: javascript node.js discord.js

我正在尝试创建一个命令,向服务器中的每个成员发送一个 DM。我得到的错误是这样的:

(node:4741) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'members' of undefined

代码如下:

bot.guild.members.cache.fetch().then(membersfetch => {
    membersfetch.forEach((member) => member.send("Hello"));
})

1 个答案:

答案 0 :(得分:1)

客户端/机器人上没有 .guild 属性,只有 .guilds 包含客户端当前正在处理的所有公会。

如果您的机器人仅在一台服务器上使用,您可以像这样安全地获取 .first() 一个,然后获取成员并向他们发送 DM:

bot.on('ready', async () => {
  console.log('Bot is connected...');

  const guild = await bot.guilds.cache.first();
  const members = await guild.members.fetch();

  members.each((member) => member.send('Hello'));
});

如果它在多个服务器上,您需要获取公会 ID 并通过该 ID 获取公会:

bot.guilds.fetch('222078108977594368');

enter image description here