Telegram webhook 有什么用?

What's the use of Telegram webhooks?

我正在使用 Telegraf 库与 Node.js 中的 Telegram API 一起工作,并设置了一个 webhook。好的,现在发送给机器人的每个请求都会转到路由。现在我可以使用 MVC 结构处理请求、注册用户等。好吧,那又怎样?我可以像这样使用 Telegraf 中间件做同样的事情。

bot.use(async (ctx, next) => {
  // do anything you need here
  await next()
})

我错过了什么?老实说,我不明白。

正如官方所说documentation

Setting a webhook means you supplying Telegram with a location in the form of a URL, on which your bot listens for updates. We need to be able to connect and post updates to that URL.

它们的区别:

  • Long-polling: 机器人总是向 Telegram API 询问更新(因此得名)。
  • Webhook: Telegram 会在机器人更新时向您设置的端点发送 POST 请求。