Задать вопрос
@HenLeiko

Почему слушатель не отлавливает реакции?

Делаю возможность выдачи ролей по реакции на 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);
  }


Заранее спасибо Вам за помощь.
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽