TypeError [ERR_INVALID_ARG_TYPE]:“侦听器”参数的类型必须为Function

时间:2018-08-17 14:56:53

标签: node.js visual-studio discord.js

我在这里有这个小问题:

  

events.js:200
抛出新错误.ERR_INVALID_ARG_TYPE('listener','Function',listener);
   ^
  TypeError [ERR_INVALID_ARG_TYPE]:“侦听器”参数的类型必须为   功能。收到的类型未定义
  在_addListener(events.js:200:11)
  在Client.addListener(events.js:259:10)
  在对象。 (D:\ Yoshio \ index.js:7:5)
  在Module._compile(内部/模块/cjs/loader.js:689:30)
  在Object.Module._extensions..js(internal / modules / cjs / loader.js:700:10)
  在Module.load(internal / modules / cjs / loader.js:599:32)
  在tryModuleLoad(internal / modules / cjs / loader.js:538:12)
  在Function.Module._load(internal / modules / cjs / loader.js:530:3)
  在Function.Module.runMain(内部/模块/cjs/loader.js:742:12)
  启动时(internal / bootstrap / node.js:266:19)

我搜索了答案,但找不到答案,请告诉我该怎么做。
这是我的代码:

const Discord = require("discord.js");

const TOKEN = "mytoken";

var bot = new Discord.Client();

bot.on("message"), function(message) {
  console.log(message.content);
};

bot.login(TOKEN);

3 个答案:

答案 0 :(得分:7)

根据您提交的代码,在将函数作为参数传递之前,您将关闭on调用。尝试以下方法:

const Discord = require("discord.js");

const TOKEN = "mytoken"

var bot = new Discord.Client();

/*
 * Note the change here, the parenthesis is moved after
 * the function declaration so your anonymous function is now
 * passed as an argument.
 */
bot.on("message", function(message) {
  console.log(message.content);
});

bot.login(TOKEN);

答案 1 :(得分:1)

bot.on("message"), function(message) {
  console.log(message.content);
};

此处的错误表明您没有将回调函数传递给事件'message'。

这里的原因是语法错误,您在传递回调方法之前将括号括起来。

解决方案:

bot.on("message", function(message) {
  console.log(message.content);
};

答案 2 :(得分:-2)

应该这样正确地访问路径。...

const Discord = require("./discord.js");