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

253
Views
¿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 answers
Answer question

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 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!