如何让不和谐机器人在它所在的服务器中发送消息?

时间:2021-03-10 20:37:08

标签: javascript discord discord.js

所以我正在尝试制作一个机器人,向它所在的所有服务器发送消息,但问题是我真的不知道如何让用户选择他想要的特定频道,并且我不知道如何让机器人向机器人所在的服务器发送消息。如果有人可以提供帮助,或者告诉我一个教程,将不胜感激!

问题 #1:如何让用户选择机器人发送消息的频道。

问题#2:如何让机器人向他所在的所有服务器发送消息。

1 个答案:

答案 0 :(得分:1)

如果您想说明机器人所在的所有服务器,您可以使用 forEach 方法。像这样:

let servernames = "";

  bot.guilds.cache.forEach(guild => {
    servernames += `${guild.name}, `;
  });
  message.channel.send(`**${servernames.slice(0, servernames.length - 2)}**`)

但是,如果您希望无论如何都向每个服务器发送消息,您仍然需要一个 forEach 方法,只需加入 .send 函数即可。示例:

bot.guilds.cache.forEach(guild => {
    guild.defaultChannel.send("hi")
});

如果您想向特定频道发送消息,您需要cache 它并使用频道 ID 查找。示例:

let channelSend = bot.channels.cache.find(channel => channel.id === 'channel id here')
channelSend.send("hi")