/** * 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 to which you should bind 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://.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://.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, 'I am alive on Heroku!'); });