static void Main() { Client = new TelegramBotClient("1050115445:AAFMHnHtznwJNdwZtQ_J0kKF6iqZ8K9EnX4"); XMLmanager.ReadFile(users); Client.OnMessage += Command_Handler; Client.OnCallbackQuery += Keyboard_Handler; Client.StartReceiving(); bool truth = true; while (truth) { string str = Console.ReadLine(); string[] com = str.Split(" "); switch (com[0]) { case "send": Client.SendTextMessageAsync(com[1], com[2]); break; case "exit": truth = false; break; } } Client.StopReceiving(); }
static void Main() { Client = new TelegramBotClient("1050115445:AAFMHnHtznwJNdwZtQ_J0kKF6iqZ8K9EnX4"); XMLmanager.ReadFile(users); Client.OnMessage += FirstCommand; Client.OnCallbackQuery += Keyboard_Handler; Client.StartReceiving(); Console.ReadKey(true); Client.StopReceiving(); }
public static void Add(this List <User> list, User user) { foreach (User item in list) { if (item.ChatID == user.ChatID) { return; } } list.Add(user); XMLmanager.AddToFile(user); Console.WriteLine($"User add {user.ChatID}"); }
static void Command_Handler(object Sender, MessageEventArgs e) { User currentUser = users.Find(user => user.ChatID == e.Message.Chat.Id); try { #region Commands switch (e.Message.Text) { case "/start": ExtensionList.Add(users, new User(e.Message.Chat.Id)); Client.SendTextMessageAsync(e.Message.Chat.Id, "Для виклику лекцій використовуйте команду /study. Уважно прочитайте її вміст і приступайте до тестів, в випадку успішного проходження (мінімум 60% вірних відповідей) Ви отримуєте доступ до наступної лекції. Вдалого навчання 😉"); break; case "/study": if (currentUser.Level < 10) { Client.SendTextMessageAsync(currentUser.ChatID, Lectures[currentUser.Level], replyMarkup: inlineKeyboardOK); currentUser.Manager.SetXFile("Tests\\Test" + currentUser.Level + ".xml"); currentUser.Manager.ReadTest(); } else { Client.SendTextMessageAsync(e.Message.Chat.Id, "Ви вже закінчили навчання ✅ \nЩоб пройти курс заново, оберіть команду /reset."); } break; case "/showlectures": string @string = ""; for (int i = 0; i <= currentUser.Level; i++) { if (i < 10) { @string += $"{i + 1}. " + Lectures[i] + "\n"; } } Client.SendTextMessageAsync(currentUser.ChatID, @string); break; case "/reset": currentUser.Level = 0; Client.SendTextMessageAsync(currentUser.ChatID, "Повернення до початкового рівня ⏪"); XMLmanager.UpdateLevel(currentUser); break; case "/donate": Client.SendTextMessageAsync(currentUser.ChatID, "Ви можете оцінити наш проект або почати стежити за ним за наступним посиланням 😉", replyMarkup: urlButton); break; case "1": case "2": case "3": case "4": currentUser.Manager.Examination.TakeAnswer(Client, currentUser, replyKeyboard, Convert.ToInt32(e.Message.Text)); break; default: Client.SendTextMessageAsync(currentUser.ChatID, "Невідома команда!"); break; } #endregion } catch (NullReferenceException nullEx) { ExtensionList.Add(users, new User(e.Message.Chat.Id)); Client.SendTextMessageAsync(e.Message.Chat.Id, "Для виклику лекцій використовуйте команду /study. Уважно прочитайте її вміст і приступайте до тестів, в випадку успішного проходження (мінімум 60% вірних відповідей) Ви отримуєте доступ до наступної лекції. Вдалого навчання 😉"); Console.WriteLine(nullEx.Message); } catch (Exception ex) { Console.WriteLine(ex.Message); } }