【问题标题】:How to DM all members of a guild如何DM一个公会的所有成员
【发布时间】:2018-12-29 00:15:47
【问题描述】:

想给公会的每个成员发私信,但不知道怎么做。

以下不起作用:

message.guild.members.get().send("Test")

【问题讨论】:

  • 嗯,这不会那么容易..您需要检查每个成员,然后分别向每个成员发送 DM。而且你不能一次完成,否则你会受到速率限制。
  • 您可以获取成员列表(数组),然后使用循环发送给每个成员
  • 我该怎么做?

标签: bots discord discord.js


【解决方案1】:

您需要遍历每个成员并单独私下向他们发送消息 - 确保使用 setTimeout() 函数在 DM 之间设置 1-2 秒的间隔,否则您可能会受到速率限制。

我会得到成员 id 的列表,然后使用 .forEach() 函数对每个人进行 dm。所以是这样的:

message.channel.guild.members.forEach(user => {
    user.send(content);
});

顺便提一下,有些人只允许朋友私信给他们,所以一定要处理好。

【讨论】:

  • guild.members 是一个收集器。 forEach 用于数组而不是收集器。将forEach 更改为every
猜你喜欢
  • 2020-11-28
  • 1970-01-01
  • 2021-12-02
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
  • 2021-03-14
  • 2021-05-29
相关资源
最近更新 更多