Cценарии диалога Telegram Bot

Всех приветствую!

Чтобы получить CallBack в telegram bot можно использовать такой способ:

 var inlineKeyboard = new InlineKeyboardMarkup(new[]
            {
                // first row
                new []
                {
                    InlineKeyboardButton.WithCallbackData("1.1", "11"),
                    InlineKeyboardButton.WithCallbackData("1.2", "12"),
                },
                // second row
                new []
                {
                    InlineKeyboardButton.WithCallbackData("2.1", "21"),
                    InlineKeyboardButton.WithCallbackData("2.2", "22"),
                }
            });

            await botClient.SendTextMessageAsync(update.Message.Chat.Id, "Нажмите на кнопку:", replyMarkup: inlineKeyboard);

А потом получать CallBack так:

await botClient.SendTextMessageAsync(
    callbackQuery.Message.Chat.Id,
    $"Received {callbackQuery.Data}"
);

Но, перерыл все и никак не могу понять, как я могу сделать перехват CallBack с сообщений, а не inline кнопок.

Идея в создании стандартного меню с ReplyKeyboardMarkup и в определенный момент от пользователя потребуется реализовать сценарий: ввести 1 string из английских букв(либо отменить действие при помощи кнопки) затем к нему поступит инструкция, что нужно ввести уже другое, затем ввести еще 1 сообщение decimal(опять же с возможностью вернуться к началу в главное меню).

Но, я не понимаю, как реализовать ожидание ввода пользователем определенной строки, чтобы задать после ее ввода следующий вопрос. Предполагаю, что это делается по аналогии с inline кнопками, только сообщения пользователя кидают CallBack, а я должен его ловить, но никаких примеров в документации и интернете не нашел на C# именно.


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