Пример #1
0
        public Tuple <Embed, string> GetEmbeddedMessage()
        {
            var memberConfig = Helper.GetMemberConfig(Context.User.Id);
            var infos        = _routeCommandTexts[Context.User.Id]["infos"] as Dictionary <string, object>;
            var route        = GetRoute();

            var ending = GetEnding();

            if (route.name == "Hiro Akiba (Mature)" ||
                route.name == "Minamoto Kou")
            {
                ending = (memberConfig?.Language == "en") ? "Perfect" : "パーフェクト";
            }

            var title = infos["next"].ToString()
                        .Replace("{name}", route.name)
                        .Replace("{ending}", ending);

            var footer = infos["footer"].ToString()
                         .Replace("{firstName}", GetFirstName(route.name));

            var embed = new EmbedBuilder
            {
                Author = new EmbedAuthorBuilder
                {
                    IconUrl = Context.User.GetAvatarUrl(ImageFormat.Png),
                    Name    = Context.User.Username
                },
                Color       = new Color(uint.Parse(route.color, NumberStyles.HexNumber)),
                Description = route.description,
                Fields      = new List <EmbedFieldBuilder>
                {
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["age"].ToString(),
                            Value    = route.age
                        }
                    },
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["birthday"].ToString(),
                            Value    = route.birthday
                        }
                    },
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["animal_motif"].ToString(),
                            Value    = route.animal
                        }
                    }
                },
                Footer = new EmbedFooterBuilder
                {
                    Text = footer
                },
                ThumbnailUrl = (route.name == "Hiro Akiba (Mature)") ?
                               GetEmoteUrl(_secretRouteEmoteIds[_rng.Next(_secretRouteEmoteIds.Length)]) :
                               GetEmoteUrl(route.emoteId),
                Title = title
            };

            if (route.name == "Minamoto Kou")
            {
                embed.ThumbnailUrl = _kouGifs[_rng.Next(0, _kouGifs.Length)];
            }

            PersistenceService.AddUserRecord(GetType().Name.ToLower(), route.name, Context.User.Id, $"{ending} Ending");

            return(new Tuple <Embed, string>(embed.Build(), string.Empty));
        }
Пример #2
0
        public Tuple <Embed, string> GetEmbeddedMessage()
        {
            var infos        = _valentineCommandTexts[Context.User.Id]["infos"] as Dictionary <string, object>;
            var valentine    = GetValentine();
            var isKeitaro    = GetFirstName(valentine.name) == "Keitaro";
            var prefixSuffix = isKeitaro ? "~~" : string.Empty;
            var footer       = isKeitaro ?
                               infos["keitaro_footer"].ToString() :
                               infos["normal_footer"].ToString().Replace("{firstName}", GetFirstName(valentine.name));

            var valentineName = infos["valentine"].ToString()
                                .Replace("{name}", valentine.name)
                                .Replace("{prefixSuffix}", prefixSuffix);

            var embed = new EmbedBuilder
            {
                Author = new EmbedAuthorBuilder
                {
                    IconUrl = Context.User.GetAvatarUrl(ImageFormat.Png),
                    Name    = Context.User.Username
                },
                Color       = new Color(uint.Parse(valentine.color, NumberStyles.HexNumber)),
                Description = $"{prefixSuffix}{valentine.description}{prefixSuffix}",
                Fields      = new List <EmbedFieldBuilder>
                {
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["age"].ToString(),
                            Value    = $"{prefixSuffix}{valentine.age}{prefixSuffix}"
                        }
                    },
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["birthday"].ToString(),
                            Value    = $"{prefixSuffix}{valentine.birthday}{prefixSuffix}"
                        }
                    },
                    {
                        new EmbedFieldBuilder
                        {
                            IsInline = true,
                            Name     = infos["animal_motif"].ToString(),
                            Value    = $"{prefixSuffix}{valentine.animal}{prefixSuffix}"
                        }
                    }
                },
                Footer = new EmbedFooterBuilder
                {
                    Text = footer
                },
                ThumbnailUrl = GetEmoteUrl(valentine.emoteId),
                Title        = valentineName
            };

            PersistenceService.AddUserRecord(GetType().Name.ToLower(), valentine.name, Context.User.Id);

            return(new Tuple <Embed, string>(embed.Build(), prefixSuffix));
        }