Пример #1
0
        public static void AddBot(string email)
        {
            var futAccount = FUTAccountsDatabase.GetFUTAccountByEMail(email);

            if (futAccount != null && _futClients != null)
            {
                var futClient = new FUTClient(futAccount);
                _futClients.Add(futClient);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public MuleApiClient(FUTClient futClient, MuleApiPlayer mulePlayer)
 {
     MuleFUTClient = futClient;
     MulePlayer    = mulePlayer;
 }
Пример #4
0
        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();
            //}
        }