Javascript channel.send不是一个函数

Javascript channel.send不是一个函数,javascript,discord,discord.js,Javascript,Discord,Discord.js,我试图为我的服务器发出一个欢迎命令,除了发送消息的bot之外,我的一切都停止了。当我试图用send函数发送消息时,它在控制台中说它不存在。它不是一个函数。我真的不知道该怎么办,因为我在任何地方都找不到任何东西 client.on('guildMemberAdd', member => { const channel1 = member.guild.channels.cache.find(channel => channel.name === "welcome"

我试图为我的服务器发出一个欢迎命令,除了发送消息的bot之外,我的一切都停止了。当我试图用send函数发送消息时,它在控制台中说它不存在。它不是一个函数。我真的不知道该怎么办,因为我在任何地方都找不到任何东西

client.on('guildMemberAdd', member => {
  const channel1 = member.guild.channels.cache.find(channel => channel.name === "welcome");
  if (!channel1) return;

  channel1.send(`Welcome to the server, ${member} \n Thank you for joining!`);
})
似乎您的方法返回的是,而不是

CategoryChannel
没有
.send()
方法,因此出现错误。您可以使您的
.find()
更加具体,只查找文本频道,以避免此问题:

member.guild.channels.cache.find(channel => channel.type === 'text' && channel.name === "welcome");

什么是
member.guild.channels.cache
?它是如何填充的?我没有设置数组。不知道我是否必须设置一个。@JaromandaX是的。它包含。@TootRoot您确定找到的频道是
TextChannel
?(而不是例如一个
语音频道
?)@Ivar是的,我没有其他名为welcome的频道,所以我认为它找到了正确的频道