public IChatEmbed MakeResponseEmbed(PokemonRaidPost post, IBotServerConfiguration guildConfig, string header)
        {
            var embed = new DiscordChatEmbed();

            embed.WithDescription(header);

            embed.WithColor(post.Color[0], post.Color[1], post.Color[2]);
            embed.WithUrl(string.Format(Language.Formats["pokemonInfoLink"], post.PokemonId));
            embed.WithThumbnailUrl(string.Format(Language.Formats["imageUrlLargePokemon"], post.PokemonId.ToString().PadLeft(3, '0')));

            foreach (var message in post.Responses.OrderBy(x => x.MessageDate).Skip(Math.Max(0, post.Responses.Count() - 10)))//max fields is 25
            {
                embed.AddField(string.Format(Language.Formats["responseInfo"], message.MessageDate.AddHours(TimeOffset), message.ChannelName, message.Username), message.Content);
            }
            //var builder = new EmbedBuilder();

            /*
             * builder.WithColor(post.Color[0], post.Color[1], post.Color[2]);
             *
             * builder.WithDescription(header);
             * builder.WithUrl(string.Format(Language.Formats["pokemonInfoLink"], post.PokemonId));
             *
             * builder.WithThumbnailUrl(string.Format(Language.Formats["imageUrlLargePokemon"], post.PokemonId.ToString().PadLeft(3, '0')));
             *
             * foreach (var message in post.Responses.OrderBy(x => x.MessageDate).Skip(Math.Max(0, post.Responses.Count() - 10)))//max fields is 25
             * {
             *  builder.AddField(string.Format(Language.Formats["responseInfo"], message.MessageDate.AddHours(TimeOffset), message.ChannelName, message.Username), message.Content);
             * }
             */
            return(embed);
        }
        public IChatEmbed GetHelpEmbed(IBotConfiguration config, bool admin)
        {
            var embed = new DiscordChatEmbed();

            string info = $"*{Language.Strings["helpParenthesis"]}*";

            if (admin)
            {
                info += $"\n\\**{Language.Strings["helpAdmin"]}*";
            }

            embed.AddField($"__**{Language.Strings["helpCommands"]}**__", info);

            embed.AddField(string.Format("{0}__r__aid [pokemon] [time left] [location]", config.Prefix), Language.Strings["helpRaid"]);
            embed.AddField(string.Format("{0}__j__oin [raid] [number]", config.Prefix), Language.Strings["helpJoin"]);
            embed.AddField(string.Format("{0}__un__join [raid]", config.Prefix), Language.Strings["helpUnJoin"]);
            embed.AddField(string.Format("{0}__d__elete [raid id]", config.Prefix), Language.Strings["helpDelete"]);
            embed.AddField(string.Format("{0}__m__erge [raid1] [raid2]", config.Prefix), Language.Strings["helpMerge"]);
            embed.AddField(string.Format("{0}__loc__ation [raid] [new location]", config.Prefix), Language.Strings["helpLocation"]);
            embed.AddField(string.Format("{0}__e__nd [raid] [new end time]", config.Prefix), Language.Strings["helpEnd"]);
            embed.AddField(string.Format("{0}__s__tart [raid] [start time]", config.Prefix), Language.Strings["helpStart"]);
            embed.AddField(string.Format("{0}__i__nfo [name]", config.Prefix), Language.Strings["helpInfo"]);
            embed.AddField(string.Format("{0}__h__elp", config.Prefix), Language.Strings["helpHelp"]);

            if (admin)
            {
                embed.AddField(string.Format("*{0}channel [name]", config.Prefix), string.Format(Language.Strings["helpChannel"], config.OutputChannel));
                embed.AddField(string.Format("*{0}nochannel", config.Prefix), Language.Strings["helpNoChannel"]);
                embed.AddField(string.Format("*{0}alias [pokemon] [alias]", config.Prefix), Language.Strings["helpAlias"]);
                embed.AddField(string.Format("*{0}removealias [pokemon] [alias]", config.Prefix), Language.Strings["helpRemoveAlias"]);
                embed.AddField(string.Format("*{0}pin [channel name]", config.Prefix), Language.Strings["helpPin"]);
                embed.AddField(string.Format("*{0}unpin [channel name]", config.Prefix), Language.Strings["helpUnPin"]);
                embed.AddField(string.Format("*{0}pinall", config.Prefix), Language.Strings["helpPinAll"]);
                embed.AddField(string.Format("*{0}unpinall", config.Prefix), Language.Strings["helpUnPinAll"]);
                embed.AddField(string.Format("*{0}pinlist", config.Prefix), Language.Strings["helpPinList"]);
                embed.AddField(string.Format("*{0}mute [channel name]", config.Prefix), Language.Strings["helpMute"]);
                embed.AddField(string.Format("*{0}unmute [channel name]", config.Prefix), Language.Strings["helpUnMute"]);
                embed.AddField(string.Format("*{0}muteall", config.Prefix), Language.Strings["helpMuteAll"]);
                embed.AddField(string.Format("*{0}unmuteall", config.Prefix), Language.Strings["helpUnMuteAll"]);
                embed.AddField(string.Format("*{0}mutelist", config.Prefix), Language.Strings["helpMuteList"]);
                embed.AddField(string.Format("*{0}timezone [gmt offset]", config.Prefix), Language.Strings["helpTimezone"]);
                embed.AddField(string.Format("*{0}culture [culture]", config.Prefix), Language.Strings["helpCulture"]);
                embed.AddField(string.Format("*{0}city [city]", config.Prefix), Language.Strings["helpCity"]);
                embed.AddField(string.Format("*{0}channelcity [channel name] [city]", config.Prefix), Language.Strings["helpChannelCity"]);
                embed.AddField(string.Format("*{0}cities", config.Prefix), Language.Strings["helpCities"]);
                embed.AddField(string.Format("*{0}place", config.Prefix), Language.Strings["helpPlace"]);
                embed.AddField(string.Format("*{0}deleteplace", config.Prefix), Language.Strings["helpDeletePlace"]);
                embed.AddField(string.Format("*{0}places", config.Prefix), Language.Strings["helpPlaces"]);
                embed.AddField(string.Format("*{0}clearplaces", config.Prefix), Language.Strings["helpClearPlaces"]);
            }

            return(embed);
        }
        public IChatEmbed MakeHeaderEmbed(PokemonRaidPost post, string text = null)
        {
            if (string.IsNullOrEmpty(text))
            {
                text = MakePostHeader(post);
            }
            var headerembed = new DiscordChatEmbed();

            headerembed.WithColor(post.Color[0], post.Color[1], post.Color[2]);
            headerembed.WithUrl(string.Format(Language.Formats["pokemonInfoLink"], post.PokemonId));
            headerembed.WithDescription(Language.RegularExpressions["discordChannel"].Replace(text, "").Replace(" in ", " ").Replace("  ", " "));

            headerembed.WithThumbnailUrl(string.Format(Language.Formats["imageUrlSmallPokemon"], post.PokemonId.ToString().PadLeft(3, '0')));

            return(headerembed);
        }