(узел: 47028) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'emoji' из неопределенного - PullRequest
0 голосов
/ 19 апреля 2020

Почему это дает мне эту ошибку? Как я могу определить эмодзи? Он должен просто проверить, была ли реакция с этим смайликом.

.then(function (message, reaction) {
                message.react("?")
                message.react("?")

                const filter = (reaction, user) => {
                    return ['?', 'B'].includes(reaction.emoji.name) && user.id === message.author.id;
                };

                message.awaitReactions(filter, { max: 1 })
                    .then(collected => {
                        if (reaction.emoji.name === '?') {
                            message.channel.send('Ok, so you want to buy a server. Let me recommend you to visit <#699374469977735208>.');
                        }
                        else {
                            message.channel.send('Ok, so you need more informations first. Let me recommend you to visit <#699374469977735208>.');
                        }    
                    })
            });

1 Ответ

0 голосов
/ 20 апреля 2020

reaction не возвращается тем методом, который вы вызываете непосредственно перед кодом, который вы показали. Удалить параметр из функции обратного вызова. Затем, чтобы получить доступ к примененной реакции, вам нужно прочитать ее из Collection , возвращенного Message#awaitReactions(). Например ...

.then(collected => {
  const reaction = collected.first();
  // now you can check the reaction with the code you were using
})
...