我试图让我的机器人在这种情况下等待直接消息某个名称并在这种情况下直接将消息写回给同一个用户。
我尝试使用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 :(得分: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