Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
I am making a ping pong command and I am getting an error in my code

I'm making a bot and I'm getting an error saying that TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message') on line 11. Here's my code:

const { Client, Intents } = require("discord.js");
const settings = require("./settings.json");

const client = new Client({
  intents: [
    Intents.FLAGS.GUILDS, 
    Intents.FLAGS.GUILD_MESSAGES
  ]
});

Client.on("message", (msg) => {
  // Message function
  if (msg.author.bot) return; // Ignore all bots
  if (msg.content.startsWith(settings.prefix)) return; // It always has to starts with the prefix which is '!'

  if (msg.content.startsWith(settings.prefix + "ping")) {
    // When a player does '!ping'
    msg.reply("Pong!"); // The bot will say @Author, Pong!
  }
});

Client.login(token);

This is the error I get:

throw new ERR_INVALID_ARG_TYPE('emitter', 'EventEmitter', emitter);
        ^    
TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message')
    at new NodeError (node:internal/errors:372:5)
    at eventTargetAgnosticAddListener (node:events:1008:11)
    at Function.on (node:events:1095:3)
    at Object.<anonymous> (C:\Users\yybro\discordBot\dex.js:11:8)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47 {
      code: 'ERR_INVALID_ARG_TYPE' 

And this is my settings.json file:

{
    "clientId": "123456789012345678",
    "guildId": "876543210987654321",
    "token": "xxxxxxxxxxxxxxxxxxxxx"
}
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You need to use client which is the instance of the Client class you made on line 4, and not Client which is the class itself.

Your line 11 should look like that: client.on('message', msg => { and same for client.login(token); on the last line.

about 4 years ago · Juan Pablo Isaza Report

0

Try using the import for your token like that:

const { token } = require('./settings.json')
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!