Exemplo n.º 1
0
        static void Keyboard_Handler(object sender, CallbackQueryEventArgs e)
        {
            User currentUser = users.Find(user => user.ChatID == e.CallbackQuery.Message.Chat.Id);

            try
            {
                if (e.CallbackQuery.Data == "OK")
                {
                    Client.AnswerCallbackQueryAsync(e.CallbackQuery.Id);
                    currentUser.Manager.Examination.ShowTest(Client, currentUser.ChatID, replyKeyboard);
                }
                else if (e.CallbackQuery.Data == "URL")
                {
                    Client.AnswerCallbackQueryAsync(e.CallbackQuery.Id);
                }
            }
            catch (NullReferenceException nullEx)
            {
                ExtensionList.Add(users, new User(e.CallbackQuery.Message.Chat.Id));
                Client.SendTextMessageAsync(e.CallbackQuery.Message.Chat.Id, "Для виклику лекцій використовуйте команду /study. Уважно прочитайте її вміст і приступайте до тестів, в випадку успішного проходження (мінімум 60% вірних відповідей) Ви отримуєте доступ до наступної лекції. Вдалого навчання 😉");
                Console.WriteLine(nullEx.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Exemplo n.º 2
0
        static void FirstCommand(object Sender, MessageEventArgs e)
        {
            User currentUser = users.Find(user => user.ChatID == e.Message.Chat.Id);

            if (e.Message.Text == "/start")
            {
                Client.SendTextMessageAsync(currentUser.ChatID, "Для виклику лекцій використовуйте команду /study. Уважно прочитайте її вміст і приступайте до тестів, в випадку успішного проходження (мінімум 4 тести з 5) Ви отримуєте доступ до наступної лекції.");
                ExtensionList.Add(users, new User(e.Message.Chat.Id));
            }
            else if (e.Message.Text == "/study")
            {
                Client.SendTextMessageAsync(currentUser.ChatID, Lectures[currentUser.Level], replyMarkup: inlineKeyboardOK);
                currentUser.Manager.SetXFile("Tests\\Test" + currentUser.Level + ".xml");
                currentUser.Manager.ReadTest();
            }
            else if (e.Message.Text == "/showlectures")
            {
                string @string = "";
                for (int i = 0; i <= currentUser.Level; i++)
                {
                    @string += $"{i + 1}. " + Lectures[i] + "\n";
                }
                Client.SendTextMessageAsync(currentUser.ChatID, @string);
            }
            else if (e.Message.Text == "/debuglevel")
            {
                currentUser.Level = 0;
                Client.SendTextMessageAsync(currentUser.ChatID, "Повернення до початкового рівня.");
            }
            else if (e.Message.Text == "/donate")
            {
                Client.SendTextMessageAsync(currentUser.ChatID, "Ви можете оцінити наш проект або почати стежити за ним за наступним посиланням.", replyMarkup: urlButton);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }