如何使用 v12+(12.0.0 及更高版本)向 Discord.js 中的所有公会发送消息

2024-04-29

if (command === "sendguildmessages") {
    if (message.author.id === "231956829159161856") {
        var guildList = client.guilds.array();
        try {
            guildList.forEach(guild => guild.defaultChannel.send("messageToSend"));
        } catch (err) {
            console.log("Could not send message to a (few) guild(s)!");
        }
    } else {
        message.reply(`You cant do that!`)
    }
} else

我尝试使用 v11.2,但那是一个 K.O. 它说它已经过时并且需要更新。我可以用这段代码替换什么?


defaultChannel()已被弃用并且没有替代方案。 并且您需要指定发送消息的通道,但是由于某些服务器具有唯一的通道名称,因此它无法工作......除非它们都具有相同的通道名称并保持不变(有些偷看者更改了名称)一般的)。

嗯..我为它编写了一个代码(如果频道的名称为“general”,则可以使用)

if (command === "sendguildmessages") {
  if (message.author.id === "231956829159161856") {
    try {
      let toSay = "messageToSend"
      this.client.guilds.map((guild) => {
        let found = 0
        guild.channels.map((c) => {
          if (found === 0) {
            if (c.type === "text") {
              if (c.permissionsFor(this.client.user).has("VIEW_CHANNEL") === true) {
                if (c.permissionsFor(this.client.user).has("SEND_MESSAGES") === true) {
                  c.send(toSay);
                  found = 1;
                }
              }
            }
          }
        });
      });
    }
    catch (err) {
      console.log("Could not send message to a (few) guild(s)!");
    }
  } else {
    message.reply("You cant do that!")
  }
}

取自:https://github.com/itsYuuki/SmoreBot/blob/master/commands/control/gann.js https://github.com/itsYuuki/SmoreBot/blob/master/commands/control/gann.js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 v12+(12.0.0 及更高版本)向 Discord.js 中的所有公会发送消息 的相关文章

随机推荐