Search code examples
javascriptnode.jsdiscorddiscord.js

How to fix "event.bind is not a function"?


I'm setting up a new Discord server, so that means I need to make a new custom bot for it. I was redoing the index.js code and then I try starting it up for the first time and it is telling me "event.bind is not a function"? Where is the issue and how do I resolve it?

I have tried reinstalling Node.js, Enmap, and Discord.js but the problem keeps reoccurring.

fs.readdir("./events/", (err, files) => {
  if (err) return console.error(err);
  files.forEach(file => {
    const event = require(`./events/${file}`);
    const eventName = file.split(".")[0];
    client.on(eventName, event.bind(null, client));
  });
});

Solution

  • Make sure your message.js is module.exports = (client, message) => {

    The code is from https://anidiots.guide/first-bot/a-basic-command-handler#main-file-changes so you might find more there.

    Additionally, the loader is not checking if the file is a .js file, so make sure to only have .js files in the folder.