示例#1
0
        public static void UpdateGenreTV()
        {
            var dict = new Dictionary <string, List <RandomTV.Film> >();

            foreach (var pair in Film.GenresConverts)
            {
                string[] order  = new string[] { "YEAR", "RATING", "NUM_VOTE" };
                var      l      = new List <RandomTV.Film>();
                Random   random = new Random();
                while (true)
                {
                    var client  = new RestClient("https://kinopoiskapiunofficial.tech/api/v2.1/films/search-by-filters");
                    var request = new RestRequest(Method.GET);
                    request.AddHeader("X-API-KEY", Bot._kp_key);
                    request.AddQueryParameter("type", "TV_SHOW");
                    request.AddQueryParameter("order", order[random.Next(0, 2)]);
                    request.AddQueryParameter("genre", pair.Value.ToString());
                    int filmYearBottomLine = random.Next(1950, DateTime.Now.Year - 20);
                    int filmYearUpperLine  = random.Next(filmYearBottomLine + 20, DateTime.Now.Year + 1);
                    request.AddQueryParameter("yearFrom", filmYearBottomLine.ToString());
                    request.AddQueryParameter("yearTo", filmYearUpperLine.ToString());
                    IRestResponse    response = client.Execute(request);
                    RandomTV.Results results;
                    try { results = JsonConvert.DeserializeObject <RandomTV.Results>(response.Content); }
                    catch (Exception) { results = null; }
                    if (results == null || results.films.Count == 0)
                    {
                        continue;
                    }
                    for (int i = 0; i < Math.Min(results.films.Count, 5); ++i)
                    {
                        var    t = results.films[i];
                        string photoID2;
                        t.VKPhotoID   = Attachments.RandomTVPosterID(t, out photoID2);
                        t.VKPhotoID_2 = photoID2;
                        if (t.VKPhotoID == null || t.VKPhotoID_2 == null)
                        {
                            continue;
                        }
                        l.Add(t);
                    }
                    dict[pair.Key] = l;
                    break;
                }
            }
            GenreTV = dict;
        }
示例#2
0
        /// <summary>
        /// Обновляет список популярных фильмов
        /// </summary>
        public static void UpdateRandomTV()
        {
            while (true)
            {
                Random   random             = new Random();
                int      filmYearBottomLine = random.Next(1950, DateTime.Now.Year - 5);
                string[] order   = new string[] { "YEAR", "RATING", "NUM_VOTE" };
                var      client  = new RestClient("https://kinopoiskapiunofficial.tech/api/v2.1/films/search-by-filters");
                var      request = new RestRequest(Method.GET);
                request.AddHeader("X-API-KEY", Bot._kp_key);
                request.AddQueryParameter("type", "TV_SHOW");
                request.AddQueryParameter("order", order[random.Next(0, order.Length)]);
                request.AddQueryParameter("genre", Film.PopularGenres[random.Next(0, Film.PopularGenres.Length)].ToString());
                request.AddQueryParameter("yearFrom", filmYearBottomLine.ToString());
                IRestResponse        response = client.Execute(request);
                List <RandomTV.Film> results;
                try { results = JsonConvert.DeserializeObject <RandomTV.Results>(response.Content).films; }
                catch (Exception) { results = null; }
                if (results == null || results.Count == 0)
                {
                    continue;
                }

                var dict = new Dictionary <int, RandomTV.Film>();
                for (int i = 0; i < results.Count; ++i)
                {
                    string photoID2;
                    results[i].VKPhotoID   = Attachments.RandomTVPosterID(results[i], out photoID2);
                    results[i].VKPhotoID_2 = photoID2;
                    if (results[i].VKPhotoID == null || results[i].VKPhotoID_2 == null)
                    {
                        continue;
                    }
                    dict[results[i].filmId] = results[i];
                }
                RandomTV = dict;
                return;
            }
        }