すべてクリアしたい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
?
私はあなたが2つの選択肢を持っていると思います:
更新:
あなたの側の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で送信できます。その後、バックエンドのデバッグを試みます。
フックメソッドの最後にreturn 1;
を追加するだけです。
更新:
通常、これはデータベースでのクエリの遅延が原因で発生します。
私はこのように解決しました
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"
ファイルのアクセス許可ファイルを変更して解決します-許可ファイルを755に設定
php.iniファイルのメモリ制限を2番目に増やす