Beispiel #1
0
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            // List of popular movies
            try
            {
                await context.PostAsync($"I am searching for movies, please be patient :)");

                MoviesSearch search      = new MoviesSearch();
                List <Movie> movieResult = await search.GetPopularMovies();

                if (movieResult.Count != 0)
                {
                    await context.PostAsync($"Here is popular movie list : ");

                    CardUtil.showHeroCardMovies((IMessageActivity)context.Activity, movieResult);
                }
                else
                {
                    await context.PostAsync($"I couldn't find list of movies, you can try again.");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Error when filtering by popular movies: {e}");
            }
            context.Done(this);
        }
        public async Task MovieSearch(IDialogContext context, LuisResult result_luis)
        {
            QureyController qc  = new QureyController();
            string          ans = "";

            qc.PostQuestionOne(result_luis.Query, result_luis.TopScoringIntent.Intent, result_luis.TopScoringIntent.Score.ToString(), "0");
            if (result_luis.TopScoringIntent.Score < 0.4)
            {
                ans = qc.GetTrainedAnswer(result_luis.Query);
                qc.PostAnswerOne(ans, result_luis.TopScoringIntent.Intent);
                await context.PostAsync(ans);

                context.Wait(MessageReceived);
            }
            else
            {
                string entity = "";

                if (result_luis.Entities.Count > 0)
                {
                    entity = result_luis.Entities[0].Entity;
                }

                if (entity == "")
                {
                    entity = "Star Wars: The Last Jedi";
                    await context.PostAsync("Here is a movie which i found : ");
                }
                try
                {
                    MoviesSearch search      = new MoviesSearch();
                    Movie        movieResult = await search.SearchByName(entity);

                    if (movieResult.id != 0)
                    {
                        CardUtil.showHeroCard((IMessageActivity)context.Activity, movieResult);
                        ans = movieResult.Title;
                    }
                    else
                    {
                        await context.PostAsync($"I couldn't find a movie :0");
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine($"Error when filtering by genre: {e}");
                }

                qc.PostAnswerOne(ans, result_luis.TopScoringIntent.Intent);
                context.Done <object>(null);
            }
        }
        public async Task PopularMovies(IDialogContext context, LuisResult result_luis)
        {
            QureyController qc = new QureyController();

            qc.PostQuestionOne(result_luis.Query, result_luis.TopScoringIntent.Intent, result_luis.TopScoringIntent.Score.ToString(), "0");

            if (result_luis.TopScoringIntent.Score < 0.4)
            {
                string ans = "";
                ans = qc.GetTrainedAnswer(result_luis.Query);
                qc.PostAnswerOne(ans, result_luis.TopScoringIntent.Intent);
                await context.PostAsync(ans);

                context.Wait(MessageReceived);
            }
            else
            {
                // List of popular movies
                try
                {
                    MoviesSearch search      = new MoviesSearch();
                    List <Movie> movieResult = await search.GetPopularMovies();

                    if (movieResult.Count != 0)
                    {
                        CardUtil.showHeroCardMovies((IMessageActivity)context.Activity, movieResult);
                        qc.PostAnswer(result_luis.Query, movieResult[0].Title, "PopularMovies", "0.75", "0.75");
                    }
                    else
                    {
                        await context.PostAsync($"I couldn't find a movie :0");

                        qc.PostAnswer(result_luis.Query, "I couldn\'t find a movie", "PopularMovies", "0.75", "0.75");
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine($"Error when filtering by popular movies: {e}");
                }
                context.Done <object>(null);
            }
        }
Beispiel #4
0
        public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            var message = await result;

            string entity = "";

            if (message.Text.Length > 0)
            {
                entity = message.Text;
            }

            await context.PostAsync("Here is a movie which i found : ");

            if (entity == "")
            {
                entity = "Star Wars: The Last Jedi";
            }
            try
            {
                MoviesSearch search      = new MoviesSearch();
                Movie        movieResult = await search.SearchByName(entity);

                if (movieResult.id != 0)
                {
                    CardUtil.showHeroCard((IMessageActivity)context.Activity, movieResult);
                }
                else
                {
                    await context.PostAsync($"I couldn't find a movie :/");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine($"Error when filtering by genre: {e}");
            }

            context.Done(this);
        }
Beispiel #5
0
        public IEnumerable <MovieViewModel> Get(int page = 1, string classify = "/www/1/-------------11-{0}-1-iqiyi--.html")
        {
            return(_memoryCache.Get(string.Format(MOVIES_CACHE, classify, page), () =>
            {
                if (string.IsNullOrEmpty(classify))
                {
                    classify = "/www/1/-------------11-{0}-1-iqiyi--.html";
                }
                //11-2-1-iqiyi--
                if (!string.IsNullOrEmpty(classify) && classify != "/www/1/-------------11-{0}-1-iqiyi--.html")
                {
                    int index = classify.IndexOf("-1-iqiyi");

                    if (index > 0)
                    {
                        classify = classify.Remove(index - 1, 1);
                        classify = classify.Insert(index - 1, "{0}");
                    }
                    else
                    {
                        index = classify.IndexOf("iqiyi");
                        classify = classify.Insert(index - 2, "1");
                        classify = classify.Insert(index - 3, "{0}");
                        classify = classify.Insert(index - 4, "11");
                    }
                }
                classify = string.Format(classify, page);
                if (classify.Contains("http"))
                {
                    return MoviesSearch.Crawler(classify);
                }
                else
                {
                    return MoviesSearch.Crawler($"http://list.iqiyi.com{classify}");
                }
            }));
        }