diff --git a/README.hbs b/README.hbs index f385066..3f99839 100644 --- a/README.hbs +++ b/README.hbs @@ -35,6 +35,7 @@ There are some other examples on [examples](https://github.com/yagop/node-telegr Every time TelegramBot receives a message, it emits a `message`. Depending on which [message](https://core.telegram.org/bots/api#message) was received, emits an event from this ones: `text`, `audio`, `document`, `photo`, `sticker`, `video`, `voice`, `contact`, `location`, `new_chat_participant`, `left_chat_participant`, `new_chat_title`, `new_chat_photo`, `delete_chat_photo`, `group_chat_created`. Its much better to listen a specific event rather than a `message` in order to stay safe from the content. TelegramBot emits `callback_query` when receives a [Callback Query](https://core.telegram.org/bots/api#callbackquery). TelegramBot emits `inline_query` when receives an [Inline Query](https://core.telegram.org/bots/api#inlinequery) and `chosen_inline_result` when receives a [ChosenInlineResult](https://core.telegram.org/bots/api#choseninlineresult). Bot must be enabled on [inline mode](https://core.telegram.org/bots/api#inline-mode) +TelegramBot emits `edited_message` when a message is edited, and also `edited_message_text` or `edited_message_caption` depending on which type of message was edited. * * * ### WebHooks diff --git a/README.md b/README.md index 748f373..06f7c7d 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ There are some other examples on [examples](https://github.com/yagop/node-telegr Every time TelegramBot receives a message, it emits a `message`. Depending on which [message](https://core.telegram.org/bots/api#message) was received, emits an event from this ones: `text`, `audio`, `document`, `photo`, `sticker`, `video`, `voice`, `contact`, `location`, `new_chat_participant`, `left_chat_participant`, `new_chat_title`, `new_chat_photo`, `delete_chat_photo`, `group_chat_created`. Its much better to listen a specific event rather than a `message` in order to stay safe from the content. TelegramBot emits `callback_query` when receives a [Callback Query](https://core.telegram.org/bots/api#callbackquery). TelegramBot emits `inline_query` when receives an [Inline Query](https://core.telegram.org/bots/api#inlinequery) and `chosen_inline_result` when receives a [ChosenInlineResult](https://core.telegram.org/bots/api#choseninlineresult). Bot must be enabled on [inline mode](https://core.telegram.org/bots/api#inline-mode) +TelegramBot emits `edited_message` when a message is edited, and also `edited_message_text` or `edited_message_caption` depending on which type of message was edited. * * * ### WebHooks diff --git a/src/telegram.js b/src/telegram.js index 4806a53..741c50e 100644 --- a/src/telegram.js +++ b/src/telegram.js @@ -82,6 +82,7 @@ class TelegramBot extends EventEmitter { processUpdate(update) { debug('Process Update %j', update); const message = update.message; + const editedMessage = update.edited_message; const inlineQuery = update.inline_query; const chosenInlineResult = update.chosen_inline_result; const callbackQuery = update.callback_query; @@ -120,6 +121,15 @@ class TelegramBot extends EventEmitter { } }); } + } else if (editedMessage) { + debug('Process Update edited_message %j', editedMessage); + this.emit('edited_message', editedMessage); + if (editedMessage.text) { + this.emit('edited_message_text', editedMessage); + } + if (editedMessage.caption) { + this.emit('edited_message_caption', editedMessage); + } } else if (inlineQuery) { debug('Process Update inline_query %j', inlineQuery); this.emit('inline_query', inlineQuery);