首页 > 解决方案 > TypeError: message.guild.channels.find(...).then 不是函数

问题描述

这是我从下面的代码中得到的错误:TypeError: message.guild.channels.find(...).then is not a function

        message.guild.channels.find('name', `${message.author.username}-oda`).then(c => {
            channel.overwritePermissions(message.member, {
                CONNECT: true,
                VIEW_CHANNEL: true
            });
            message.channel.send('All Ok.')
        })

标签: javascriptdiscord.js

解决方案


由于您对此答案发表评论说您使用的是 discord.js v11 而不是 v12,因此我正在根据以下tipakA 的评论编辑我的答案。

find不返回 Promise,所以你不能使用then它。

您的解决方案是:

const channel = message.guild.channels.find('name', `${message.author.username}-oda`);
channel.overwritePermissions(message.member, {
                CONNECT: true,
                VIEW_CHANNEL: true
            });
message.channel.send('All Ok.');

推荐阅读