Загрузка...

Нужна ваша помощь, с написанием чекера

Тема в разделе C# создана пользователем red_eagle_s 17 ноя 2023. 349 просмотров

Загрузка...
  1. red_eagle_s
    red_eagle_s Автор темы 17 ноя 2023 Заблокирован(а) 2 26 ноя 2022
    Всем доброго дня, пишу код чекера Tanks blitz по API нужна помощь с дописанием, не получается сделать интерфейс и функционал, что то не то с кодом, буду благодарен за помощь
     
  2. ChatGPT
    ChatGPT 17 ноя 2023 2254 14 мар 2023
    red_eagle_s Привет! Я готов помочь тебе с дописанием кода для чекера Tanks Blitz по API. Расскажи мне, что именно ты пытаешься сделать и какие проблемы возникли. Я постараюсь помочь тебе разобраться с кодом и добавить нужный функционал.
     
  3. red_eagle_s
    red_eagle_s Автор темы 17 ноя 2023 Заблокирован(а) 2 26 ноя 2022
    Пишите в тг @FERZb_bad денег у меня нет, я бомж, буду очень благодарен за помощь с написанием
     
  4. vtlstolyarov
    vtlstolyarov 18 ноя 2023 474 8 янв 2022
    Ну код бы показал, может кто бы и помог
     
  5. red_eagle_s
    red_eagle_s Автор темы 18 ноя 2023 Заблокирован(а) 2 26 ноя 2022
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Threading.Tasks;
    using WargamingApi.WorldOfTanksBlitz;
    using WargamingApi.WorldOfTanksBlitz.Services;

    class Program
    {
    static async Task Main()
    {
    var wargamingApiClient = new WargamingApiClient("https://api.wotblitz.eu/wotb/account/list/");
    var wotbClient = new WorldOfTanksBlitzClient(wargamingApiClient);
    var services = Service.Accounts | Service.PlayerVehicles;
    wotbClient.InitServices(services);

    var accounts = ReadAccountsFromFile("acc.txt");
    var proxies = ReadProxiesFromFile("proxy.txt");
    Console.WriteLine("Starting account authentication and resource check...");

    foreach (var account in accounts)
    {
    Console.WriteLine($"Processing account: {account.Email}");

    foreach (var proxyAddress in proxies)
    {
    Console.WriteLine($"Attempting authentication for account: {account.Email} with proxy: {proxyAddress}");

    var authResult = await AuthenticateAccount(account, wotbClient, proxyAddress);

    if (authResult.IsSuccess)
    {
    Console.WriteLine($"Authentication successful for account: {account.Email}");

    // Добавляем чекер
    await CheckAccountResources(authResult.Data, wotbClient, proxyAddress);
    }
    else
    {
    Console.WriteLine($"Authentication failed for account: {account.Email}, Error: {authResult.Error?.Message}");
    }
    }
    }

    Console.WriteLine("Account authentication and resource check completed.");
    }

    static async Task<Respond<Meta, AccountInfo>> AuthenticateAccount(AccountCredentials accountCredentials, WorldOfTanksBlitzClient wotbClient, string proxyAddress)
    {
    return await wotbClient.Services.GetRequiredService<Accounts>().GetAccountInfo(
    Regions.Eu,
    new List<long> { accountCredentials.AccountId },
    accessToken: accountCredentials.AccessToken,
    language: Language.En,
    proxyAddress: proxyAddress
    );
    }

    static async Task CheckAccountResources(AccountInfo account, WorldOfTanksBlitzClient wotbClient, string proxyAddress)
    {
    var resourcesResult = await YourResourceCheckMethod(account, wotbClient, proxyAddress);
    Console.WriteLine($"Resource Check Result for account {account.Email}: {resourcesResult}");
    File.WriteAllText($"resource_check_result_{account.Email}.txt", resourcesResult);
    }

    static async Task<string> YourResourceCheckMethod(AccountInfo account, WorldOfTanksBlitzClient wotbClient, string proxyAddress)
    {
    // Ваши действия по проверке ресурсов аккаунта
    // Например, можно использовать API Wargaming для получения информации о танках и достижениях игрока
    // Здесь должен быть ваш код проверки

    // Пример вызова метода для получения информации о танках на аккаунте
    var tankStats = await wotbClient.Services.GetRequiredService<PlayerVehicles>().GetTankStats(
    Regions.Eu,
    account.AccountId,
    language: Language.En,
    proxyAddress: proxyAddress
    );

    // Пример вызова метода для получения достижений игрока
    var achievements = await wotbClient.Services.GetRequiredService<Accounts>().GetPlayerAchievements(
    Regions.Eu,
    account.AccountId,
    language: Language.En,
    proxyAddress: proxyAddress
    );

    // Верните строку с результатом
    return $"Tank Stats: {tankStats}, Achievements: {achievements}";
    }

    static List<AccountCredentials> ReadAccountsFromFile(string filePath)
    {
    var accounts = new List<AccountCredentials>();

    try
    {
    var lines = File.ReadAllLines(filePath);
    foreach (var line in lines)
    {
    var credentials = line.Split(':');
    if (credentials.Length == 2)
    {
    accounts.Add(new AccountCredentials(credentials[0], credentials[1]));
    }
    }
    }
    catch (Exception ex)
    {
    Console.WriteLine($"Error reading accounts from file: {ex.Message}");
    }

    return accounts;
    }

    static List<string> ReadProxiesFromFile(string filePath)
    {
    var proxies = new List<string>();

    try
    {
    var lines = File.ReadAllLines(filePath);
    proxies.AddRange(lines);
    }
    catch (Exception ex)
    {
    Console.WriteLine($"Error reading proxies from file: {ex.Message}");
    }

    return proxies;
    }

    public struct AccountCredentials
    {
    public string Email { get; }
    public string Password { get; }

    public AccountCredentials(string email, string password)
    {
    Email = email;
    Password = password;
    }
    }
    }
     
    1. Посмотреть предыдущие комментарии (6)
    2. red_eagle_s Автор темы
      vtlstolyarov, так, вас понял, где мы можем с вами списаться?
    3. red_eagle_s Автор темы
  6. red_eagle_s
    red_eagle_s Автор темы 19 ноя 2023 Заблокирован(а) 2 26 ноя 2022
    Хорошо, можете ли вы дать совет по редактированию кода?
     
    1. Посмотреть предыдущие комментарии (6)
    2. red_eagle_s Автор темы
      vtlstolyarov, всё не работает, голову ломаю, не помогает, всё так же плохо
    3. vtlstolyarov
      red_eagle_s, Вот прям всё-всё не работает? :) нет, чел - так ты далеко не уйдёшь. Начни проверять по кускам - проверь что парвильно работает метод который читает акки из файла, потом проверь что правильно работает метод который читает ****** из файла, и т.д.
    4. red_eagle_s Автор темы
Top