diff --git a/BlumAutoBot/BumAutoBot/App.config b/BlumAutoBot/BumAutoBot/App.config
index 3916e0e..489d582 100644
--- a/BlumAutoBot/BumAutoBot/App.config
+++ b/BlumAutoBot/BumAutoBot/App.config
@@ -1,6 +1,14 @@
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BlumAutoBot/BumAutoBot/BumBot.csproj b/BlumAutoBot/BumAutoBot/BumBot.csproj
index 637b086..7a85224 100644
--- a/BlumAutoBot/BumAutoBot/BumBot.csproj
+++ b/BlumAutoBot/BumAutoBot/BumBot.csproj
@@ -42,6 +42,9 @@
..\packages\Costura.Fody.5.7.0\lib\netstandard1.0\Costura.dll
+
+ packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
True
@@ -56,6 +59,9 @@
True
True
+
+ packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
@@ -112,6 +118,9 @@
True
True
+
+ packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll
True
@@ -123,6 +132,9 @@
True
+
+ packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll
True
@@ -133,6 +145,9 @@
True
True
+
+ packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
True
@@ -168,11 +183,23 @@
True
True
+
+ packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll
+
+
+ packages\System.Text.Json.8.0.4\lib\net462\System.Text.Json.dll
+
..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
True
True
+
+ packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+ packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll
+
diff --git a/BlumAutoBot/BumBot.sln b/BlumAutoBot/BumAutoBot/BumBot.sln
similarity index 83%
rename from BlumAutoBot/BumBot.sln
rename to BlumAutoBot/BumAutoBot/BumBot.sln
index 2c293c4..5d76a65 100644
--- a/BlumAutoBot/BumBot.sln
+++ b/BlumAutoBot/BumAutoBot/BumBot.sln
@@ -1,9 +1,9 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.8.34511.84
+VisualStudioVersion = 17.8.34322.80
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BumBot", "BumBot\BumBot.csproj", "{56A3F714-D214-4E82-87A7-F919C426E5AE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BumBot", "BumBot.csproj", "{56A3F714-D214-4E82-87A7-F919C426E5AE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -20,6 +20,6 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {9ABD3E4E-5E68-4B12-A8AF-89C802B217D0}
+ SolutionGuid = {246E96D2-E395-4888-A93E-0D1AC2767E38}
EndGlobalSection
EndGlobal
diff --git a/BlumAutoBot/BumAutoBot/Helper.cs b/BlumAutoBot/BumAutoBot/Helper.cs
index 67ed691..1c658a0 100644
--- a/BlumAutoBot/BumAutoBot/Helper.cs
+++ b/BlumAutoBot/BumAutoBot/Helper.cs
@@ -1,4 +1,8 @@
using System;
+using System.Net.Http;
+using System.Threading.Tasks;
+using System.Text;
+using System.Net;
namespace BlumBot
{
@@ -36,11 +40,16 @@ private int platform()
Console.WriteLine("2 - Android");
Console.WriteLine("3 - Windows PC");
Console.WriteLine("4 - MacOS");
+ Console.Write("Ваш выбор: ");
int choice = Int32.Parse(Console.ReadLine());
if (choice >= 1 && choice <= 4)
return choice;
else
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Вы ввели не правильное значение!");
+ Console.ResetColor();
+ }
}
}
@@ -53,11 +62,19 @@ private int version_iphone()
Console.WriteLine("2 - IOS 16");
Console.WriteLine("3 - IOS 17");
Console.WriteLine("4 - IOS 18");
+ Console.WriteLine("0 - Назад");
+ Console.Write("Ваш выбор: ");
int choice = Int32.Parse(Console.ReadLine());
+ if (choice == 0)
+ choice_platform();
if (choice >= 1 && choice <= 4)
return choice;
else
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Вы ввели не правильное значение!");
+ Console.ResetColor();
+ }
}
}
@@ -70,11 +87,19 @@ private int version_android()
Console.WriteLine("2 - Android 13 (Tiramisu)");
Console.WriteLine("3 - Android 14 (Upside Down Cake)");
Console.WriteLine("4 - Android 15 (Vanilla Ice Cream)");
+ Console.WriteLine("0 - Назад");
+ Console.Write("Ваш выбор: ");
int choice = Int32.Parse(Console.ReadLine());
+ if (choice == 0)
+ choice_platform();
if (choice >= 1 && choice <= 4)
return choice;
else
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Вы ввели не правильное значение!");
+ Console.ResetColor();
+ }
}
}
@@ -86,11 +111,19 @@ private int version_windows()
Console.WriteLine("1 - Windows 7");
Console.WriteLine("2 - Windows 10");
Console.WriteLine("3 - Windows 11");
+ Console.WriteLine("0 - Назад");
+ Console.Write("Ваш выбор: ");
int choice = Int32.Parse(Console.ReadLine());
+ if (choice == 0)
+ choice_platform();
if (choice >= 1 && choice <= 3)
return choice;
else
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Вы ввели не правильное значение!");
+ Console.ResetColor();
+ }
}
}
@@ -104,11 +137,19 @@ private int version_macos()
Console.WriteLine("3 - MacOS 12.7.5 (Monterey)");
Console.WriteLine("4 - MacOS 11.7.10 (Big Sur)");
Console.WriteLine("5 - MacOS 10.15.7 (Catalina)");
+ Console.WriteLine("0 - Назад");
+ Console.Write("Ваш выбор: ");
int choice = Int32.Parse(Console.ReadLine());
+ if (choice == 0)
+ choice_platform();
if (choice >= 1 && choice <= 5)
return choice;
else
+ {
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Вы ввели не правильное значение!");
+ Console.ResetColor();
+ }
}
}
@@ -121,7 +162,9 @@ public int replay()
if (repetitions < 1 || repetitions > 100)
{
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Недопустимое количество повторений.");
+ Console.ResetColor();
}
else if (repetitions > 5)
{
@@ -160,7 +203,9 @@ public int scores()
}
else if (!int.TryParse(pointsInput, out points) || points < 200 || points > 280)
{
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Неверное значение баллов. Пожалуйста, введите число от 200 до 280.");
+ Console.ResetColor();
continue;
}
else
@@ -181,7 +226,9 @@ public string GetAuthorizationToken()
if (string.IsNullOrEmpty(token))
{
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Токен не может быть пустым. Пожалуйста, введите действительный токен авторизации.");
+ Console.ResetColor();
continue;
}
diff --git a/BlumAutoBot/BumAutoBot/Program.cs b/BlumAutoBot/BumAutoBot/Program.cs
index c9223ad..7adf12f 100644
--- a/BlumAutoBot/BumAutoBot/Program.cs
+++ b/BlumAutoBot/BumAutoBot/Program.cs
@@ -18,6 +18,9 @@ static async Task Main(string[] args)
try
{
int choice = help.choice_platform();
+
+ await requests.GetBalanceAsync(authorizationToken, choice);
+
int repetitions = help.replay();
int points = help.scores();
@@ -32,12 +35,20 @@ static async Task Main(string[] args)
for (int i = 0; i < results.Length; i++)
{
- Console.WriteLine($"Результат итерации {i + 1}:\n{results[i]}\n");
+ if (results[i] == "успех.")
+ Console.ForegroundColor = ConsoleColor.Green;
+ else
+ Console.ForegroundColor = ConsoleColor.Red;
+
+ Console.WriteLine($"Результат итерации {i + 1}: {results[i]}\n");
+ Console.ResetColor();
}
}
catch (Exception ex)
{
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"Ошибка: {ex.Message}");
+ Console.ResetColor();
}
Console.WriteLine("Еще разок? (yes/no): ");
diff --git a/BlumAutoBot/BumAutoBot/Properties/AssemblyInfo.cs b/BlumAutoBot/BumAutoBot/Properties/AssemblyInfo.cs
index 71774df..a8cce71 100644
--- a/BlumAutoBot/BumAutoBot/Properties/AssemblyInfo.cs
+++ b/BlumAutoBot/BumAutoBot/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// Можно задать все значения или принять номера сборки и редакции по умолчанию
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.1.0.0")]
-[assembly: AssemblyFileVersion("1.1.0.0")]
+[assembly: AssemblyVersion("1.2.0.0")]
+[assembly: AssemblyFileVersion("1.2.0.0")]
diff --git a/BlumAutoBot/BumAutoBot/Requests.cs b/BlumAutoBot/BumAutoBot/Requests.cs
index ec55e41..64bb569 100644
--- a/BlumAutoBot/BumAutoBot/Requests.cs
+++ b/BlumAutoBot/BumAutoBot/Requests.cs
@@ -4,6 +4,9 @@
using System.Threading.Tasks;
using System;
using System.Collections.Generic;
+using System.Threading;
+using System.Text.Json;
+using System.Globalization;
namespace BlumBot
{
@@ -151,6 +154,7 @@ public async Task MakeRequestsAsync(string authorizationToken, int point
if (!response.IsSuccessStatusCode)
{
+ Console.ForegroundColor = ConsoleColor.Red;
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
Console.WriteLine("Срок действия токенов истек. Пожалуйста, введите действительный токен авторизации.");
@@ -160,18 +164,35 @@ public async Task MakeRequestsAsync(string authorizationToken, int point
string errorMessage = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Ошибка: {errorMessage}");
}
- return $"Итерация {iteration} не удалась.";
+ Console.ResetColor();
+ return $"провал.";
+
}
string responseContent = await response.Content.ReadAsStringAsync();
- Console.WriteLine($"Ответ от /game/play (итерация {iteration}):");
- Console.WriteLine(responseContent);
+ Console.ForegroundColor = ConsoleColor.Green;
+ Console.WriteLine($"Ответ от /game/play (итерация {iteration}): " + responseContent);
+ Console.ResetColor();
var json = JObject.Parse(responseContent);
string gameId = json["gameId"].ToString();
- Console.WriteLine($"Итерация {iteration}: Ждите 32 секунды...");
- await Task.Delay(32000);
+ Console.WriteLine($"Итерация {iteration}: ");
+
+ int totalDuration = 32000, progressBarLength = 50;
+ int updateInterval = totalDuration / progressBarLength;
+
+ Console.CursorVisible = false;
+ for (int i = 0; i <= progressBarLength; i++)
+ {
+ Console.Write("\r[");
+ Console.Write(new string('#', i));
+ Console.Write(new string(' ', progressBarLength - i));
+ Console.Write($"] {i * 2}%");
+ Thread.Sleep(updateInterval);
+ }
+ Console.CursorVisible = true;
+ Console.WriteLine();
client.DefaultRequestHeaders.Clear();
client = choiceplatform(authorizationToken, choice);
@@ -190,14 +211,70 @@ public async Task MakeRequestsAsync(string authorizationToken, int point
if (!response.IsSuccessStatusCode)
{
string errorMessage = await response.Content.ReadAsStringAsync();
+ Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"Ошибка от /game/claim (Итерация {iteration}): {errorMessage}");
- return $"Итерация {iteration} не удалась.";
+ Console.ResetColor();
+ return $"провал.";
}
- Console.WriteLine($"Ответ от /game/claim (Итерация {iteration}):");
- Console.WriteLine(responseContent);
+ Console.ForegroundColor = ConsoleColor.Green;
+ Console.WriteLine($"Ответ от /game/claim (Итерация {iteration}): " + responseContent);
+ Console.ResetColor();
+
+ return $"успех.";
+ }
+
+ public async Task GetBalanceAsync(string authorizationToken, int choice)
+ {
+ Uri uri = new Uri("https://game-domain.blum.codes/api/v1/user/balance");
+ HttpClient client = choiceplatform(authorizationToken, choice);
+ HttpResponseMessage response = await client.GetAsync(uri);
+
+ if (!response.IsSuccessStatusCode)
+ {
+ Console.WriteLine("Не удалось восстановить баланс.");
+ return;
+ }
+
+ string responseContent = await response.Content.ReadAsStringAsync();
+
+ JObject json;
+ try
+ {
+ json = JObject.Parse(responseContent);
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Не удалось разобрать JSON: " + ex.Message);
+ return;
+ }
+
+ if (json["availableBalance"] == null || json["playPasses"] == null)
+ {
+ Console.WriteLine("JSON не содержит ожидаемых свойств.");
+ return;
+ }
+
+ double availableBalance;
+ int playPasses;
+
+ try
+ {
+ availableBalance = double.Parse(json["availableBalance"].ToString(), CultureInfo.InvariantCulture);
+ playPasses = json["playPasses"].Value();
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Не удалось преобразовать свойства JSON в правильные типы: " + ex.Message);
+ return;
+ }
- return $"Итерация {iteration} завершена успешно.";
+ Console.ForegroundColor = ConsoleColor.DarkBlue;
+ Console.WriteLine($"┌────────────────────────────┐");
+ Console.WriteLine($"| Blum Points: {availableBalance,-10:F2} |");
+ Console.WriteLine($"| Tickets: {playPasses,-14} |");
+ Console.WriteLine($"└────────────────────────────┘");
+ Console.ResetColor();
}
}
}
\ No newline at end of file
diff --git a/BlumAutoBot/BumAutoBot/packages.config b/BlumAutoBot/BumAutoBot/packages.config
index 153ebde..b207105 100644
--- a/BlumAutoBot/BumAutoBot/packages.config
+++ b/BlumAutoBot/BumAutoBot/packages.config
@@ -2,11 +2,13 @@
+
+
@@ -23,15 +25,18 @@
+
+
+
@@ -43,10 +48,14 @@
+
+
+
+
\ No newline at end of file