Esempio n. 1
0
        public async Task knowledgegraph([Remainder] string keywords)
        {
            SearchResponse searchResponse = GoogleService.KnowledgeGraph(keywords).Result;
            var            eb             = new EmbedBuilder();

            if (searchResponse.ItemListElement.Count < 1)
            {
                eb.WithTitle("Google Knowledge Graph");
                eb.WithColor(Color.Red);
                eb.WithDescription("No result was found.");
            }
            else
            {
                eb.WithAuthor("Google Knowledge Graph");
                eb.WithColor(Color.Green);

                EntitySearchResult result = JsonConvert.DeserializeObject <EntitySearchResult>(searchResponse.ItemListElement[0].ToString());
                eb.WithTitle(result.Result.Name);
                eb.WithDescription(ConvertKnowledgeGraphEntityToMessage(result.Result));

                if (result.Result.DetailedDescription != null)
                {
                    eb.WithUrl(result.Result.DetailedDescription.Url);
                }
                else
                {
                    eb.WithUrl(result.Result.Url);
                }

                if (result.Result.Image != null)
                {
                    eb.WithThumbnailUrl(result.Result.Image.ContentUrl);
                }
            }
            await Context.Channel.SendMessageAsync(embed : eb.Build());
        }