Skip to content

Commit

Permalink
examples: Add webhook example for Heroku (#271)
Browse files Browse the repository at this point in the history
  • Loading branch information
diastremskii authored and GochoMugo committed Jan 29, 2017
1 parent 535aa56 commit 3ed45fb
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions examples/herokuWebHook.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* This example demonstrates setting up webhook
* on the Heroku platform.
*/


const TOKEN = process.env.TELEGRAM_TOKEN || 'YOUR_TELEGRAM_BOT_TOKEN';
const TelegramBot = require('..');

const options = {
webHook: {
//Port which you should bind to is assigned to $PORT variable
//See: https://devcenter.heroku.com/articles/dynos#local-environment-variables
port: process.env.PORT
// you do NOT need to set up certificates since Heroku provides
// the SSL certs already (https://<app-name>.herokuapp.com)
// Also no need to pass IP because on Heroku you need to bind to 0.0.0.0
}
};
// Heroku routes from port :443 to $PORT
// Add URL of your app to env variable or enable Dyno Metadata
// to get this automatically
// See: https://devcenter.heroku.com/articles/dyno-metadata
const url = process.env.APP_URL || 'https://<app-name>.herokuapp.com:443';
const bot = new TelegramBot(TOKEN, options);


// This informs the Telegram servers of the new webhook.
// Note: we do not need to pass in the cert, as it already provided
bot.setWebHook(`${url}/bot${TOKEN}`);


// Just to ping!
bot.on('message', function onMessage(msg) {
bot.sendMessage(msg.chat.id, 'Running on Heroku!');
});

0 comments on commit 3ed45fb

Please sign in to comment.