Discord JS-向bot所在的每个服务器中的每个用户发送dm

时间:2020-05-06 23:12:30

标签: bots discord discord.js dm

我想创建一个像- /announcement这样的命令,但是我想向机器人所在的服务器的每个用户发送消息:

Server a - will send

服务器B-也会通过触发一个命令发送,这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用client.users获取所有已缓存的用户,然后可以执行以下操作:

client.users.cache.forEach(user => {
  user.send('hello')
})

或者,您可以使用client.guilds循环浏览所有公会,并在循环浏览时,循环浏览其成员并向其发送消息。

client.guilds.cache.forEach(guild => {
  guild.members.cache.forEach(member => {
    member.send('hello')
  })
})

注意:根据用户数量的不同,这可能需要很长时间才能完成,并且会导致您的机器人落后,并且很可能会限制速率。