【问题标题】:How to send a message to every user that is in same guild as bot?如何向与机器人同属一个公会的每个用户发送消息?
【发布时间】:2020-09-23 21:05:18
【问题描述】:

所以基本上我想让机器人能够向与机器人在同一个公会中的每个用户发送消息,我想让它超时,所以我不会滥用 Discord API。

【问题讨论】:

  • 遍历成员并向每个用户发送消息...?
  • 我认为循环会导致不和谐的滥用
  • 您可以将成员存储在一个数组中,并在setInterval 回调中创建“循环”。 (不要忘记增加索引。)顺便说一句,我认为即使你做了一个循环,Discord.js 也会将请求放入队列中,直到速率限制过期。
  • 或者我可以使用setTimeout 制作它,这样我在每条消息之间都有特定的时间吗?我认为这不会将请求放入队列中。
  • 是的,setTimeout 也可以。

标签: discord.js


【解决方案1】:

使用setTimeout 发送 DM 需要很长时间,所以我使用名为 auto-partnership 的频道过滤了公会

setTimeout(() => {
let channel = client.channels.cache.filter(channel => channel.name.toLowerCase() === "auto-partnership")
channel.forEach(channel => {
channel.send( "test")
})
}, 5000);

一个机器人正在向每个公会发送test 消息,其频道名为auto-partnership

【讨论】:

    猜你喜欢
    • 2020-09-26
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2021-01-28
    • 2019-06-27
    • 2020-11-19
    相关资源
    最近更新 更多