将私人消息发送给一组用户(Discord.js)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (44)

我正在寻找一种向具有相同角色的用户组发送私人消息的方法(使用discord.js)

我找到了发送消息的方法(client.users.get(“ID”)。send(“Message”);但是没有办法让所有在该列表上具有相同角色和循环的成员向他们发送私有有人可以帮帮我吗?

提问于
用户回答回答于

您可以首先制作具有所需角色的所有成员的列表(请参阅参考资料Collection.filter()),然后循环(请参阅Map.forEach()参考资料)并向每个成员发送DM。请查看下面的代码以获取示例。

// Assuming 'guild' is defined as the guild with the desired members.

const roleID = ''; // Insert ID of role.
const members = guild.members.filter(m => m.roles.has(roleID) && m.user.id !== client.user.id);

members.forEach(member => {
  member.send('Hello there.')
    .catch(() => console.error(`Unable to send DM to ${member.user.tag}.`));
    // The above error would most likely be due to the user's privacy settings within the guild.
});

扫码关注云+社区

领取腾讯云代金券