在Direct Message Discord js中等待来自用户的消息

时间:2017-12-08 21:43:48

标签: javascript discord.js

我试图让我的机器人在这种情况下等待直接消息某个名称并在这种情况下直接将消息写回给同一个用户。

我尝试使用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');
          });
      });
  }

3 个答案:

答案 0 :(得分:0)

Message类的属性为author,类型为User类(如文档here所示)和User class没有函数awaitResponse(...),这就是你看到错误的原因。请参阅用户类here的文档。

如果您要检查特定人员的回复,我建议您使用message.channel.awaitMessages并查看邮件“.author”。

答案 1 :(得分:0)

message.author来自User类,其中不包含awaitResponse()函数。使用message.member(返回GuildMember)代替message.author

答案 2 :(得分:0)

尝试message.author.dmChannel.awaitMessages

在文档中查看更多信息 https://discord.js.org/#/docs/main/stable/class/User?scrollTo=dmChannel