首页 > 解决方案 > discord.js v12 向第一个频道发送消息

问题描述

嗨,我如何将消息发送到机器人可以在 Discord.js v12 中发送消息的第一个通道。请帮我。这对我不起作用:

client.on("guildCreate", guild => {
    let channelID;
    let channels = guild.channels;
    channelLoop:
    for (let c of channels) {
        let channelType = c[1].type;
        if (channelType === "text") {
            channelID = c[0];
            break channelLoop;
        }
    }


    let channel = client.channels.get(guild.systemChannelID || channelID);
    channel.send(`Thanks for inviting me into this server!`);
});

标签: javascript

解决方案


更新了 Discord v13

注意c.type已从 更改textGUILD_TEXT

const Discord = require("discord.js");
const client = new Discord.Client();

client.on("guildCreate", (guild) => {
  const channel = guild.channels.cache.find(
    (c) => c.type === "GUILD_TEXT" && c.permissionsFor(guild.me).has("SEND_MESSAGES")
  );
  // Do something with the channel
});

推荐阅读