public static void AddBot(string email) { var futAccount = FUTAccountsDatabase.GetFUTAccountByEMail(email); if (futAccount != null && _futClients != null) { var futClient = new FUTClient(futAccount); _futClients.Add(futClient); } }
public static void Initialize() { _futClients = new List <FUTClient>(); var futAccounts = FUTAccountsDatabase.GetFUTAccounts(); foreach (var account in futAccounts) { var futClient = new FUTClient(account); _futClients.Add(futClient); } }
public MuleApiClient(FUTClient futClient, MuleApiPlayer mulePlayer) { MuleFUTClient = futClient; MulePlayer = mulePlayer; }
public async Task RunMuleApiClientAsync(FUTClient client, MuleApiPlayer muleApiPlayer) { client.AddLog($"Starting {muleApiPlayer.MuleApiType} MuleApi!"); //var running = client.LogicRunningReal; //var runningCounter = 0; //if (running) //{ // client.AddLog($"Stopping Logic for MuleApi {muleApiPlayer.MuleApiType} transaction!"); // BotManager.StopBot(client.FUTAccount.EMail); // while (client.LogicRunningReal) // { // await Task.Delay(1000); // if (runningCounter++ > 30) // { // client.AddLog($"Couldn't stop account!"); // client.StartLogic(); // return; // } // } //} var mule = new MuleApiClient(client, muleApiPlayer); var result = await mule.MuleLogicAsync(); if (result) { switch (muleApiPlayer.MuleApiType) { case MuleApiType.GameTradeEasy: FUTMuleApiStatistic.Instance.GTETotalCoinVolume += muleApiPlayer.MuleValue; FUTMuleApiStatistic.Instance.GTETotalDollarVolume += muleApiPlayer.Revenue; break; case MuleApiType.MuleFactory: FUTMuleApiStatistic.Instance.MFTotalCoinVolume += muleApiPlayer.MuleValue; FUTMuleApiStatistic.Instance.MFTotalDollarVolume += muleApiPlayer.Revenue; break; case MuleApiType.WholeSale: FUTMuleApiStatistic.Instance.WSTotalCoinVolume += muleApiPlayer.MuleValue; FUTMuleApiStatistic.Instance.WSTotalDollarVolume += muleApiPlayer.Revenue; break; } FUTMuleApiStatistic.Instance.SaveChanges(); client.CoinsMuledToday += muleApiPlayer.MuleValue; await muleApiPlayer.MuleApiClient.UpdatePlayerStatusAsync(muleApiPlayer.TransactionId, MuleApiStatus.Bought); FUTLogsDatabase.AddFUTNotification(client.FUTAccount.EMail, $"Muling API sold {muleApiPlayer.MuleValue} coins for {muleApiPlayer.Revenue}$ to {muleApiPlayer.MuleApiType}"); client.AddLog($"Muling API sold {muleApiPlayer.MuleValue} coins for {muleApiPlayer.Revenue}$ to {muleApiPlayer.MuleApiType}"); } else { await muleApiPlayer.MuleApiClient.UpdatePlayerStatusAsync(muleApiPlayer.TransactionId, MuleApiStatus.Cancel); client.AddLog($"Muling API failed! {muleApiPlayer.MuleValue} coins for {muleApiPlayer.Revenue}$ to {muleApiPlayer.MuleApiType}"); } client.Muling = false; client.MulingPausedUntil = DateTime.Now.AddMinutes(FUTSettings.Instance.MuleApiSellDelayPerAccount); //if (running) //{ // client.AddLog($"Restarting account!"); // client.StartLogic(); //} }