Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

294
Vistas
Bot de Discord que responde a un mensaje directo

Estoy usando discord.js y estoy tratando de hacer que si un usuario envía un mensaje directo a un bot, responderá una respuesta simple como "Lo siento, no puede enviarme un mensaje privado. Utilice el sistema de tickets". en cambio."

Intenté usar:

 client.on('message', msg => { if (msg.channel.type == "dm") { msg.author.send(" blah blah example text"); return; } });

Esto no produce resultados.

Soy totalmente nuevo en la codificación y agradecería la ayuda.

Gracias

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

OK, ahora resolví esto para siempre.

Estaba perdido:

 const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "DIRECT_MESSAGES", "DIRECT_MESSAGE_REACTIONS", "DIRECT_MESSAGE_TYPING"], partials: ['CHANNEL',] })

(utilicé esta guía: https://github.com/discordjs/discord.js/issues/5516#issuecomment-985458524 )

Para la respuesta:

 if (message.channel.type === "DM") { return message.reply({ content: "TEXT" }); }

Debí haber usado DM MAYÚSCULAS, Jesucristo. Ahora funciona como un encanto!

Gracias a todos.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Está utilizando el evento de mensaje, por lo que necesita un comando para funcionar.

if (message.content === "test") , su comando está en la Cadena.

if (message.channel.type === "dm") , y esto detecta en qué tipo de canal está el usuario para usar el comando.

return message.reply("") , luego enviará un mensaje de error en el dm del usuario porque el comando no se puede ejecutar en dm's.

de else , si no detecta un canal dm, ignorará la respuesta de error.

 client.on("message", message => { if (message.content === "test") { if (message.channel.type === "dm") { return message.reply({ content: "This message is a dm for the user." }); } else { return message.reply({ content: "This message is a message sent to channel." }); } } });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda