Discord.js Команда на добавление роли упомянутого человека
Хочу сделать команду с выдачей роли упомянутого пользователя, но не знаю как. Команда: !role @пользователь
Версия discord.js: [email protected]
if (array[0] == "!role") {
msg.channel.send("You have been given `Need to be tested` role! You will be tested shortly!")
const member = msg.mentions.members.first(array[1]);
var testRole = msg.guild.roles.cache.find(role => role.id == "835744852804501567")
msg.member.addRole(testRole);
}
Ответы (1 шт):
Автор решения: Cipher
→ Ссылка
В целом Вы двигались в правильном направлении. Подправил методы на получение роли и пользователя, и добавил выдачу самой роли.
if (array[0] == '!role') {
let member = msg.mentions.members.first() || msg.guild.members.cache.get(array[1])
let role = msg.guild.roles.cache.get('835744852804501567');
if (!member) {
return msg.reply('Пользователь не найден!');
}
if (!role) {
return msg.reply('Роль не найдена!');
}
member.roles
.add(role)
.then(() => {
msg.reply('done');
})
.catch((err) => {
msg.reply('failed');
});
}