コード例 #1
0
ファイル: UI.cs プロジェクト: rwobig93/ArbitraryBot
        private static void ShowMenuAddWatcher()
        {
            bool menuClose = false;

            while (!menuClose)
            {
                Prompts.PromptMenuAction("Add a Watcher");
                var  friendlyName    = Prompts.PromptQuestion("Enter a name for this tracker");
                var  pageURL         = Prompts.PromptQuestion("Enter the page URL to monitor");
                var  keyWord         = Prompts.PromptQuestion("Enter the keyword you want to look for (case sensitive)");
                bool alertOnNotExist = Prompts.PromptYesNo($"Do you want the alert to trigger when this keyword doesn't exist?{Environment.NewLine} (if no then alert triggers when the keyword does exist)");
                var  newTracker      = new TrackedProduct()
                {
                    FriendlyName           = friendlyName,
                    PageURL                = pageURL,
                    Keyword                = keyWord,
                    AlertOnKeywordNotExist = alertOnNotExist
                };
                Prompts.PromptWatcherAlertType(newTracker);
                newTracker.Save();
                Log.Information("Created new tracker! {Tracker}", newTracker);
                Console.Write($"Successfully created tracker! {Environment.NewLine}URL: {newTracker.PageURL}");
                menuClose = true;
                StopForMessage();
                Console.Clear();
            }
            Log.Information("Exited Menu AddWatcher");
        }
コード例 #2
0
ファイル: UI.cs プロジェクト: rwobig93/ArbitraryBot
        private static void ShowWatcherProperties(TrackedProduct selectedTracker)
        {
            Console.Clear();
            var menu = Prompts.PromptMenuAction("Watcher Properties", displayMenu: false);

            menu += "FriendlyName".ConvertToMenuProperty(selectedTracker.FriendlyName);
            menu += "PageURL".ConvertToMenuProperty(selectedTracker.PageURL);
            menu += "Keyword".ConvertToMenuProperty(selectedTracker.Keyword);
            menu += "AlertNoKeyword".ConvertToMenuProperty(selectedTracker.AlertOnKeywordNotExist.ToString());
            menu += "Enabled".ConvertToMenuProperty(selectedTracker.Enabled.ToString());
            menu += "AlertInterval".ConvertToMenuProperty(selectedTracker.AlertInterval.ToString());
            menu += "AlertType".ConvertToMenuProperty(selectedTracker.AlertType.ToString());
            if (selectedTracker.AlertType == AlertType.Email)
            {
                menu += "Emails".ConvertToMenuProperty(selectedTracker.Emails.ToString());
            }
            else if (selectedTracker.AlertType == AlertType.Webhook)
            {
                menu += "WebHookURL".ConvertToMenuProperty(selectedTracker.WebHookURL);
                menu += "MentionString".ConvertToMenuProperty(selectedTracker.MentionString);
            }
            menu = menu.AddSeperatorTilde();
            Console.Write(menu);
            StopForMessage();
        }
コード例 #3
0
ファイル: UI.cs プロジェクト: rwobig93/ArbitraryBot
        private static void ShowMenuTestKeywordOnWebpage()
        {
            bool menuClose = false;

            while (!menuClose)
            {
                Prompts.PromptMenuAction("Test Keyword On Webpage");
                var      webpage  = Prompts.PromptQuestion("Enter the webpage URL");
                var      keyword  = Prompts.PromptQuestion("Enter the keyword");
                WebCheck webCheck = null;

                try
                {
                    webCheck = Communication.WebCheckForKeyword(webpage, keyword).WaitAndUnwrapException();
                    Console.WriteLine("The webpage that was returned was empty/blank");
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error from webpage: {ex.Message}");
                }

                if (webCheck != null)
                {
                    if (webCheck.KeywordExists)
                    {
                        Console.WriteLine("The keyword was found!");
                    }
                    else
                    {
                        Console.WriteLine($"Webpage Response StatusCode: {webCheck.ResponseCode}");
                        Console.WriteLine("The keyword wasn't found on the webpage :(");
                    }
                }
                var tryAgain = Prompts.PromptYesNo("Would you like to do another test?");
                if (!tryAgain)
                {
                    menuClose = true;
                }
                Console.Clear();
            }
            Log.Information("Exited Menu TestKeywordOnWebpage");
        }
コード例 #4
0
        internal static int PromptMenuTrackers(string menuTitle, int currentPage, out List <List <TrackedProduct> > trackerList, string description = "")
        {
            Console.Clear();
            Log.Debug("Displaying MenuTrackers: {MenuTitle}", menuTitle);
            var menuClose = false;
            int intAnswer = 0;

            trackerList = new List <List <TrackedProduct> >();
            while (!menuClose)
            {
                var menu = Prompts.PromptMenuAction(menuTitle, description, false);
                menu += "Back to Main Menu".ConvertToMenuOption(1);

                menu = Handler.GetTrackersForMenu(menu, currentPage, out trackerList);
                if (trackerList[0].Count <= 0)
                {
                    Console.WriteLine($"There currently aren't any trackers created!{Environment.NewLine}" +
                                      $"Please create one before attempting to test, press enter to continue");
                    Console.ReadLine();
                    return(-1);
                }
                menu  = menu.AddSeperatorTilde();
                menu += $"{Environment.NewLine}Current Page: {currentPage}{Environment.NewLine}Option: ";
                Console.Write(menu);
                var answer = Console.ReadLine();
                Log.Debug("Menu prompt answered: {Answer}", answer);
                if (!int.TryParse(answer, out intAnswer))
                {
                    Log.Debug("Menu answer entered was an invalid response");
                    Console.WriteLine("Answer wasn't invalid, please press enter and try again");
                    Console.ReadLine();
                }
                else
                {
                    menuClose = true;
                }
            }
            Log.Debug("Valid menu option was entered: {Answer}", intAnswer);
            return(intAnswer);
        }