如何获取 Telegram Bot API 的最新更新

Suk*_*ayo 3 c# telegram

我正在努力研究如何使用电报机器人将消息文本发送到我的 C# 控制台工具。这是应该只打印电报频道中的所有消息的一部分

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是我总是收到所有旧的更新。数组更新的最大长度为 100。因此,当我在电报频道中发送 100 条消息后,我只能访问前 100 条消息,而无法访问最新的消息。我如何才能访问最新的更新?或者我可以在我的工具处理完该消息后以某种方式删除该消息吗?

我已经看到机器人提供了事件 OnUpdate,但我不知道如何使用它。

非常感谢您在这个问题上的帮助。

小智 5

根据文档,您可以使用 offset -1 来获取最后的更新。请记住,所有以前的更新都会被忘记。

获取更新文档

https://api.telegram.org/bot{TOKEN}/getUpdates?offset=-1
Run Code Online (Sandbox Code Playgroud)