Avoid Listener leaks by setting a max answer threshold

This commit is contained in:
Mahdi Dibaiee
2015-07-15 21:11:33 +04:30
parent fbe8d501a7
commit 2dd3dd2e80
5 changed files with 29 additions and 2 deletions

View File

@ -1,5 +1,7 @@
import {EventEmitter} from 'events';
const ANSWER_THRESHOLD = 10;
/**
* Base class of all classes
*/
@ -43,7 +45,10 @@ export default class Base extends EventEmitter {
}
const chat = this.properties.chat_id;
let answers = 0;
bot.on('update', function listener(result) {
answers += result.length;
const update = result.find(({message}) => {
// if in a group, there will be a reply to this message
if (chat < 0) {
@ -62,6 +67,10 @@ export default class Base extends EventEmitter {
bot.removeListener('update', listener);
}
if (answers >= ANSWER_THRESHOLD) {
bot.removeListener('update', listener);
}
});
});
}