Discord JS - 向机器人所在的每台服务器中的每个用户发送 dm
Posted
技术标签:
【中文标题】Discord JS - 向机器人所在的每台服务器中的每个用户发送 dm【英文标题】:Discord JS - Sending dm to every user in every server that bot is 【发布时间】:2020-08-22 02:45:53 【问题描述】:我想创建一个类似- /announcement
的命令,但我想向机器人所在的服务器的每个用户发送消息:
Server a - will send
服务器 B - 也将通过触发一个命令发送,这可能吗?
【问题讨论】:
请注意,向您的机器人所在的每个服务器中的每个用户发送未经请求的 DM 违反了 Discord 的Terms of Service,并且可能会被禁止。 如果一个答案解决了您的问题,那么请接受它,让其他人知道它有效 【参考方案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')
)
)
注意:根据用户的数量,这将需要很长时间才能完成,并且会导致您的机器人滞后,并且很有可能会受到速率限制。
【讨论】:
以上是关于Discord JS - 向机器人所在的每台服务器中的每个用户发送 dm的主要内容,如果未能解决你的问题,请参考以下文章
使用 discord.js 从不同服务器向多个频道 ID 发送消息