@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);
  }


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

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

Войти через центр авторизации
Похожие вопросы