Exemple #1
0
        async Task GetBalance()
        {
            if (sessionCookie != "" && sessionCookie != null && (DateTime.Now - Lastbalance).TotalSeconds > 60)
            {
                Lastbalance = DateTime.Now;
                List <KeyValuePair <string, string> > pairs = new List <KeyValuePair <string, string> >();
                pairs.Add(new KeyValuePair <string, string>("a", "GetBalance"));
                pairs.Add(new KeyValuePair <string, string>("s", sessionCookie));
                pairs.Add(new KeyValuePair <string, string>("Currency", Currency));
                pairs.Add(new KeyValuePair <string, string>("Stats", "1"));
                FormUrlEncodedContent Content = new FormUrlEncodedContent(pairs);
                string responseData           = "";
                using (var response = await Client.PostAsync("", Content))
                {
                    try
                    {
                        responseData = await response.Content.ReadAsStringAsync();
                    }
                    catch (AggregateException e)
                    {
                        if (e.InnerException.Message.Contains("ssl"))
                        {
                            await GetBalance();

                            return;
                        }
                    }
                }
                try
                {
                    d999Login tmplogin = json.JsonDeserialize <d999Login>(responseData);
                    balance = (decimal)tmplogin.Balance / 100000000.0m;
                    wagered = Wagered = -(decimal)tmplogin.TotalPayIn / 100000000.0m;
                    profit  = tmplogin.TotalProfit / 100000000.0m;;
                    bets    = (int)tmplogin.TotalBets;
                    wins    = (int)tmplogin.TotalWins;
                    losses  = (int)tmplogin.TotalLoseCount;
                    if (balance != 0)
                    {
                        MessagingCenter.Send <DiceSite, decimal>(this, "updateBalance", balance);
                        MessagingCenter.Send <DiceSite, long>(this, "updateBets", bets);
                        MessagingCenter.Send <DiceSite, decimal>(this, "updateWagered", wagered);
                        MessagingCenter.Send <DiceSite, decimal>(this, "updateProfit", profit);
                        MessagingCenter.Send <DiceSite, long>(this, "updateWins", wins);
                        MessagingCenter.Send <DiceSite, long>(this, "updateLosses", losses);
                    }
                }
                catch
                {
                }
            }
        }
Exemple #2
0
        public override async Task <bool> Login(string User, string Password, string twofa)
        {
            bool result = false;

            try
            {
                string sitea = SiteA[site];

                /*switch (site)
                 * {
                 * case 0: sitea = "https://www.999dice.com/api/web.aspx"; break;
                 * case 1: sitea = "https://www.999doge.com/api/web.aspx"; break;
                 * case 2: sitea = "https://www.999-dice.com/api/web.aspx"; break;
                 * case 3: sitea = "http://999again.ddns.net:999/"; break;
                 * }*/
                ClientHandlr = new HttpClientHandler {
                    UseCookies = true, AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip, Proxy = this.Prox, UseProxy = Prox != null
                };;
                Client = new HttpClient(ClientHandlr)
                {
                    BaseAddress = new Uri(sitea)
                };
                Client.DefaultRequestHeaders.AcceptEncoding.Add(new System.Net.Http.Headers.StringWithQualityHeaderValue("gzip"));
                Client.DefaultRequestHeaders.AcceptEncoding.Add(new System.Net.Http.Headers.StringWithQualityHeaderValue("deflate"));
                List <KeyValuePair <string, string> > pairs = new List <KeyValuePair <string, string> >();
                pairs.Add(new KeyValuePair <string, string>("a", "Login"));
                pairs.Add(new KeyValuePair <string, string>("key", "2475c9cb93ba471194d3dd60f06b298c"));
                if (twofa != "" && twofa != null)
                {
                    pairs.Add(new KeyValuePair <string, string>("Totp", twofa));
                }

                pairs.Add(new KeyValuePair <string, string>("Username", User));
                pairs.Add(new KeyValuePair <string, string>("Password", Password));

                FormUrlEncodedContent Content = new FormUrlEncodedContent(pairs);
                string responseData           = "";
                using (var response = await Client.PostAsync("", Content))
                {
                    try
                    {
                        responseData = await response.Content.ReadAsStringAsync();
                    }
                    catch (AggregateException e)
                    {
                        if (site++ < SiteA.Length - 1)
                        {
                            result = await Login(User, Password, twofa);
                        }
                        else
                        {
                            finishedlogin(false);
                        }

                        return(result);
                    }
                }

                d999Login tmpU = json.JsonDeserialize <d999Login>(responseData);
                if (tmpU.SessionCookie != "" && tmpU.SessionCookie != null)
                {
                    Lastbalance   = DateTime.Now;
                    sessionCookie = tmpU.SessionCookie;
                    balance       = tmpU.Balance / 100000000.0m;
                    profit        = tmpU.Profit / 100000000.0m;
                    Wagered       = tmpU.Wagered / 100000000m;
                    bets          = (int)tmpU.BetCount;
                    wins          = (int)tmpU.BetWinCount;
                    losses        = (int)tmpU.BetLoseCount;
                    await GetBalance();

                    MessagingCenter.Send <DiceSite, decimal>(this, "updateBalance", (decimal)balance);
                    MessagingCenter.Send <DiceSite, long>(this, "updateBets", tmpU.BetCount);
                    MessagingCenter.Send <DiceSite, decimal>(this, "updateWagered", Wagered);
                    MessagingCenter.Send <DiceSite, decimal>(this, "updateProfit", profit);
                    MessagingCenter.Send <DiceSite, long>(this, "updateWins", tmpU.BetWinCount);
                    MessagingCenter.Send <DiceSite, long>(this, "updateLosses", tmpU.BetLoseCount);

                    Lastbalance = DateTime.Now.AddMinutes(-2);
                    await GetBalance();

                    MessagingCenter.Send(this, "updateDeposit", tmpU.DepositAddress);
                    uid    = tmpU.Accountid;
                    result = true;
                }
                else
                {
                    result = false;
                }
                if (sessionCookie != "")
                {
                    isD999 = true;
                    var t = new Thread(GetBalanceThread);
                    t.Start();
                    result = true;
                }
            }
            catch
            {
                if (site++ < 2)
                {
                    result = await Login(User, Password, twofa);
                }
                else
                {
                    result = false;
                }
            }
            if (!thing)
            {
                finishedlogin(sessionCookie != "");
                thing = true;
            }

            return(result);
        }