Je veux effacer tout pending_update_count
dans mon bot!
La sortie de la commande ci-dessous:
https://api.telegram.org/botxxxxxxxxxxxxxxxx/getWebhookInfo
J'ai évidemment remplacé le jeton API réel par xxx
est-ce :
{
"ok":true,"result":
{
"url":"",
"has_custom_certificate":false,
"pending_update_count":5154
}
}
Comme vous pouvez le constater, j’ai eu 5154
mises à jour non lues jusqu’à présent !! (Je suis à peu près sûr que ces mises à jour en attente sont des erreurs! Parce que personne n'utilise ce Bot! C'est juste un Bot de test)
Au fait, ce nombre pending_update_count
augmente si rapidement! Maintenant que j'écris ce billet, le nombre a augmenté de 51
et a atteint 5205!
Je veux juste effacer ces mises à jour en attente. Je suis à peu près sûr que ce Bot est coincé dans une boucle infinie!
Y a-t-il moyen de s'en débarrasser?
P.S:
J'ai également effacé l'URL webhook. Mais rien n'a changé!
METTRE À JOUR:
La sortie de getWebhookInfo
est la suivante:
{
"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
}
}
Pourquoi je reçois Wrong response from the webhook: 500 Internal Server Error
?
Je pense que vous avez deux options:
Mettre à jour:
Problème avec webhook de votre côté. Vous pouvez essayer d'émuler la requête POST du télégramme sur votre URL. Cela peut être quelque chose comme ceci:
{"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"}
Vous pouvez envoyer ce texte sous forme de corps de requête POST avec PostMan, par exemple, puis d'essayer de déboguer votre backend.
Ajoutez simplement return 1;
à la fin de votre méthode de hook.
Mettre à jour:
Généralement, cela se produit à cause de requêtes retardées avec la base de données.
J'ai résolu est comme ça
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
faire cela plusieurs fois
POST tg.api/bottoken/getWebhookInfo
j'ai regardé si tout est parti.
POST tg.api/bottoken/setWebhook with filled "url"