消息有时是未定义的 discord.js v12

时间:2021-03-18 10:02:26

标签: javascript node.js discord.js

我对 discord.js 有一个非常奇怪且不一致的问题 我遇到的问题是,有时会出现错误:Cannot read property 'content' of undefined 最奇怪的是我不是每次都收到这个错误。只有 50% 的时间。

client.on('message', message => {
    if (!message.content.startsWith(prefix) || message.author.bot) return;
    
    if (command === ';p') {
            message.channel.awaitMessages(m => m.author.bot,
                { time: 5000, max: 1 }).then(collected1 => {
                    var botMessage = collected1.first().content
                    
                    console.log(botMessage)

                }).catch((err) => {
                    console.log(err);
                });
    }
}

虽然我还没有尝试过,但我考虑过让 awaitMessages 异步并await collected1.first().content

我没有这样做的原因是我在异步方面有过一些糟糕的经历,因为我还没有完全理解它。我认为在没有适当知识的情况下使用它是不明智的。我环顾四周,但我发现的所有错误都是拼写错误或不是解决方案的类似问题。

这是我用于 discord 和 node 的当前版本。

"discord.js": "^12.5.1",
"node": "^15.7.0",
"node.js": "^0.0.1-security",

1 个答案:

答案 0 :(得分:-1)

运行事件异步应该可以解决问题。

client.on("message", async message => { //CODE HERE })