Estoy creando un bot y recibo un error que dice que TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('message') en la línea 11. Aquí está mi código:
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);Este es el error que me sale:
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' Y este es mi archivo settings.json :
{ "clientId": "123456789012345678", "guildId": "876543210987654321", "token": "xxxxxxxxxxxxxxxxxxxxx" }Debe usar client que es la instancia de la clase Client que creó en la línea 4, y no Client , que es la clase en sí.
Tu línea 11 debería verse así: client.on('message', msg => { y lo mismo para client.login(token); en la última línea.
Intenta usar la importación para tu token así:
const { token } = require('./settings.json')