Интеграция веб-перехватчика Telegram в приложение express - PullRequest
0 голосов
/ 12 июля 2020

Итак, на API Telegraf у них есть этот пример.

const Telegraf = require('telegraf')
const express = require('express')

const bot = new Telegraf(process.env.BOT_TOKEN)

bot.on('text', ({ replyWithHTML }) => replyWithHTML('<b>Hello</b>'))

bot.telegram.setWebhook('https://----.localtunnel.me/secret-path')

const app = express()
app.get('/', (req, res) => res.send('Hello World!'))

app.use(bot.webhookCallback('/secret-path'))
app.listen(3000, () => {
  console.log('Example app listening on port 3000!')
})

И он явно работает нормально, потому что я вижу, что получаю запросы на публикацию по маршруту / secret-path.

Но я не понимаю, как мне работать с этими запросами. Насколько я понимаю, как это работает, так это то, что app.use (bot.webhookCallback ('/ secret-path')) создает этот маршрут в моем приложении express.

В любом случае , вопрос в том, как мне работать с запросами, которые приходят на этот маршрут, например, если я хочу console.log request.body и так далее.

1 Ответ

0 голосов
/ 12 июля 2020

Решение видимо в этой функции. Если используется body-parser. json ().

app.post(`/secret-path`, (req, res) => {
    console.log(req.body)
    return bot.handleUpdate(req.body, res)
})

Поправьте меня, если я ошибаюсь.

...