Estoy aprendiendo a hacer un bot eso de roles. Actualmente el bot funciona pero me gustaría que al otorgarle un rol al usuario envíe un md de bienvenida pero estoy teniendo problemas con eso. traté de usar
client.on("ready", () => { client.users.fetch(targetUsers.id).then(user => { user.send('hola mundo')} )});Pero no funciona
La idea sería que luego de ejecutar member.roles.add(role) se envíe un mensaje al mismo usuario de bienvenida
module.exports = { commands: 'giverole', expectedArgs: "<Target user's @> <The role name>", minArgs: 2, permissions: 'ADMINISTRATOR', callback: (message, arguments) => { const targetUsers = message.mentions.users.first() if (!targetUsers) { message.reply('Please specify someone to give a role to.') return } arguments.shift() const roleName = arguments.join(' ') const { guild } = message const role = guild.roles.cache.find((role) => { return role.name === roleName }) if (!role) { message.reply(`No existe un rol con el nombre"${roleName}"`) return } const member = guild.members.cache.get(targetUsers.id) member.roles.add(role) message.reply(`Ese usuario ahora tiene el rol de ${roleName}`) console.log(`${targetUsers.id}`) } }Discord.js lo hace bastante fácil:
const member = guild.members.cache.get(targetUsers.id) member.roles.add(role) member.send("Message here")¡Aunque tenga en cuenta que algunos usuarios pueden haber deshabilitado los mensajes directos de no amigos en Discord!