捕获对awaitMessages操作做出响应的用户

时间:2020-04-25 22:50:28

标签: node.js discord.js

在我的Discord机器人中,我有一个扰码单词的命令,并且在聊天中做出响应的第一个用户会得到奖励。我已经发出命令以等待消息响应,但是如何保存响应者?到目前为止,这是我的代码

authorID = msg.author.id;
const filter = response => {
    return response.author.id === authorID;
}

msg.channel.awaitMessages(filter, {
        max: 1,
        time: 5000
    })
    .then(mg2 => {
        if (mg2.first().content === "1") {

            msg.channel.send("you said 1");
        }
    });

1 个答案:

答案 0 :(得分:0)

使用过滤器,您只允许原始msg作者进入,应该进行过滤,以便它检测msg.content是否等于未拼字的单词。另外,您还没有errors: ["time"]

const filter = m => m.content === unscrabledWord;

msg.channel.awaitMessages(filter, { max: 1, time: 5000, errors: ["time"] })
    .then(collected => {
        const winner = collected.first().author;
        msg.channel.send(`${winner} Won!`)
    })
    .catch(() => msg.channel.send("Nobody guessed it"));