Делаю возможность выдачи ролей по реакции на embed сообщение. Всё было бы отлично, но awaitReaction просто не отлавливает реакцию на embed. Несколько раз проверял документацию по этому поводу и всё равно ничего не работает, может кто подсказать в чём именно может быть проблема?
if (args == 'role') {
const roleEmbed = {
color: '#e82c9d',
fields: [{
name: 'Запрос роли сотрудника',
value: 'Нажмите реакцию',
},
{
name: '\u200B',
value: '\u200B'
},
{
name: 'role one',
value: ':one:',
},
{
name: 'role two',
value: ':two:',
},
{
name: 'role three',
value: ':three:',
},
],
};
let rol = await message.channel.send({embeds: [roleEmbed]});
await rol.react('1️⃣');
await rol.react('2️⃣');
await rol.react('3️⃣');
const filter = (reaction, user) => {
return ['1️⃣', '2️⃣', '3️⃣'].includes(reaction.emoji.name) && user.id === interaction.user.id;
}
rol.awaitReactions(filter, {
max: 1,
time: 10000,
errors: ['time']
}).then(collected => {
const reaction = collected.first();
switch (reaction.emoji.name) {
case '1️⃣':
// somecode
break;
case '2️⃣':
// somecode
break;
case '3️⃣':
// somecode
break;
}
}).catch(collected => {
console.log('test');
});
setTimeout(() => {
message.delete();
}, 3000);
}
Заранее спасибо Вам за помощь.