Проблема с написанием телеграм бота. Мне необходимо сделать бота в виде теста по изучению языка программирования C#, но с толкнулся с проблемой, что с помощью условного оператора или switch не получается построить цепочку вопросов. Запускается нужный раздел, но после нажатия кнопки "Дальше" следующие сообщение не идет. Вот моя программа
private static async void OnMessageHandler(object sender, MessageEventArgs e) {
var msg = e.Message;
if (msg.Text == "/start")
{
await client.SendTextMessageAsync(msg.Chat.Id, "Здравствуйте, вас привествует телеграм бот по изучению языка программирования C Sharp. Выбирите необходимый блок для изучения:" + "\nБазовые концепции /basic_concepts" + "\nУсловные операторы и циклы /conditional_operators" + "\nМетоды /methods" + "\nКлассы и объекты /classes_and_objects" + "\nМассивы и строки /arrays_and_strings" + "\nНаследование /inheritance" + "\nФайлы /files"); }
switch (msg.Text) {
case "/basic_concepts": //Базовые концепции
await client.SendTextMessageAsync(msg.Chat.Id, "C# это элегантный объектно-ориентированный язык программирования.", replyMarkup: GetButtons2()); switch (msg.Text)
{ case "Дальше": //Базовые концепции
await client.SendTextMessageAsync(msg.Chat.Id, ".NET Фреймворк состоит из Общеязыковой Исполняющей Среды (Common Language Runtime (CLR)) и библиотеки классов .NET Framework. CLR является основой.NET Framework. Она управляет кодом во время выполнения программы, предоставляя основные сервисы, такие как управление памятью и многие другие аспекты вашего кода. Библиотека классов является набором классов, интерфейсов и типов значений, которые позволяют вам решать набор общих задач программирования, таких как сбор данных, доступ к файлам и работа с текстом.Программы на языке C# используют библиотеку классов .NET Framework для выполнения общих заданий и предоставления различных функциональностей.", replyMarkup: GetButtons2()); break;
}
break; case "/conditional_operators": // условные операторы и циклы
await client.SendTextMessageAsync(msg.Chat.Id, "C# приложения запускаются? Выбирите вариант ответа", replyMarkup: GetButtons2());
break;
case "/methods": // методы break;
case "/classes_and_objects": // классы и объекты
break;
case "/arrays_and_strings": // массивы и строки break;
case " /inheritance": // наследование
break;
case "/files": //файлы break;
} }
private static IReplyMarkup GetButtons2()
{
return new ReplyKeyboardMarkup
{
Keyboard = new List<List<KeyboardButton>>
{
new List<KeyboardButton>{new KeyboardButton { Text = "Дальше"} }
}
};
}