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

95
Views
No puedo encontrar una manera de hacer que mi bot discord.js detecte mensajes
import { Client, Intents } from 'discord.js'; const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); client.once('ready', () => { console.log('Ready!'); }); client.on("message", async msg => { if (msg.content === "ping") { console.log("ping") msg.reply("pong") } }); client.login(token);

Estoy usando discord.js v13, el bot inicia sesión correctamente y muestra "¡Listo!" y luego, cuando escribo un mensaje en el servidor, está en línea y ni siquiera console.log

Cualquier ayuda apreciada, gracias de antemano.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Necesitas la intención GUILD_MESSAGES habilitada para recibir eventos de mensajes. Además, como dijo CcmU, el evento de message está en desuso y debe reemplazarse con messageCreate .

 // ... const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); // ... client.on("messageCreate", async msg => { /* ... */ }) // ...
about 4 years ago · Juan Pablo Isaza Report

0

Como puede ver en los documentos , el message de evento está en desuso. En su lugar, puede usar un oyente para el mensaje de evento messageCreated si desea escuchar cualquier mensaje nuevo.

Así que puedes probar algo como

 client.on('messageCreate', async msg => { if (msg.content === "ping") { console.log("ping"); msg.reply("pong"); } });

EDITAR:

Como señaló @chickensalt , debe declarar en sus Intents el apropiado para manejar mensajes, es decir, Intents.FLAGS.GUILD_MESSAGES . Entonces, al crear su Client :

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

Pero recuerda usar el Intent correcto para tus necesidades, porque podrías tener problemas para manejar la memoria correctamente. Como sugiere la documentación :

Para bots más grandes, el estado del cliente puede llegar a ser bastante grande. Recomendamos almacenar solo los objetos en la memoria que son necesarios para la operación de un bot. Muchos bots, por ejemplo, solo responden a la entrada del usuario a través de comandos de chat. Es posible que estos bots solo necesiten mantener la información del gremio (como roles y permisos del gremio/canal) en la memoria, ya que los eventos MESSAGE_CREATE y MESSAGE_UPDATE tienen el objeto de miembro completo disponible.

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!