Discord.js если пользователь имеет определенную роль он может выполнить команду
Всем привет,
У меня есть проблема, я хочу разрешить выполнять команду только в том случае, если пользователь имеет определенную роль, но это дает мне ошибку, неожиданную { по этому правилу:
if (message.member.roles.has(allowedRole.id) {
Может ли кто-нибудь помочь мне с моей проблемой?
<pre>let allowedRole = message.guild.roles.find("name", "rolename"); if (message.member.roles.has(allowedRole.id) { client.on('message', message => { if (!message.guild) return; if (message.content.startsWith(prefix + 'kick')) { const user = message.mentions.users.first(); if (user) { const member = message.guild.member(user); if (member) { member .kick(' ') .then(() => { message.reply(`Successfully kicked ${user.tag}`); }) .catch(err => { message.reply('I was unable to kick the member'); console.error(err); }); } else { message.reply("That user isn't in this guild!"); } } else { message.reply("You didn't mention the user to kick!"); } } }); } else { console.log("You don't have the permission to kick users!") })
редактировать:
Я думаю, что это в этом правиле:
if (message.member.roles.has(allowedRole.id) {
С первой круглой скобкой это говорит о том, что она не заканчивается, но она есть...
редактировать:
client.on('message', message => { if (!message.guild) return; if (message.content.startsWith('!kick')) { const user = message.mentions.users.first(); if (user) { const member = message.guild.member(user); if (member) { member .kick('Optional reason that will display in the audit logs') .then(() => { message.reply(`Successfully kicked ${user.tag}`); }) .catch(err => { message.reply('I was unable to kick the member'); console.error(err); }); } else { message.reply("That user isn't in this guild!"); } } else { message.reply("You didn't mention the user to kick!"); } } });
Где-то здесь должно прийти это сообщение об ошибке с тем, что у вас нет разрешения, но я не знаю, где именно..
Спасибо,
Сэм
Что я уже пробовал:
Я попытался поискать в интернете, но решение, которое предоставляется, не работает для меня. Потому что я делаю что-то не так, но не могу понять, что именно!
Peter_in_2780
Для начала подсчитайте скобки (или используйте редактор, который им соответствует).
Внимательно посмотрите на линию, которая вызывает ошибку.
Sam Vorst
Я установил один из них в atom, который окрашивает скобки, и я думаю, что нахожу проблему в круглом кронштейне. Только я не знаю, как ее решить. Я отмечу проблему, которая является догадкой в исходном вопросе.