From cda9d8d59747268ffadcd3c85ca7013abc0f8b85 Mon Sep 17 00:00:00 2001 From: GochoMugo Date: Fri, 26 May 2017 16:29:02 +0300 Subject: [PATCH] src/telegram: Add deleteMessage method References: * API deleteMessage method: https://core.telegram.org/bots/api#deleteMessage * PR: https://github.com/yagop/node-telegram-bot-api/pull/324 * PR-by: @JonasFowl * API v3: https://github.com/yagop/node-telegram-bot-api/issues/332 --- doc/api.md | 15 +++++++++++++++ src/telegram.js | 14 ++++++++++++++ test/telegram.js | 15 +++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/doc/api.md b/doc/api.md index 698ba9a..44807ff 100644 --- a/doc/api.md +++ b/doc/api.md @@ -61,6 +61,7 @@ TelegramBot * [.sendGame(chatId, gameShortName, [options])](#TelegramBot+sendGame) ⇒ Promise * [.setGameScore(userId, score, [options])](#TelegramBot+setGameScore) ⇒ Promise * [.getGameHighScores(userId, [options])](#TelegramBot+getGameHighScores) ⇒ Promise + * [.deleteMessage(chatId, messageId, [options])](#TelegramBot+deleteMessage) ⇒ Promise @@ -760,6 +761,20 @@ Use this method to get data for high score table. | userId | String | Unique identifier of the target user | | [options] | Object | Additional Telegram query options | + + +### telegramBot.deleteMessage(chatId, messageId, [options]) ⇒ Promise +Use this method to delete a message. + +**Kind**: instance method of [TelegramBot](#TelegramBot) +**See**: https://core.telegram.org/bots/api#deletemessage + +| Param | Type | Description | +| --- | --- | --- | +| chatId | String | Unique identifier of the target chat | +| messageId | String | Unique identifier of the target message | +| [options] | Object | Additional Telegram query options | + * * * diff --git a/src/telegram.js b/src/telegram.js index 98ffcfa..8460f38 100644 --- a/src/telegram.js +++ b/src/telegram.js @@ -1192,6 +1192,20 @@ class TelegramBot extends EventEmitter { form.user_id = userId; return this._request('getGameHighScores', { form }); } + + /** + * Use this method to delete a message. + * @param {String} chatId Unique identifier of the target chat + * @param {String} messageId Unique identifier of the target message + * @param {Object} [options] Additional Telegram query options + * @return {Promise} + * @see https://core.telegram.org/bots/api#deletemessage + */ + deleteMessage(chatId, messageId, form = {}) { + form.chat_id = chatId; + form.message_id = messageId; + return this._request('deleteMessage', { form }); + } } module.exports = TelegramBot; diff --git a/test/telegram.js b/test/telegram.js index ff07929..92e0451 100644 --- a/test/telegram.js +++ b/test/telegram.js @@ -875,6 +875,21 @@ describe('TelegramBot', function telegramSuite() { }); }); + describe('#deleteMessage', function deleteMessageSuite() { + let messageId; + before(function before() { + utils.handleRatelimit(bot, 'deleteMessage', this); + return bot.sendMessage(USERID, 'To be deleted').then(resp => { + messageId = resp.message_id; + }); + }); + it('should delete message', function test() { + return bot.deleteMessage(USERID, messageId).then(resp => { + assert.equal(resp, true); + }); + }); + }); + describe('#getUserProfilePhotos', function getUserProfilePhotosSuite() { const opts = { offset: 0,