-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
examples: Add webhook example for Heroku (#271)
- Loading branch information
1 parent
535aa56
commit 3ed45fb
Showing
1 changed file
with
36 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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!'); | ||
}); |