diff --git a/src/telegram.js b/src/telegram.js index 7359306..2a0a49e 100644 --- a/src/telegram.js +++ b/src/telegram.js @@ -626,6 +626,28 @@ class TelegramBot extends EventEmitter { form.longitude = longitude; return this._request('sendLocation', { form }); } + + /** + * Send venue. + * Use this method to send information about a venue. + * + * @param {Number|String} chatId Unique identifier for the message recipient + * @param {Float} latitude Latitude of location + * @param {Float} longitude Longitude of location + * @param {String} title Name of the venue + * @param {String} address Address of the venue + * @param {Object} [options] Additional Telegram query options + * @return {Promise} + * @see https://core.telegram.org/bots/api#sendvenue + */ + sendVenue(chatId, latitude, longitude, title, address, form = {}) { + form.chat_id = chatId; + form.latitude = latitude; + form.longitude = longitude; + form.title = title; + form.address = address; + return this._request('sendVenue', { form }); + } /** * Get file. diff --git a/test/index.js b/test/index.js index f7ebb01..2b82a0a 100644 --- a/test/index.js +++ b/test/index.js @@ -450,6 +450,24 @@ describe('Telegram', function telegramSuite() { }); }); }); + + describe('#sendVenue', function sendVenueSuite() { + it('should send a venue', function test() { + const bot = new Telegram(TOKEN); + const lat = 47.5351072; + const long = -52.7508537; + const title = `The Village Shopping Centre`; + const address = `430 Topsail Rd,St. John's, NL A1E 4N1, Canada`; + return bot.sendVenue(USERID, lat, long, title, address).then(resp => { + assert.ok(is.object(resp)); + assert.ok(is.object(resp.location)); + assert.ok(is.number(resp.location.latitude)); + assert.ok(is.number(resp.location.longitude)); + assert.ok(is.string(resp.title)); + assert.ok(is.string(resp.address)); + }); + }); + }); describe('#getFile', function getFileSuite() { let fileId;