コード例 #1
0
        private void InventoryProgress(object sender, DoWorkEventArgs e)
        {
            int[] parameters = e.Argument as int[];

            int invApp = parameters[0];

            int invCount = 0;

            if (!LoadOnSale)
            {
                invCount = SteamParseSite.ParseInventory(SteamParsing.SendGet(string.Format(SteamLibrary._jsonInv, MyUserID,
                                                                                            SteamLibrary.GetAppFromIndex(invApp, true).AppID), cookieCont, false, true));
            }
            else
            {
                invCount = SteamParseSite.ParseOnSale(SteamParsing.SendGet(SteamLibrary._market, cookieCont, false, true));
            }

            if (invCount > 0)
            {
                doMessage(flag.Inventory_Loaded, 0, string.Empty, true);
            }
            else
            {
                doMessage(flag.Inventory_Loaded, 1, string.Empty, true);
            }
        }
コード例 #2
0
        public void SellProgress(object sender, DoWorkEventArgs e)
        {
            var count = SellingList.Count;

            if (count != 0)
            {
                int incr = (100 / count);

                /*bool isSleep = false;
                 *
                 * if (count > 0)
                 * {
                 *  isSleep = true;
                 * }
                 *
                 * Random random = new Random();
                 * int min = sellDelay / 2;
                 * int max = sellDelay * 2;*/

                for (int i = 0; i < count; i++)
                {
                    if (IsRemove)
                    {
                        var req = "sessionid=" + SteamParseSite.GetSessId(cookieCont);
                        SteamParsing.SendPost(req, SteamLibrary.removeSell + SellingList[i].AssetId, SteamLibrary._market, cookieCont, false);
                    }
                    else
                    {
                        if (!SellingList[i].Price.Equals("None"))
                        {
                            var req = string.Format(SteamLibrary.sellReq, SteamParseSite.GetSessId(cookieCont), SellingList[i].App.AppID,
                                                    SellingList[i].App.Context, SellingList[i].AssetId, SellingList[i].Price);

                            SteamParsing.SendPost(req, SteamLibrary._sellitem, SteamLibrary._market, cookieCont, false);
                        }
                    }

                    doMessage(flag.Sell_progress, 0, (incr * (i + 1)).ToString(), true);

                    /*if ((isSleep) && (i != count - 1))
                     * {
                     *  if (isDelayRand)
                     *  {
                     *      Thread.Sleep(random.Next(min, max));
                     *  }
                     *  else
                     *  {
                     *      Thread.Sleep(sellDelay);
                     *  }
                     * }*/
                }

                doMessage(flag.Items_Sold, 0, string.Empty, true);
            }
            else
            {
                doMessage(flag.Items_Sold, 1, string.Empty, true);
            }
        }
コード例 #3
0
        public void Logout()
        {
            ThreadStart threadStart = delegate()
            {
                SteamParsing.SendGet(SteamLibrary._logout, cookieCont, false, true);
                doMessage(flag.Logout_, 0, string.Empty, true);
                Logged = false;
            };
            Thread pTh = new Thread(threadStart);

            pTh.IsBackground = true;
            pTh.Start();
        }
コード例 #4
0
        private void AdvanceSearchProgress(object state)
        {
            object[] parameters = state as object[];

            bool   isGame   = (bool)parameters[0];
            string game     = (string)parameters[1];
            bool   isMin    = (bool)parameters[2];
            string min      = (string)parameters[3];
            bool   isMax    = (bool)parameters[4];
            string max      = (string)parameters[5];
            int    countRes = (int)parameters[6];

            string found = ParseAdvanceSearchRes(SteamParsing.SendGet(advancelinkTxt, cookieCont,
                                                                      false, true), SearchList, cookieCont, isGame, game, isMin, min, isMax, max, countRes);
        }
コード例 #5
0
        private SteamLibrary.BuyResponse BuyItem(CookieContainer c**k, string sessid, string itemId, string link,
                                                 string subtotal, string fee, string total)
        {
            string data = string.Format(SteamLibrary.buyReq, sessid, subtotal, fee, total, SteamParsing.Currencies.GetCode(), "1");

            //buy
            //29.08.2013 Steam Update Issue!
            //FIX: using SSL - https:// in url
            string buyres = SteamParsing.SendPost(data, SteamLibrary._blist + itemId, link, cookieCont, true);

            //testing purposes
            //string buyres = File.ReadAllText(@"C:\x.txt");

            try
            {
                if (buyres.Contains("message"))
                {
                    //Already buyed!
                    var ErrBuy = JsonConvert.DeserializeObject <SteamLibrary.InfoMessage>(buyres);
                    return(new SteamLibrary.BuyResponse(false, ErrBuy.Message));
                }
                else

                if (buyres != string.Empty)
                {
                    var AfterBuy = JsonConvert.DeserializeObject <SteamLibrary.WalletInfo>(buyres);

                    if (AfterBuy.WalletRes.Success == 1)
                    {
                        string balance = AfterBuy.WalletRes.Balance;
                        balance = balance.Insert(balance.Length - 2, ".");
                        return(new SteamLibrary.BuyResponse(true, balance));
                    }
                    else
                    {
                        return(new SteamLibrary.BuyResponse(false, "UnknownErr"));
                    }
                }
                else
                {
                    return(new SteamLibrary.BuyResponse(false, "UnknownErr"));
                }
            }
            catch (Exception)
            {
                return(new SteamLibrary.BuyResponse(false, "UnknownErr"));
            }
        }
コード例 #6
0
        public void BuyProgress(object sender, DoWorkEventArgs e)
        {
            object[] parameters = e.Argument as object[];

            string link       = Convert.ToString(parameters[0]);
            bool   BuyNow     = Convert.ToBoolean(parameters[1]);
            bool   IgnoreWarn = Convert.ToBoolean(parameters[2]);
            bool   isTrack    = Convert.ToBoolean(parameters[3]);

            try
            {
                string sessid = SteamParseSite.GetSessId(cookieCont);

                string url = link;

                if (BuyNow)
                {
                    SteamParseSite.ParseLotList(SteamParsing.SendGet(url, cookieCont, false, true),
                                                MyUserID, BuyList, false, true, IgnoreWarn);

                    if (BuyList.Count == 0)
                    {
                        doMessage(flag.Error_scan, 0, "0", true);
                    }
                    else
                    {
                        double totalPrice = BuyList[0].Price + BuyList[0].Fee;

                        if (isTrack)
                        {
                            if (totalPrice / 100 == pricecheck)
                            {
                                string totalStr = Convert.ToString(totalPrice);

                                var buyresp = BuyItem(cookieCont, sessid, BuyList[0].ListingId, link, BuyList[0].Price.ToString(),
                                                      BuyList[0].Fee.ToString(), totalStr);

                                BuyNow = false;

                                if (buyresp.Succsess)
                                {
                                    doMessage(flag.Success_buy, 0, buyresp.Mess + ";" + BuyList[0].ItemName, true);
                                }
                                else
                                {
                                    doMessage(flag.Error_buy, 0, buyresp.Mess, true);
                                }
                            }
                        }
                        else
                        {
                            string totalStr = Convert.ToString(totalPrice);

                            var buyresp = BuyItem(cookieCont, sessid, BuyList[0].ListingId, link, BuyList[0].Price.ToString(),
                                                  BuyList[0].Fee.ToString(), totalStr);

                            BuyNow = false;

                            if (buyresp.Succsess)
                            {
                                doMessage(flag.Success_buy, 0, buyresp.Mess + ";" + BuyList[0].ItemName, true);
                            }
                            else
                            {
                                doMessage(flag.Error_buy, 0, buyresp.Mess, true);
                            }
                        }
                    }
                    return;
                }
            }
            catch (Exception exc)
            {
                SteamLibrary.AddtoLog(exc.Message);
            }
            finally
            {
                //CancelScan();
            }
        }
コード例 #7
0
 private void SearchProgress(object sender, DoWorkEventArgs e)
 {
     doMessage(flag.Search_success, 0, SteamParseSite.ParseSearchRes(SteamParsing.SendGet(linkTxt, cookieCont,
                                                                                          false, true), SearchList, cookieCont), true);
 }
コード例 #8
0
        public void LoginProgress(object sender, DoWorkEventArgs e)
        {
            LoginProcess = true;
            Logged       = false;

            var accInfo = SteamParseSite.GetNameBalance(cookieCont);

            if (accInfo != null)
            {
                doMessage(flag.Already_logged, 0, accInfo, true);
                LoginProcess = false;
                Logged       = true;
                return;
            }

            string mailCode  = string.Empty;
            string guardDesc = string.Empty;
            string capchaId  = string.Empty;
            string capchaTxt = string.Empty;
            string mailId    = string.Empty;

            //Login cycle
begin:

            var rRSA = GetRSA("toshigawa_tori", cookieCont);

            if (rRSA == null)
            {
                SteamLibrary.AddtoLog("Network Problem");
                doMessage(flag.Login_cancel, 0, "Network Problem", true);
                LoginProcess = false;
                return;
            }

            string finalpass = SteamLibrary.EncryptPassword(Password, rRSA.Module, rRSA.Exponent);

            string MainReq = string.Format(SteamLibrary.loginReq, finalpass, UserName, mailCode, guardDesc, capchaId,
                                           capchaTxt, mailId, rRSA.TimeStamp);

            string BodyResp = SteamParsing.SendPost(MainReq, SteamLibrary._dologin, SteamLibrary._ref, cookieCont, true);

            //Checking login problem
            if (BodyResp.Contains("message"))
            {
                var rProcess = JsonConvert.DeserializeObject <SteamLibrary.RespProcess>(BodyResp);

                //Checking Incorrect Login
                if (rProcess.Message.Contains("Incorrect"))
                {
                    SteamLibrary.AddtoLog("Incorrect login");
                    doMessage(flag.Login_cancel, 0, "Incorrect login", true);
                    LoginProcess = false;
                    return;
                }
                else
                {
                    //Login correct, checking message type...
                    Dialog guardCheckForm = new Dialog();

                    if ((rProcess.isCaptcha) && (rProcess.Message.Contains("humanity")))
                    {
                        //Verifying humanity, loading capcha
                        guardCheckForm.capchgroupEnab = true;
                        guardCheckForm.codgroupEnab   = false;

                        string newcap = SteamLibrary._capcha + rProcess.Captcha_Id;
                        SteamParsing.SteamSite.loadImg(newcap, guardCheckForm.capchImg, false, false);
                    }
                    else
                    if (rProcess.isEmail)
                    {
                        //Steam guard wants email code
                        guardCheckForm.capchgroupEnab = false;
                        guardCheckForm.codgroupEnab   = true;
                    }
                    else
                    {
                        //Whoops!
                        goto begin;
                    }

                    //Re-assign main request values
                    if (guardCheckForm.ShowDialog() == DialogResult.OK)
                    {
                        mailCode  = guardCheckForm.MailCode;
                        guardDesc = guardCheckForm.GuardDesc;
                        capchaId  = rProcess.Captcha_Id;
                        capchaTxt = guardCheckForm.capchaText;
                        mailId    = rProcess.Email_Id;
                        guardCheckForm.Dispose();
                    }
                    else
                    {
                        SteamLibrary.AddtoLog("Dialog has been cancelled!");
                        doMessage(flag.Login_cancel, 0, "Dialog has been cancelled!", true);
                        e.Cancel     = true;
                        Logged       = false;
                        LoginProcess = false;
                        guardCheckForm.Dispose();
                        return;
                    }

                    goto begin;
                }
            }
            else
            {
                //No Messages, Success!
                var rFinal = JsonConvert.DeserializeObject <SteamLibrary.RespFinal>(BodyResp);

                if (rFinal.Success && rFinal.isComplete)
                {
                    //Okay
                    var accInfo2 = SteamParseSite.GetNameBalance(cookieCont);

                    doMessage(flag.Login_success, 0, accInfo2, true);

                    Logged = true;
                    SteamLibrary.AddtoLog("Login Success");
                }
                else
                {
                    //Fail
                    goto begin;
                }
            }

            LoginProcess = false;
        }
コード例 #9
0
 //"RSA SecurID" for Steam
 public SteamLibrary.RespRSA GetRSA(string userName, CookieContainer cookieCont)
 {
     return(JsonConvert.DeserializeObject <SteamLibrary.RespRSA>(SteamParsing.SendPost("username=" + userName,
                                                                                       SteamLibrary._getrsa, SteamLibrary._ref, cookieCont, true)));
 }
コード例 #10
0
        public static string SendGet(string url, CookieContainer cookieCont, bool UseProxy, bool keepAlive)
        {
            var res = SteamParsing.GetRequest(url, cookieCont, UseProxy, keepAlive);

            return(res);
        }