web-dev-qa-db-ja.com

Telegram Botの「pending_update_count」をクリアする

すべてクリアしたいpending_update_countボットに!

以下のコマンドの出力:

https://api.telegram.org/botxxxxxxxxxxxxxxxx/getWebhookInfo

明らかに私は実際のAPIトークンをxxxに置き換えました

これは :

{
 "ok":true,"result":
    {
     "url":"",
     "has_custom_certificate":false,
     "pending_update_count":5154
    }
}

ご覧のとおり、5154現在まで未読の更新があります!! (この保留中の更新がエラーであると確信しています!誰もこのボットを使用していないためです!これは単なるテストボットです)

ちなみにこれはpending_update_count数は非常に速く増加しています!この記事を書いている今、数が増えました51および5205に達しました!

この保留中の更新をクリアしたいだけです。このボットが無限ループに陥っていると確信しています!

それを取り除く方法はありますか?

PS:

WebhookのURLもクリアしました。しかし、何も変わっていません!

更新:

getWebhookInfoの出力はこれです:

{
   "ok":true,
   "result":{
      "url":"https://somewhere.com/telegram/webhook",
      "has_custom_certificate":false,
      "pending_update_count":23,
      "last_error_date":1482910173,
      "last_error_message":"Wrong response from the webhook: 500 Internal Server Error",
      "max_connections":40
   }
}

なぜWrong response from the webhook: 500 Internal Server Error

11
Hamed Kamrava

私はあなたが2つの選択肢を持っていると思います:

  1. 何もしないwebhookを設定し、テレグラムのサーバーに対して200 OKと言うだけです。電報はこのURLにすべての更新を送信し、キューはクリアされます。
  2. webhookを無効にし、getUpdatesメソッドを使用して更新を取得した後、Webhookを再度オンにします

更新:

あなたの側のwebhookに問題があります。電報のPOSTクエリをURLでエミュレートしようとすることができます。これは次のようなものです:

{"message_id":1,"from":{"id":1,"first_name":"FirstName","last_name":"LastName","username":"username"},"chat":{"id":1,"first_name":"FirstName","last_name":"LastName","username":"username","type":"private"},"date":1460957457,"text":"test message"}

このテキストは、たとえばPOSTクエリ本文としてPostManで送信できます。その後、バックエンドのデバッグを試みます。

6

フックメソッドの最後にreturn 1;を追加するだけです。

更新:

通常、これはデータベースでのクエリの遅延が原因で発生します。

2
Behnam Azimi

私はこのように解決しました

POST tg.api/bottoken/setWebhook to emtpy "url"
POST tg.api/bottoken/getUpdates
POST tg.api/bottoken/getUpdates with "offset" last update_id appeared before

これを数回行う

POST tg.api/bottoken/getWebhookInfo

すべて離れている場合に見ていた。

POST tg.api/bottoken/setWebhook with filled "url"
1
theode

ファイルのアクセス許可ファイルを変更して解決します-許可ファイルを755に設定

php.iniファイルのメモリ制限を2番目に増やす

0
mamal