如何向每个服务器机器人发送消息在 discord.js 中

时间:2021-02-05 11:22:17

标签: discord.js

我希望我的机器人向它所在的每个公会发送一条消息,但我无法让它工作。我真的需要一些帮助。

2 个答案:

答案 0 :(得分:0)

我不确定,但如果您创建一个 json 文件并在要向其发送消息的服务器中填写 server'id 和 channel'id。 例子:

[
{"guildId":"firstserver'id",
 "channelId":"aChannelInThatServer"
}
{"guildId":"secondserver'id",
 "channelId":"aChannelInThatServer"
}
......
]

然后创建一个循环遍历这个文件的命令,并检查客户端是否在那些服务器中,如果它在服务器中,它应该检查该公会中是否存在该频道,如果存在,它最终发送消息那里。 理论上这应该可行,但我仍然不知道这是否可行 再次查看 discord.js documents 以了解有关客户和公会的更多信息

答案 1 :(得分:0)

你的问题有点含糊,但在这里:

bot.guilds.cache.forEach(guild => {
    console.log(guild.name);
    let annmess = args.join(" ").slice(18)
    if (!annmess) return message.channel.send("Specify a message to announce")
    try {
      guild.channels.cache
        .find(x => x.name.includes("general" && "main" && "main-chat" && "chat" && "lounge"))
        .send(annmess);
    } catch {
      console.log("Message wasn't sent for " + guild.name);
    }
  });

这基本上是缓存机器人所在的每个服务器,并自动向任何包含“general”、“main”、“main-chat”和“chat”的频道发送消息。 (如果需要,您可以添加更多)