Tengo este código muy básico para un bot de discordia muy básico.
desde la nueva versión 13 de discord.js, debe declarar las intenciones.
Intenté hacerlo usando el mapa de bits 32767 (básicamente declarando todos los intentos), sin embargo, el bot no activa el evento "messageCreate" cuando se envía un mensaje en el dms, solo funciona en servidores.
Todos los intentos de puerta de enlace privilegiados en el sitio del desarrollador se han establecido en verdadero.
¿Qué me estoy perdiendo?
const Discord = require("discord.js"); const allIntents = new Discord.Intents(32767); const client = new Discord.Client({ intents: allIntents }); require("dotenv").config(); const botName = "Miku"; client.once("ready", () => { //gets executed once at the start of the bot console.log(botName + " is online!"); }); client.on("messageCreate", (message) => { console.log("got a message"); }); (async() => { //bot connects with Discord api client.login(process.env.TOKEN); })();No puede escuchar eventos en los mensajes directos a menos que sean respuestas directas/respuestas/reacciones al mensaje inicial.
Por ejemplo, puede enviar un mensaje a los nuevos miembros y esperar una respuesta:
client.on('guildMemberAdd', member =>{ member.send("Welcome to the server!"); message.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] }) .then((collected) => { //Now, write your code here that handles the reactions. }); pero no hay forma de escuchar eventos dentro de los Mensajes directos. Como en, client.on... nunca se activará debido a un evento DM.