TypeError:无法读取未定义的属性“ varName”

时间:2020-07-25 05:07:35

标签: javascript discord discord.js

这是我的代码。我不断收到TypeError: Cannot read property ''的未定义和类似错误。

const data = cache.actions[cache.index];
let varName = this.evalMessage(data.varName, cache);
let storage = parseInt(data.storage);
let info = parseInt(data.info);
let time = parseInt(data.time);
const { msg } = cache
const { guild } = cache

if (guild.varName === undefined) {
guild.varName = new Set();
}
    if (message.guild.varName.has(msg.author.id)) {
            channel.send("info");
            console.log("Restriction active!");
} else {

        message.guild.varName.add(msg.author.id);
        setTimeout(() => {

        message.guild.varName.delete(msg.author.id);
        }, time);
        
    }`

1 个答案:

答案 0 :(得分:1)

这里似乎有两个主要问题。首先,此代码中的任何地方都没有消息收集器。消息收集器将类似于

client.on('message', function() {
    //some code here
}

这将等待机器人接收到一条消息,然后执行该函数内部的所有操作。我看到的第二个问题是您有一个变量varName,并且您正在尝试使用该变量访问guild的属性。在您的代码中,您使用了点符号,但是在尝试使用变量访问属性时,点符号不起作用。无论何时"varName"的值是,您的代码都将寻找名为varName的行会属性(请注意,它是一个字符串)。为此,您可以使用guild[varName]