【问题标题】:How to to get 'reason' in collector.on('end', ...)如何在collector.on('end',...)中获取'原因'
【发布时间】:2019-03-13 01:54:04
【问题描述】:
collector.on('collect', message => {
    if (message.content === 'bla bla bla') {
        message.channel.send(`bla bla bla`);
        collector.stop();
    }
})

collector.on('end', data => {
    if (!data.first()) {
        console.log('TimeOut');
    }
})

我想在它到达collector.on('end' ) 事件之前做一些检查。我想检查事件是否由于超时或.stop() 而结束。我该怎么做?

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    根据文档,您可以在 collector.stop() 中传递一个可选参数,作为原因。 collector.on('end', ...) 也包括此可选参数。因此,只需在 .stop() 方法中传递一个字符串,您就可以完成您需要的操作。

    下面是一些示例代码,试试看,告诉我结果如何。

    collector.on('collect', message => {
      if (message.content === 'bla bla bla') {
        message.channel.send('bla bla bla');
        collector.stop('Collector stopped manually');
      }
    });
    
    collector.on('end', (collected, reason) => {
      if (reason && reason === 'Collector stopped manually') {
        console.log('Collector has been stopped manually');
      } else {
        console.log('Collector has NOT been stopped manually');
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 1970-01-01
      • 2022-06-27
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多