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# именно.