discord.js - MessageCollector 不会结束

discord.js - MessageCollector won't end

收集器不会结束,即使时间设置为 1。

const filter = msg => msg.author.id === message.author.id;

const collector = new MessageCollector(message.channel, filter, {
    max: 3,
    time: 5000,
})

collector.on('collect', collector => {
    console.log(`${collector.content}`)
})

collector.on('end', collected => {
    console.log(`${collected.size}`)
})

构造函数接受参数 (channel, options) 而不是 (channel, filter, options)filter 应该是 options 对象的一部分。参见 docs

现在您正在传递 filter 函数 而不是 options 对象,然后是 应该 是一个 options 对象,但实际上只是一个被忽略的多余第三个参数。

这是正确的方法:

const collector = new MessageCollector(message.channel, {
    filter,
    max: 3,
    time: 5000
})