Итак, я делаю бот Discord для своего сервера, и он пока работает довольно хорошо, за исключением одной проблемы, которая кажется очень маленькой, но я не могу найти решение, несмотря на чтение документации.
По сути, я посылаю embed с реакциями, и он отлично работает, но если кто-то не реагирует в течение определенного времени, бот создает другую реакцию Emoji, и вот в чем проблема. Я хочу, чтобы он собрал самого первого человека, который реагирует на новые смайлики вместо автора сообщения. Вот эта часть кода:
.catch(collected => {
message.channel.sendMessage("You run out of time, maybe someone else wants it?");
const filter = (reaction, user) => {
return ['?'].includes(reaction.emoji.name) && user.id === message.author.id;
};
embedMessage.react('?');
embedMessage.awaitReactions(filter, {
max: 1,
time: 45000,
errors: ['time']
}).then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '?'){
message.channel.sendMessage("Yay.");
}
});
});
Так что мне интересно, относится ли это к этой части:
return ['?'].includes(reaction.emoji.name) && user.id === message.author.id;
Я попытался заменить message.author.id на response.users , но это не похоже на работу.