Example #1
0
        static void Init()
        {
            if (!DataLog.configExists())
            {
                Console.Write("Config file does not exist. Creating new one...\n");

                Console.Write("Please enter a valid discord webhook URL ");
                string webhookURL = Console.ReadLine();
                Console.Write("Please enter a valid steam API key ");
                string apiKey = Console.ReadLine();


                ConfigData confData = new ConfigData();
                confData.APIKEY     = apiKey;
                confData.WEBHOOKURL = webhookURL;

                DataLog.writeConfig(confData);
            }
        }
Example #2
0
        static async Task MainAsync()
        {
            if (!DataLog.configExists())
            {
                Init();
                steamApiKey = DataLog.getConfigVar("apikey");
                webhookURL  = DataLog.getConfigVar("webhookurl");
            }
            else
            {
                steamApiKey = DataLog.getConfigVar("apikey");
                webhookURL  = DataLog.getConfigVar("webhookurl");
            }

            Console.Write("What do you want to do? ");
            String Action = Console.ReadLine();

            if (Action == "help")
            {
                Console.Write("Commands: \nhelp - print help text\nscanlink [workshopLink] - scans the individual file\nwhitelistaddon [workshopURL]\nscanworkshop - scans the entire workshop\nextractaddon [workshopLink] - extracts an addon\n");
                await MainAsync();
            }
            else if (Action.StartsWith("scanlink"))
            {
                string workshopURL = Action.Split(' ')[1];
                Int32  workshopID  = WorkshopDownload.ParseID(workshopURL);

                await ScanLink(workshopID);
                await MainAsync();
            }
            else if (Action.StartsWith("whitelistaddon"))
            {
                string        workshopURL = Action.Split(' ')[1];
                Int32         workshopID  = WorkshopDownload.ParseID(workshopURL);
                WorkshopAddon Addon       = await WorkshopHTTPAPI.GetAddonByIDAsync(workshopID, steamApiKey);

                whiteListAddon(Addon);
                await MainAsync();
            }
            else if (Action == "scanworkshop")
            {
                await ScanWorkshop();
            }
            else if (Action.StartsWith("extractaddon"))
            {
                string        workshopURL   = Action.Split(' ')[1];
                Int32         workshopID    = WorkshopDownload.ParseID(workshopURL);
                WorkshopAddon workshopAddon = await WorkshopHTTPAPI.GetAddonByIDAsync(workshopID, steamApiKey);

                Console.Write("Downloading Addon: {0}\n", workshopAddon.URL);
                GMADAddon parsedAddon;

                using (var wc = new WebClient())
                {
                    Byte[] data = await wc.DownloadDataTaskAsync(workshopAddon.URL);

                    parsedAddon = GMADParser.Parse(data);
                    data        = new Byte[0];
                }

                WorkshopDownload.Extract(parsedAddon);
                await MainAsync();
            }
        }