我如何向 Telegram API“说”我成功收到了他们的 webhook 请求?

我正在调整我的 Telegram 机器人以接受 webhooks 请求,而不是不断进行轮询,因此我阅读了有关 setWebhook 方法的 Telegram API 文档

我正在使用 Python 的微框架 Flask 来创建接收请求的 Web 应用程序。

文档中的某个地方说“如果请求不成功,我们将在合理的尝试后放弃。”。这是什么意思?我是否必须在 @app.route 装饰器中返回特定的内容,以便 API 明白我得到了我想要的东西?我对网络应用程序了解不多,所以我不知道如何说“嘿,我收到了你发送的内容”。


肥皂起泡泡
浏览 119回答 3
3回答

烙印99

这意味着它是否无法发送更新(例如,如果您的 webhook 已关闭)。您不必返回任何内容,只需要您的 webhook 那时处于活动状态即可。

梵蒂冈之花

Webhook 方法允许 Telegram 将消息推送到您的后端。Webhook 通常应始终在线,但如果它关闭,则消息(在 Telegram 端)会排队一段时间。当您的 Flask 应用程序需要一些时间(例如启动)时,这非常有效。请注意,消息传递一次:如果 Webhook 失败(后端错误)并返回错误文本或 http 状态代码 (403),则消息将被使用并且不会重新发送。

扬帆大鱼

看起来 Telegram Bot Api 只需要 200 到 299 之间的 http 状态代码才能成功请求。if&nbsp;(200&nbsp;<=&nbsp;response->code_&nbsp;&&&nbsp;response->code_&nbsp;<=&nbsp;299)https://github.com/tdlib/telegram-bot-api/blob/5d88023dd1e65b7d0926a71aea4487d6cac3bf13/telegram-bot-api/WebhookActor.cpp#L619
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python