我需要有关名为“ ReferenceError:消息未定义”的错误的帮助。

时间:2019-06-10 18:09:37

标签: javascript node.js discord.js

这是我的代码:

let xpAdd = Math.floor(Math.random() * 7) + 8;
console.log(xpAdd);
if (!xp[message.author.id]) {
  xp[message.author.id] = {
    xp: 0,
    level: 1
  };
}

这是错误:

  

ReferenceError:message未定义。

2 个答案:

答案 0 :(得分:0)

传递给xp的密钥尚未定义,因此您需要先对其进行定义

let xpAdd = Math.floor(Math.random() * 7) + 8
var message = {
  author:{
    id: //*whatever id you want to access*
  }
}
console.log(xpAdd);
if(!xp[message.author.id]){
xp[message.author.id] = {
  xp: 0,
  level: 1
};
}

答案 1 :(得分:0)

message尚未在您显示的非常有限的代码中的任何地方定义。

如果您的代码在自己的函数内,请传递message作为参数:

function addXP(message) {
  ...
}

addXP(message);

否则,您的代码应位于客户的message事件回调中。在这种情况下,您可以将message声明为Message参数:

client.on('message', message => {  // Client may be defined as 'bot' instead of 'client'
  ...
});

MDN文档:
parameters
scope
functions

Discord.js文档:
message Event
Message Class