static void Main(string[] args) { int index; var envPath = @"%userprofile%\Downloads\Data.txt"; var filePath = Environment.ExpandEnvironmentVariables(envPath); string content; Boolean exists; exists = File.Exists(filePath); if (exists) { content = File.ReadAllText(filePath); } else { var client = new RestClient("https://rickandmortyapi.com/api/character/?page=1"); var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); content = response.Content; } RootObject res = SimpleJson.DeserializeObject <RootObject>(content); int userInput = 0; do { userInput = DisplayMenu(); switch (userInput) { case 1: AddCharacter(res); break; //method to add character, prompts questions one at a time case 2: int counter = 0; Console.Clear(); Console.WriteLine("Here are all the characters\n"); foreach (var item in res.results) { Console.WriteLine("The characters name is {0} with an ID of {1}", item.name, counter); counter++; } Console.WriteLine("\nPress Enter to continue back to the menu"); Console.ReadLine(); //method to display list of all characters with there ID # break; case 3: Console.Clear(); Console.WriteLine("Please enter a character ID between 0 and {0}", res.results.Count - 1); index = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(res.results[index].name); Console.WriteLine(res.results[index].status); Console.WriteLine(res.results[index].species); Console.WriteLine(res.results[index].gender); Console.WriteLine("\nPress Enter to continue back to the menu"); Console.ReadLine(); //call method to display chosen character by ID and any information on them. break; case 4: Console.WriteLine("Which ID would you like to delete?"); Console.WriteLine("Please enter a character ID between 0 and {0}", res.results.Count - 1); //Fix this to test parse for a number bool ifsuccess; ifsuccess = Int32.TryParse(Console.ReadLine(), out index); // index = Convert.ToInt32(Console.ReadLine()); res.results.RemoveAt(index); //call method for to enter ID# and delete it from list break; } }while (userInput != 5); //saves any changes inputed through method and updates file. string data = SimpleJson.SerializeObject(res); File.WriteAllText(filePath, data); }
static void Logic(RootObject lp) { userid = lp.updates[0][email protected]_id; peer_id = lp.updates[0][email protected]_id; //messageid = Convert.ToInt64(lp.updates[0][email protected]_message_id); switch (lp.updates[0][email protected]) { case "/пополнить": { if (t.IfRegistered(userid)) { Send("Введите /пополнить [сумма в рублях]"); } else { Send("Вы не зарегистрированы! Для регистрации введите /регистрация!"); } break; } case "/регистрация": { if (!t.IfRegistered(userid)) { t.Register(userid); Send("Вы успешно зарегистрировались.\n\nВам начислен бонус в сумме 10 рублей.\nДля игры введите /ставка [сумма] [вероятность]\nВводите только натуральные числа!\nИграйте без флуда, иначе бот не справится и вы можете потерять деньги(виноваты только вы сами)!"); } else { int balanced = t.CheckBalance(userid); Send(string.Format("Ваш аккаунт уже зарегистрирован. Ваш баланс: {0},{1}{2}", balanced / 100, balanced % 100 / 10, balanced % 10)); } break; } case "/ставка": { if (t.IfRegistered(userid)) { Send("Введите /ставка [сумма] [вероятность]"); } else { Send("Ваш аккаунт не зарегистрирован. Для регистрации введите /регистрация."); } break; } case "/баланс": { if (t.IfRegistered(userid)) { int value = t.CheckBalance(userid); Send(string.Format("Ваш баланс: {0},{1}{2}", value / 100, value % 100 / 10, value % 10)); } else { Send("Вы не зарегистрированы! Для регистрации введите /регистрация!"); } break; } case var s1 when(Regex.IsMatch(lp.updates[0][email protected], @"/ставка (?'number1'\d+) (?'number2'\d+)")): { if (t.IfRegistered(userid)) { var regex = new Regex(@"/ставка (?'number1'\d+) (?'number2'\d+)"); var match = regex.Match(lp.updates[0][email protected]); int number1 = Convert.ToInt32(int.Parse(match.Groups["number1"].Value) * 1.00); int number2 = Convert.ToInt32(int.Parse(match.Groups["number2"].Value) * 1.00); money = t.CheckBalance(userid); Random rand = new Random(); int value = rand.Next(0, 100); if (number2 > 0 && 90 >= number2) { if (number1 <= 0) { Send("Ставка не может быть меньше или равна нулю!"); } else if (money / 100 < number1) { Send("На балансе недостаточно денег!"); } else { money = (money - number1 * 100); //t.GameFirst(userid, money); Bet(value, number1, number2); } } else { Send("Вероятность выигрыша должна быть в пределах 0-90!"); } } else { Send("Вы не зарегистрированы! Для регистрации введите /регистрация!"); } break; } } /*var pattern_payment = @"/пополнить (?'number1'\d+)"; * var regex_payment = new Regex(pattern_payment); * if (regex_payment.IsMatch(lp.updates[0][email protected])) * { * if (t.IfRegistered(userid)) * { * var match = regex_payment.Match(lp.updates[0][email protected]); * int number1 = Convert.ToInt32(int.Parse(match.Groups["number1"].Value)); * Send(string.Format("Убедитесь в верности введённых данных: \nID аккаунта: {0}\nСумма пополнения: {1} рублей\n\nДля пополнения баланса на данный аккаунт перейдите по ссылке ниже:\nhttp://casinos-bot.com/payment/obr.php?account={0}&sum={1}&fk_go", userid, number1)); * } * else Send("Ваш аккаунт не зарегистрирован. Для регистрации введите /регистрация."); * }*/ }
public void setStock(String tick, String start, String end) { String pre = @"https://api.intrinio.com/prices?identifier="; this.ticker = tick; String Start = "&start_date=" + start; String End = "&end_date=" + end; // String url2 = @"https://api.intrinio.com/prices?identifier=SNAP&start_date=2017-06-29"; String url = pre + ticker + Start + End; String pageNumber = "&page_number="; obj = new RootObject(); int h = 1; for (int j = 1; j <= h; j++) { pageNumber = pageNumber + j.ToString(); HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create(url + pageNumber); request.Method = "GET"; request.Headers["Authorization"] = "Basic " + Convert.ToBase64String (Encoding.Default.GetBytes("c248b72786804ad428d98b29bef7c1c3:a0db0996cdc891c8d7732a9fbf6803c1")); request.UseDefaultCredentials = true; request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream receiveStream = response.GetResponseStream(); /* Pipes the stream to a higher level stream reader with the required encoding format. * * * StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8); * * Console.WriteLine(readStream.ReadToEnd()); */ DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(RootObject)); obj = (RootObject)serializer.ReadObject(receiveStream); //List<Datum> data = user.data; h = obj.total_pages; for (int i = 0; i < obj.data.Count; i++) { Stock n = new Stock(); n.date = obj.data[i].date; n.open_market = obj.data[i].open; n.high = obj.data[i].high; n.low = obj.data[i].low; n.close_market = obj.data[i].close; n.volume = obj.data[i].volume; n.ex_dividend = obj.data[i].ex_dividend; n.split_ratio = obj.data[i].split_ratio; n.adj_open = obj.data[i].adj_open; n.adj_high = obj.data[i].adj_high; n.adj_low = obj.data[i].adj_low; n.adj_close = obj.data[i].adj_close; n.adj_volume = obj.data[i].adj_volume; stock.Add(n); } response.Close(); pageNumber = "&page_number="; } api_call_credits += h; }