Javascript defaultChannel.send不是一个函数
我有一些代码在添加bot时向服务器致意Javascript defaultChannel.send不是一个函数,javascript,discord,discord.js,Javascript,Discord,Discord.js,我有一些代码在添加bot时向服务器致意 client.on("guildCreate", guild => { const defaultChannel = guild.channels.find(c => c.permissionsFor(guild.me).has("SEND_MESSAGES")); defaultChannel.send(`Hi! Thanks for adding me to your server!`).catch(console.erro
client.on("guildCreate", guild => {
const defaultChannel = guild.channels.find(c => c.permissionsFor(guild.me).has("SEND_MESSAGES"));
defaultChannel.send(`Hi! Thanks for adding me to your server!`).catch(console.error);
});
它找到了一个可以向其发送消息并发送感谢消息的通道
当我运行上述代码时,我得到以下错误:
TypeError:defaultChannel.send不是一个函数
client.guild.channels
什么帮会?机器人加入的帮会。。。我不明白你的问题…它真的找到频道了吗find
如果找不到要查找的内容,则返回undefined
,这里就是这种情况。当您在undefined
上调用send
时,您会遇到该错误。我尝试使用client.channels.get
,我得到这样一个结果:“无法读取未定义的属性'send',因此它似乎找不到频道。有人能帮忙吗?我会尝试记录guild.channels
和defaultChannel
来更仔细地了解幕后的情况。如果集合guild.channels
中有一个bot有权发送消息的通道,但defaultChannel
仍未定义,则您的.find()
回调函数可能有问题。