2
0
mirror of https://github.com/yagop/node-telegram-bot-api synced 2025-08-23 10:27:49 +00:00
node-telegram-bot-api/examples/expressWebhook.js
Mohammed Sohail 9c60068122 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
2017-02-15 08:17:55 +03:00

40 lines
1004 B
JavaScript

/**
* 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!');
});