Telegram将重复的POST JSON请求发送到webhook

时间:2016-06-28 11:17:53

标签: php json api ssl telegram

我正在尝试为电报开发城市机器人,但遇到问题。 在向bot发送消息后,Telegram向webhook URL发送2个重复请求。 Webhook脚本工作两次,并向用户发送两次响应。 脚本 - 来自官方电报文档的hellobot.php。 使用自签名SSL托管的服务器vps,上传了用于电报的证书密钥。

来自服务器日志。

  

149.154.167.209 - - [28 / Jun / 2016:13:48:00 +0300]" POST /apps/gate.php HTTP / 1.0" 200 86" - " " -   149.154.167.209 - - [28 / Jun / 2016:13:48:00 +0300]" POST /apps/gate.php HTTP / 1.1" 200 86" - " " -   149.154.167.209 - - [28 / Jun / 2016:13:48:00 +0300]" POST /apps/gate.php HTTP / 1.0" 200 86" - " " -   149.154.167.209 - - [28 / Jun / 2016:13:48:00 +0300]" POST /apps/gate.php HTTP / 1.1" 200 86" - " " -

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你能发贴一些代码吗?

如果您要求getupdates并在每个result时向用户发送回复;它可能会发送重复,因为你没有设置右偏移量

  

偏移(描述):   要返回的第一个更新的标识符。必须比先前收到的更新的标识符中的最大值大1。默认情况下,返回从最早的未确认更新开始的更新。一旦调用getUpdates并且偏移量高于其update_id,就会认为更新已得到确认。 ...

#getupdates_offset

答案 1 :(得分:0)

当Telegram收到来自机器人用户的消息时,请以JSON格式将消息发送到您的webhook URL。

如果

  1. 在您的回复页面中发生错误
  2. 或花很长时间才能完成回复,
  3. 然后Telegram再次将消息发送到您的服务器。