Exemple #1
0
        protected override void Build(StreamReader readStream)
        {
            string line;

            while ((line = readStream.ReadLine()) != null)
            {
                if (line.Contains("<tr data-name"))
                {
                    line = line.Substring(line.IndexOf('\"') + 1, line.LastIndexOf('\"'));
                    line = line.Replace(" [BS]", "; Battle Scarred");
                    line = line.Replace(" [FN]", "; Factory New");
                    line = line.Replace(" [FT]", "; Field-Tested");
                    line = line.Replace(" [MW]", "; Minimal Wear");
                    line = line.Replace(" [WW]", "; Well-Worn");

                    var item = new ItemInBot()
                    {
                        Bot  = bot,
                        Item = ItemHelper.GetItemByName(line)
                    };

                    readStream.ReadLine();

                    line = readStream.ReadLine();
                    line = line.Substring(line.IndexOf('>') + 1, line.LastIndexOf('<'));
                    String[] stock = line.Split('/');
                    item.Stock = 0;

                    /*var temp */
                    item.Stock = int.Parse(stock[0]);
                    item.Max   = int.Parse(stock[1]);
                    //if (item.Max == item.temp) item.Max -= item.temp;

                    line           = readStream.ReadLine();
                    line           = line.Substring(line.IndexOf('>') + 1, line.LastIndexOf('<')).Replace(",", "");
                    item.SellPrice = int.Parse(line) / 25;
                    line           = readStream.ReadLine();
                    line           = line.Substring(line.IndexOf('>') + 1, line.LastIndexOf('<')).Replace(",", "");
                    item.BuyPrice  = int.Parse(line) / 25;
                    items.Add(item.Item.Name, item);
                }
            }

            // OpenConnectionAndDoSomething(
            //     s => GetStockInformation(s),
            //     "https://www.tf2wh.com/allitems");
        }
Exemple #2
0
        private void GetStockInformation(StreamReader br)
        {
            string line = "";

            while ((line = br.ReadLine()) != null)
            {
                if (line.Contains("data-name="))
                {
                    String    name = Regex.Split(line, "data-name=\"")[1].Split('"')[0];
                    ItemInBot item = items[name];
                    if (item != null)
                    {
                        //  item.Stock = item.temp;
                    }
                }
            }
        }
        protected override void Build(StreamReader readStream)
        {
            string    line;
            int       item_found_state = 0;
            ItemInBot item             = null;

            while ((line = readStream.ReadLine()) != null)
            {
                line = line.Trim();
                line = line.Replace("<i18n>", "").Replace("</i18n>", "");

                switch (item_found_state)
                {
                case 0:
                    if (line.Contains("data-original-title=\"\"></td>"))
                    {
                        line = readStream.ReadLine();
                        line = line.Replace("</td>", "").Replace("<td>", "");

                        Console.WriteLine(line);
                        item_found_state++;


                        string name = line.Trim();

                        item = new ItemInBot()
                        {
                            Item = ItemHelper.GetItemByName(name),
                            Bot  = bot
                        };
                        items.Add(name, item);
                        ItemHelper.CTX.ItemsInBots.Add(item);
                    }

                    break;

                case 1:
                    if (line.Contains("<td>"))
                    {
                        item_found_state++;
                        int sell = ItemHelper.ParsePrice(line);
                        item.SellPrice = sell;
                    }
                    break;

                case 2:
                    if (line.Contains("<td>"))
                    {
                        item_found_state++;
                        int buy = ItemHelper.ParsePrice(line);
                        item.BuyPrice = buy;
                    }
                    if (line.Contains(("<div rel=\"tooltip\" title=\"")))
                    {
                        line = line.Replace("<div rel=\"tooltip\" title=\"", "");
                        string[] stockMax = line.Split('"')[0].Split('/');
                        int      stock = 0; int max = 0;
                        if (stockMax.Length >= 2)
                        {
                            stock = int.Parse(stockMax[0]);
                            max   = int.Parse((stockMax[1]));
                        }
                        item.Stock = stock;
                        item.Max   = max;


                        item_found_state = 0;
                    }

                    break;

                case 3:
                    if (line.Contains(("<div rel=\"tooltip\" title=\"")))
                    {
                        line = line.Replace("<div rel=\"tooltip\" title=\"", "");
                        string[] stockMax = line.Split('"')[0].Split('/');
                        int      stock = 0; int max = 0;
                        if (stockMax.Length >= 2)
                        {
                            stock = int.Parse(stockMax[0]);
                            max   = int.Parse((stockMax[1]));
                        }
                        item.Stock = stock;
                        item.Max   = max;


                        item_found_state = 0;
                    }

                    break;
                }
            }
        }
Exemple #4
0
        protected override void Build(StreamReader readStream)
        {
            String line = "";

            while ((line = readStream.ReadLine()) != null)
            {
                bool buy = false;
                if (line.Contains("$scope.sellers = "))
                {
                    buy = false;
                }
                else if (line.Contains("$scope.buyers = "))
                {
                    buy = true;
                }

                if (line.Contains("$scope.sellers = ") || line.Contains("$scope.buyers = "))
                {
                    line = line.Replace("$scope.sellers = ", "");
                    line = line.Trim();
                    string[] itemStrings = Regex.Split(line, "\\}, \\{");
                    foreach (String itemString in itemStrings)
                    {
                        string tmp = itemString.Substring(itemString.LastIndexOf("\"price\": {"));
                        tmp = tmp.Replace("\"price\": {", "");
                        String[] itemS = Regex.Split(tmp, "\\}, ");
                        string   name  = itemS[1].Replace("\"name\": ", "").Replace("\"", "").Replace("}];", "").Trim();

                        ItemInBot item = new ItemInBot()
                        {
                            Bot       = bot,
                            Item      = ItemHelper.GetItemByName(name),
                            BuyPrice  = 0,
                            SellPrice = 999999999,
                            Max       = 0,
                            Stock     = 0
                        };

                        String[] price = itemS[0].Replace("\"keys\":", "").Replace("\"refs\":", "").Replace(".0", "00").Replace(".", "").Split(',');
                        int      sum   = (int)(int.Parse(price[0].Trim()) * ItemHelper.KEY_PRICE + int.Parse(price[2].Trim()));
                        if (items.Keys.Contains(item.Item.Name))
                        {
                            item = items[item.Item.Name];
                        }
                        else
                        {
                            items.Add(item.Item.Name, item);
                            ItemHelper.CTX.ItemsInBots.Add(item);
                        }
                        if (buy)
                        {
                            item.BuyPrice = sum;
                            item.Max++;
                        }
                        else
                        {
                            item.SellPrice = sum; item.Stock++; item.Max++;
                        }
                    }
                }
            }
        }