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 базу, но тут я думаю, что разберусь, т.к. уже работал с БД