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); } }
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(); } }