diff --git a/src/telegram.js b/src/telegram.js index 4aae57d..301a587 100644 --- a/src/telegram.js +++ b/src/telegram.js @@ -295,4 +295,22 @@ TelegramBot.prototype.sendAudio = function (chatId, audio, options) { return this._request('sendAudio', opts); }; +/** + * Send chat action + * @param {Number|String} chatId Unique identifier for the message recipient + * @param {String} action Type of action to broadcast. `typing` for text messages, + * `upload_photo` for photos, `record_video` or `upload_video` for videos, + * `record_audio` or `upload_audio` for audio files, `upload_document` for general files, + * `find_location` for location data. + * @return {Promise} + * @see https://core.telegram.org/bots/api#sendchataction + */ +TelegramBot.prototype.sendChatAction = function (chatId, action) { + var query = { + chat_id: chatId, + action: action + }; + return this._request('sendChatAction', {qs: query}); +}; + module.exports = TelegramBot; diff --git a/test/index.js b/test/index.js index 202a80f..29946bb 100644 --- a/test/index.js +++ b/test/index.js @@ -179,6 +179,17 @@ describe('Telegram', function () { }); }); + describe('#sendChatAction', function () { + it('should send a chat action', function (done) { + var bot = new Telegram(TOKEN); + var action = "typing"; + bot.sendChatAction(USERID, action).then(function (resp) { + resp.should.be.exactly(true); + done(); + }); + }); + }); + describe('#sendAudio', function () { it('should send an OGG audio', function (done) { var bot = new Telegram(TOKEN); @@ -190,4 +201,5 @@ describe('Telegram', function () { }); }); + });