2017-03-19 7 views
2

電文ボットを使用しているC#-consoleツールにメッセージのテキストを取得する方法に苦労しています。ここではその部分がちょうど電報チャンネルTelegram Bot APIで最新の更新を入手する方法

private async Task getTelegramMessage() 
{ 
    var bot = new Telegram.Bot.TelegramBotClient("token") 
    var updates = await bot.GetUpdatesAsync(); 
    foreach (var update in updates) 
    { 
    Console.WriteLine("Bot: " + update.Message.Text); 
    } 
} 

問題ですべてのメッセージを印刷するようになっているのは、私は常に、すべての古い更新情報を取得することです。配列更新の最大長は100です。電報チャンネルで100個のメッセージを送信した後は、最初の100個のメッセージにしかアクセスできず、最新のものにはアクセスできません。最新のアップデートにアクセスするにはどうすればよいですか?あるいは、私のツールがそれを処理した後で何らかの形でメッセージを削除することはできますか?

私はボットがイベントOnUpdateを提供しているのを見ましたが、使用方法を理解できませんでした。

ありがとうございました。

答えて

2

ああ、私はそれを理解しました。オフセットでは、更新で返されたIDを設定する必要があります。

注 2.重複した更新を避けるため、各サーバーの応答後にオフセットを再計算します。

+0

しかし、私はいつもすべてのメッセージを突き抜けなければならないので、すてきな解決策ではありません。そのため、最初に取得しなければならない10000件のメッセージが終わりに達します。それが最後の100の更新を返した場合にはより良いでしょう – Sukayo

関連する問題