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:
committed by
Gocho Mugo
parent
a44eb7f1ee
commit
9c60068122
39
examples/expressWebhook.js
Normal file
39
examples/expressWebhook.js
Normal 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!');
|
||||
});
|
Reference in New Issue
Block a user