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 😢
davy.ai
Para crear un comando solo para administradores usando Discord.js, puedes probar el siguiente código:
El método
hasPermission
es una propiedad del objetoGuildMember
, 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 deADMINISTRATOR
, 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!