Javascript TypeError:message.guild.channels.find(…)。then不是一个函数

Javascript TypeError:message.guild.channels.find(…)。then不是一个函数,javascript,discord.js,Javascript,Discord.js,这是我从下面的代码中得到的错误:TypeError:message.guild.channels.find(…)。then不是一个函数 message.guild.channels.find('name',`${message.author.username}-oda`)。然后(c=>{ channel.overwritePermissions(message.member{ 连接:是的, 查看频道:真 }); message.channel.send('一切正常') }) 既然您对这个答案发表

这是我从下面的代码中得到的错误:
TypeError:message.guild.channels.find(…)。then不是一个函数

message.guild.channels.find('name',`${message.author.username}-oda`)。然后(c=>{
channel.overwritePermissions(message.member{
连接:是的,
查看频道:真
});
message.channel.send('一切正常')
})

既然您对这个答案发表评论说您使用的是discord.js v11而不是v12,我将根据tipakA下面的评论编辑我的答案

find
不会返回承诺,因此您不能对其使用
then

您的解决方案是:

const channel=message.guild.channels.find('name',`${message.author.username}-oda`);
channel.overwritePermissions(message.member{
连接:是的,
查看频道:真
});
message.channel.send('一切正常');

我照你说的做了。它现在给出的错误如下:TypeError:无法读取的属性“find”undefined@DES如果您不在discord.js的v12上,那么这个答案不适合您。如果你在v11上,
find
不会返回承诺,因此你不能在上面使用
then
。discord.js的版本是v11,所以有可能解决它。他刚刚告诉了你解决方案,我根据tipakA的评论编辑了我的答案,让它更清晰。Hello,你能提供更多的上下文并包含更多的代码吗。然后是一个承诺的方法,所以它可能与“.find”函数不返回承诺有关。