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.

Haz un comando en Discordjs que solo se ejecute si el miembro es administrador.

Quiero hacer un solo comando para los administradores.

//comando nick
        if(comando === 'nick'){
            if (message.author.permissions.has(!Permissions.STAGE_MODERATOR)) return message.reply('¡Sin permisos!');
            else{
                if(args == ''){
                    message.channel.send(`mi mensaje`);
                }
                else{
                    message.guild.members.cache.get(client.user.id).setNickname(`${args}`);
                    message.channel.send(`mi mensaje`);
                }
            }
        }

Pero estoy teniendo este problema:

if (message.author.permissions.has(!Permissions.STAGE_MODERATOR)) return message.reply('¡Sin permisos!');

TypeError: Cannot read properties of undefined (reading 'has')

Tomé este código de los documentos de Discord Js, pero no está funcionando 😢

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear un comando solo para administradores usando Discord.js, puedes probar el siguiente código:

    // adminCommand
    if (comando === 'adminCommand') {
      if (!message.member.hasPermission('ADMINISTRATOR')) {
        return message.channel.send('Solo los administradores pueden usar este comando');
      }
      // el resto de tu código para el comando de administrador
    }
    

    El método hasPermission es una propiedad del objeto GuildMember, por lo que debes asegurarte de que el usuario que invoca el comando sea miembro de un gremio. Este código comprueba si el usuario que invoca el comando tiene el permiso de ADMINISTRATOR, y si no lo tiene, envía un mensaje al canal diciendo que solo los administradores pueden usar el comando.

    Ten en cuenta que puedes reemplazar 'ADMINISTRATOR' con cualquier permiso válido que desees verificar. También puedes personalizar el mensaje a tu gusto.

    ¡Espero que esto resuelva el error que estás viendo en tu código!

Comments are closed.