2
0
mirror of https://github.com/yagop/node-telegram-bot-api synced 2025-08-31 06:16:07 +00:00

examples: Express webhook (#287)

Feature:

  A webhook integration with an express app.

References:

  * Feature request: https://github.com/yagop/node-telegram-bot-api/issues/282
  * PR: https://github.com/yagop/node-telegram-bot-api/pull/287
  * Requested-by: @kamikazechaser 
  * PR-by: @kamikazechaser
This commit is contained in:
Mohammed Sohail
2017-02-15 08:17:55 +03:00
committed by Gocho Mugo
parent a44eb7f1ee
commit 9c60068122

View File

@@ -0,0 +1,39 @@
/**
* This example demonstrates setting up a webook, and receiving
* updates in your express app
*/
const TOKEN = process.env.TELEGRAM_TOKEN || 'YOUR_TELEGRAM_BOT_TOKEN';
const url = 'https://<PUBLIC-URL>';
const port = process.env.PORT;
const TelegramBot = require('..');
const express = require('express');
const bodyParser = require('body-parser');
// No need to pass any parameters as we will handle the updates with Express
const bot = new TelegramBot(TOKEN);
// This informs the Telegram servers of the new webhook.
bot.setWebHook(`${url}/bot${TOKEN}`);
const app = express();
// parse the updates to JSON
app.use(bodyParser.json());
// We are receiving updates at the route below!
app.post(`/bot${TOKEN}`, (req, res) => {
bot.processUpdate(req.body);
res.sendStatus(200);
});
// Start Express Server
app.listen(port, () => {
console.log(`Express server is listening on ${port}`);
});
// Just to ping!
bot.on('message', msg => {
bot.sendMessage(msg.chat.id, 'I am alive!');
});