Ожидать сообщение от пользователя в Direct Message Discord js

1

Я пытаюсь заставить своего бота ждать прямого сообщения в этом случае с каким-то именем и записать его одному и тому же пользователю в прямом сообщении в этом случае.

Я пытаюсь использовать message.author.awaitMessages но возвращает консоль:

TypeError: message.author.awaitResponse не является функцией

message.author.send('Write your Name')
      .then(function(){
        message.channel.awaitMessages(response => message.content, {
          max: 1,
          time: 300000000,
          errors: ['time'],
        })
        .then((collected) => {
            message.author.send('Your Name is: ${collected.first().content}');
          })
          .catch(function(){
            message.channel.send('You didnt write your name');
          });
      });
  }
  • 0
    При вызове message.author.send вы можете подтвердить, что message определенно является переменной, а не msg ? Discord.js hello world использует client.on('message', msg) => { . В вашем случае я думаю, что вам нужно изменить msg здесь на message
Теги:
discord.js

1 ответ

0

Класс Message имеет author свойств, который относится к типу User (как показано в документах здесь), а класс User не имеет функции awaitResponse(...), поэтому вы видите эту ошибку. См. Документацию по классу пользователя здесь.

Я бы рекомендовал использовать message.channel.awaitMessages и проверить свойство .author сообщений, если вы проверяете ответы от конкретного человека.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню