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

256
Vistas
¿Cómo hacer un comando dm con rol? / Discordia js V12

Me pregunto cómo puedo hacer el comando dm pero con un rol, así que hice este código,

 const { Client, Message, MessageEmbed } = require('discord.js'); //const { join } = require('path'); module.exports = { name: 'dm-role', /** * @param {Client} client * @param {Message} message * @param {String[]} args */ run: async(client, message, args) => { if(!args[0]) return message.channel.send("who do you want to send a message to?") const role = message.mentions.roles.first() || message.guild.roles.cache.get(args[0]); if(!user) return message.channel.send("no user found?") const reason = args.slice(1).join(" ") if(!reason) return message.channel.send("what's the message?"); try { await user.send(reason); return message.channel.send("done"); } catch { return message.channel.send("i cant send the dm"); } } }

bien, probé este código pero el bot dice "no puedo enviar el dm", lo que significa que el bot tiene un error

e intento este código "https://stackoverflow.com/a/61618962/16849847" el código es:

 const { Client, Message, MessageEmbed } = require('discord.js'); const { join } = require('path'); module.exports = { name: 'dm-role', /** * @param {Client} client * @param {Message} message * @param {String[]} args */ run: async(client, message, args) => { if (!args[0]) return message.reply('you need to provide a role') if (!args[1]) return message.reply('you need to provide a message') const role = message.mentions.roles.first() message.guild.roles.cache.get(role.id).members.forEach(member => member.send(args[1])) } }

y sí, este código funciona pero solo envió 1 oración, la siguiente oración no se envió, así ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Espero que puedan ayudarme, depende de ustedes, quieren arreglar el primer código o el segundo código, ¡gracias, chicos!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El problema tiene que ver con la forma en que está enviando el mensaje.

Está enviando el mensaje enviando args[1] , lo que significa que solo enviará la primera palabra.

Para arreglar esto, haz lo mismo que enviaste el contenido del mensaje en el primer fragmento de código:

 // Replace args[1] with args.slice(1).join(" ") message.guild.roles.cache.get(role.id).members.forEach(member => member.send(args.slice(1).join(" ")))
about 4 years ago · Santiago Trujillo 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