2016-08-22 77 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

相關問題