Как сделать проверку на возможность изменить роль?
Пишу своего Discord бота.
В одном из действий бот должен выдавать/забирать роль. Я это реализовывал с помощью:
guildMember.roles.remove(take.Id);
и
guildMember.roles.add(take.Id);
Однако, если роль находится выше максимальной роли бота, то при попытки выдать эту роль, в консоли появляется ошибка:
UnhandledPromiseRejectionWarning: DiscordAPIError: Missing Permissions
Как можно сделать проверку на возможность выдачи этой роли? Если бот не может выдать роль (нет прав) - return.
Ответы (2 шт):
Автор решения: nörbörnën
→ Ссылка
Попробуйте вот так:
try {
await guildMember.roles.add(take.Id);
} catch(err) {
return;
}
Автор решения: Александр Рулетов
→ Ссылка
Смог найти такое решение:
guildMember.roles.add(pos.Id)
.catch(() => {
return;
});