2016-08-22 79 views
0

博特库不和谐,这种情况下removeListener的适当用法是什么?

bot.on('messageCreate', msg => { 
    // do some stuff 
    bot.removeListener('messageCreate', msg); 
}); 

我得到经常的错误是listener must be a function。 messageCreate在接收到消息时触发,msg是对消息类的引用,其中包含消息ID,作者等。

我试图得到的是bot等待特定回复用户,如Yes或

回答

3

号如果bot是节点的EventEmitter,您可以使用once方法,而不是on所以监听器被调用一次后,它会自动删除监听器。

bot.once('messageCreate', msg => { 
    // do some stuff 
    // you don't need to remove the listener by yourself! 
}); 

要笔直地回答你的问题,中removeListener第二个参数必须是你传递给on监听功能。

var listener = msg => { 
    // do some stuff 
    bot.removeListener('messageCreate', listener); 
}; 
bot.on('messageCreate', listener); 
+0

啊,我明白了。这比我期待的要简单得多。按预期工作! – TehPirate

相关问题