我正在努力研究如何使用电报机器人将消息文本发送到我的 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)