es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Añade un rol desde el Administrador de Dominio con Discord Bot JS.

Me gustaría poder asignar un rol a alguien desde los MD si dicen sí con el código debajo.

No puedo encontrar la solución para entender el bot y agregar el rol en el servidor a la persona.

const Discord = require("discord.js"),
Client = new Discord.Client({ partials: ["CHANNEL"], intents: [
        Discord.Intents.FLAGS.GUILDS,
        Discord.Intents.FLAGS.GUILD_MEMBERS,
        Discord.Intents.FLAGS.GUILD_MESSAGES,
        Discord.Intents.FLAGS.DIRECT_MESSAGES
    ]
}),
yaml = require('js-yaml'), 
fs = require("fs");
var fichier = yaml.load(fs.readFileSync('./data/keys.yml', 'utf8'));
console.log(fichier.key)
Client.on("ready", () => {
    console.log("bot opérationnel")
});
Client.on("messageCreate", message =>{
    console.log("Non");
    if (message.channel.type == 'DM') {
        console.log('Dm recieved!')
    }
        if (message.content == "yes"){
            console.log("ok");
        }
});
Client.on("guildMemberAdd", async member => {
    member.send("Bienvenue, possédez-vous une clé d'activation ? Si oui envoyer la dans le channel");
});
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para asignar un rol a un usuario desde mensajes directos si dicen “sí”, primero necesitas recuperar el servidor donde se debe agregar el rol. Puedes hacer esto especificando el ID del servidor en el código. Una vez que tienes el servidor, puedes recuperar el rol que se debe agregar especificando el ID del rol. Finalmente, puedes asignar el rol al usuario usando el método addRole().

    Aquí tienes un ejemplo de código que puedes usar:

    Client.on("messageCreate", async message => {
      if (message.channel.type === "DM" && message.content === "sí") {
        const server = await Client.guilds.cache.get("ID-DEL-SERVIDOR");
        const role = await server.roles.cache.get("ID-DEL-ROL");
        const user = await server.members.cache.get(message.author.id);
        await user.roles.add(role);
        // Enviar un mensaje de confirmación al usuario
        message.author.send(`Ahora tienes el rol ${role.name} en ${server.name}`);
      }
    })
    

    Reemplaza “ID-DEL-SERVIDOR” e “ID-DEL-ROL” con los IDs correspondientes de tu servidor y rol, respectivamente. Además, asegúrate de agregar los permisos necesarios para que el bot pueda añadir roles a los usuarios en el servidor.

Comments are closed.