You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
node-telegram-bot-api/examples/expressWebhook.js

40 lines
1.0 KiB

/**
* This example demonstrates setting up a webook, and receiving
* updates in your express app
*/
/* eslint-disable no-console */
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!');
});