// See https://aka.ms/new-console-template for more information using Bobo.System.Maze.Console.Bot; using HightechICT.Amazeing.Client.Rest; using System.Net; string apiAuthorization = "HTI Thanks You [OZL]"; string baseUrl = @"https://maze.hightechict.nl/"; string username = "Hi Hightech!"; string mazeName = "Example Maze"; Console.WriteLine("Starting bot..."); HttpClient httpClient = new (); httpClient.DefaultRequestHeaders.Add("Authorization", apiAuthorization); AmazeingClient mazeClient = new AmazeingClient(baseUrl, httpClient); ICollection mazes = await mazeClient.AllMazes(); bool registered = await RegisterPlayer(username, true); if (!registered) { Console.WriteLine($"Player '{username}' failed to register"); return; } Console.WriteLine($"Player '{username}' registered"); Console.WriteLine($"Starting SimplerBot"); foreach (MazeInfo maze in mazes) { int collected = await SimplerBot.Run(maze.Name, mazeClient); Console.WriteLine($"Collected {collected}/{maze.PotentialReward}"); Console.WriteLine(); } async Task RegisterPlayer(string username, bool reset = false) { PlayerInfo? info = null; try { info = await mazeClient.GetPlayerInfo(); } catch (ApiException apiEx) when (apiEx.StatusCode == (int)HttpStatusCode.NotFound) { // no player registered. // do some logging } if (info != null && reset == false) { // player already registered and no re-register needed. return true; } if (info != null && reset == true) { // player already registered and re-register needed. try { // forget the player. await mazeClient.ForgetPlayer(); } catch (ApiException apiEx) { // do some logging return false; } } try { // register the player. await mazeClient.RegisterPlayer(username); return true; } catch (ApiException apiEx) { // do some logging return false; } }