Ejemplo n.º 1
0
        private Embed FormatStockResponse(StockModel response)
        {
            var Company = response.Company;
            var Quote   = response.StockQuote;

            var changeString = new StringBuilder()
                               .AppendLine("```diff")
                               .AppendLine(PriceChangeToString(
                                               Quote.Current,
                                               Quote.PreviousClose))
                               .Append("```").ToString().Trim();

            return(new EmbedBuilder()
            {
                Color = Color.DarkRed,
                Title = string.Format("{0} ({1})",
                                      Company.Name,
                                      response.Symbol),
                Description = Company.Exchange,
                Url = Company?.Weburl.ValidateUri(),
                ThumbnailUrl = Company?.Logo.ValidateUri(),
                Fields = new List <EmbedFieldBuilder>()
                {
                    EmbedFormat.MakeField("Price:",
                                          Quote.Current.ToString()),
                    EmbedFormat.MakeField("Prev Close:",
                                          Quote.PreviousClose.ToString(),
                                          true),
                    EmbedFormat.MakeField("Low:",
                                          Quote.Low.ToString(),
                                          true),
                    EmbedFormat.MakeField("High:",
                                          Quote.High.ToString(),
                                          true),
                    EmbedFormat.MakeField("Change:",
                                          changeString),
                    EmbedFormat.MakeField("Updated:",
                                          DateFormat.UnixTimeToDate(Quote.Timestamp))
                }
            }.Build());
        }
Ejemplo n.º 2
0
        private Embed FormatOmdbResponse(Movie response)
        {
            string titleUrl = string.Empty;
            var    ratings  = new StringBuilder("*none*");

            if (response.Ratings?.Length > 0)
            {
                ratings.Clear();

                foreach (var rating in response.Ratings)
                {
                    ratings.AppendFormat("{0}: {1}",
                                         rating.Source.Replace("Internet Movie Database", "IMDB"),
                                         rating.Value)
                    .AppendLine();
                }
            }

            if (!string.IsNullOrEmpty(response.ImdbId))
            {
                titleUrl = string.Format(_options.IanImdbIdUrl,
                                         response.ImdbId);
            }

            return(new EmbedBuilder
            {
                Author = EmbedFormat.MakeAuthor(response.Title, titleUrl),
                Description = response.Plot,
                ThumbnailUrl = response?.Poster.ValidateUri(),
                Fields = new List <EmbedFieldBuilder>()
                {
                    EmbedFormat.MakeField("Released:",
                                          DateFormat.ToWesternDate(response.Released)),
                    EmbedFormat.MakeField("Actors:", response.Actors),
                    EmbedFormat.MakeField("Ratings:", ratings.ToString().Trim())
                }
            }.Build());
        }