6

2 日間以来、私は Telegram ボット API を調査してきました。これは非常に優れています。しかし、私が理解できないことが1つあります。

webHook を使用せずに呼び出しを使用する場合、パラメーターを介して、サーバーによって処理されたメッセージを/getUpdatesAPI に伝えることができます。offset

しかし、webHook を使用してこれを行うにはどうすればよいでしょうか。更新と同じメッセージが表示され続けます。その結果、サーバーはユーザーに同じメッセージをスパム送信します。

私が思いついた解決策は次のとおりです。

  1. Webhook から更新を受け取る
  2. を助けてupdate_id
  3. ユーザーに返信する/sendMessage
  4. WebHook を無効にする/setWebhook?url=
  5. オフセットを設定する/getUpdates?offset={update_id+1}
  6. webHook を元に戻す/setWebhook?url=https://mywebhook.domain.com

もっと良い方法があるはずですよね?誰?

4

4 に答える 4

5

これでアップデートを正常に取得することを電報に伝える必要があります。

 - 200 response code
 &
 - empty json like this {}
于 2015-09-07T13:07:41.010 に答える
2

これを webHook で使用して、電報サーバーからデータを取得します。

// get the raw POST data
$rawData = file_get_contents("php://input");

// this returns null if not valid json
$jsonData = json_decode($rawData);
于 2015-06-28T17:47:05.770 に答える
1

Webhook を処理するページで返される HTTP ステータス コードは何ですか? ステータス 200 (OK) を受信して​​いないため、Telegram が Webhook エンドポイントを再試行しようとしている可能性があります。

于 2015-06-28T10:30:00.837 に答える