Skip to content

Commit

Permalink
fix event emitter leak warning
Browse files Browse the repository at this point in the history
  • Loading branch information
RB-Lab committed Nov 29, 2021
1 parent e68c987 commit 224b1e1
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions src/telegramServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -217,29 +217,37 @@ export class TelegramServer extends EventEmitter {
}
}

/**
* @FIXME
* (node:103570) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11
* EditedMessageText listeners added to [TelegramServer]. Use emitter.setMaxListeners() to
* increase limit (Use `node --trace-warnings ...` to show where the warning was created)
*/
async waitBotEdits() {
return new Promise<void>((resolve) => {
this.on('EditedMessageText', () => resolve());
const handler = () => {
this.off('EditedMessageText', handler);
resolve();
};
this.on('EditedMessageText', handler);
});
}

async waitBotMessage() {
return new Promise<void>((resolve) => {
this.on('AddedBotMessage', () => resolve());
const handler = () => {
this.off('AddedBotMessage', handler);
resolve();
};
this.on('AddedBotMessage', handler);
});
}

async waitUserMessage() {
return new Promise<void>((resolve) => {
this.on('AddedUserMessage', () => resolve());
this.on('AddedUserCommand', () => resolve());
this.on('AddedUserCallbackQuery', () => resolve());
const messageHandler = () => {
this.off('AddedUserMessage', messageHandler);
this.off('AddedUserCommand', messageHandler);
this.off('AddedUserCallbackQuery', messageHandler);
resolve();
};
this.on('AddedUserMessage', messageHandler);
this.on('AddedUserCommand', messageHandler);
this.on('AddedUserCallbackQuery', messageHandler);
});
}

Expand Down

0 comments on commit 224b1e1

Please sign in to comment.