web-dev-qa-db-ja.com

テレグラムボットとメソッドgetUpdates

Telegramボットについて質問があります。数週間前にボットを作成しました。正常に動作しますが、getUpdatesメソッドに奇妙な動作があります。確かに私がリンクを使用する場合:

https://api.telegram.org/bot<token>/getUpdates

メッセージが表示されなくなりましたが、新しいボットを起動すると、他のボットを作成した最初の日と同じように、このリンクは正常に機能します。

このリンクが機能しなくなるまでに特定の時間間隔がありますか?再度有効にする方法はありますか?

前もって感謝します

7
davboc

から Telegram Bot API ドキュメント:

着信アップデートは、ボットがそれらを受信するまでサーバーに保存されます...しかしそれらは24時間より長く保持されません。

したがって、getUpdatesは機能を停止しませんでした。古いメッセージは、限られた時間の後に削除されました。

4
Nick Lee

ボットAPIに問題があり、不思議なことにクラッシュしました。非常にまれに、JSON文字列ではなくこのHTMLページを返すことが原因であることがわかりました。 getUpdatesの間隔はかなり3秒でしたが。少し前にアップデートにパッチを適用しました。

<html>
<head><title>502 Bad Gateway</title></head>
<body bgcolor="white">
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.10.1</center>
</body>
</html>

ボットトークンが役に立たなくなるのは、ターゲットボットのBotFatherで手動で/revokeされたときだけです。

それでも問題が解決しない場合。使いやすいgetUpdatesメソッドを使用するTelegramBotクラスを試すことができます。 AndroidおよびWindows10 Node.jsサーバーでボットを実行することに問題はありません。 https://github.com/NightfallAlicorn/telegrambot-nodejs-getupdates 注意してください100%完全ではありませんが、安定しており、インラインボット以外のすべての機能を備えています。

0
Nova

@BOtFatherおよび/ revokeコマンドを使用して、ボットの新しいトークンを取得します。

0
Mehdi jafari