C# Telegram BOT API. Как сохранить ответы пользователя и продолжить с ним "диалог"?

Столкнулся с необходимостью написания telegram - бота и застрял на моменте сохранения информации введенной пользователем.

Суть бота в том, что у пользователя должно быть 3 кнопки : внести информацию состоящую из 5 пунктов, обновить эту информацию и просто вывести на экран информацию по ключевому ID.

Я инициализировал бота и сделал OnMessageHandler

    botClient = new TelegramBotClient("мой апи ключ");
    botClient.StartReceiving();
    botClient.OnMessage += OnMessageHandler;
    Console.ReadLine();
    botClient.StopReceiving();

Сделал Handler асинхронным и он реагирует на любое сообщение в диалоге:

private static async void OnMessageHandler(object sender, MessageEventArgs e)
{
    var msg = e.Message;
    if (msg.Text != null)
    {
      await botClient.SendTextMessageAsync(msg.Chat.Id,"Что нужно сделать?", replyMarkup: GetButtons());          
    }
}

Как сделать так? Что бы при выборе одного из вариантов предложенных в replyMarkup: GetButtons()) бот не продолжал возвращаться к началу диалога, а, например, в первом случае сначала запросил ID обьекта, потом его размер, потом его вес и в итоге сохранил это в локальные переменные для дальнейшей обработки? Для наглядности, как это должно выглядеть:

 Бот: Что нужно сделать?
 - Зарегистрировать нового пользователя
  Бот: Введите Имя
 - Василий
  Бот: Введите возраст
 - 25
  Бот: Введите вес
 - 77
  Бот: Вы ввели: Василий, 25, 77
 

В дальнейшем эту информацию нужно будет вносить в SQL базу, но тут я думаю, что разберусь, т.к. уже работал с БД


Ответы (0 шт):