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

813
Vistas
(discord.js) How can I make this command only work for certain roles/users?

I'm still fairly inept when it comes to software development, and need some help with making this command work for only certain roles on my discord server, or only work for certain users

client.on('message', async message => {
    if (message.content === '-fruits') {
        try {
            await message.react('🍎');
            await message.react('🍊');
            await message.react('🍇');
        } catch (error) {
            console.error('One of the emojis failed to react:', error);
        }
    }
});
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

You can restrict a command to specific users by creating an array of user IDs, and if the message authors ID is in the list check if it matches any commands.

// Create an array of user ids
const adminIDs = [/* List of user IDs */]

client.on('message', async message => {
    // Check if the user who sent the message is in the list 
    if (adminIDs.include(message.author.id)) {
        // If user is in list, then check if message matches a command
        if (message.content === 'foo') {
            // do stuff...
        } else if (message.content === 'bar') {
           // do more stuff..
        }
    }
});

As for roles, you can check if a user has a specific role.

client.on('message', async message => {
    // Check if the user has a role with the name "Admin"
    if (message.member.roles.find(r => r.name === 'Admin')){
        if (message.content === 'foo') {
            // do stuff...
        } else if (message.content === 'bar') {
           // do more stuff..
        }
    }
});
over 4 years ago · Santiago Trujillo Denunciar

0

Comment on @KyleRifqi's answer (I don't have 50 rep.)

Roles also have IDs, so you can do message.member.roles.find(r => r.id === "Role ID string") instead, if you happen to have multiple roles with the same name

over 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