private async Task RespondWithRule(CommandContext context, Entry resultEntry)
        {
            _logger.LogInformation("Responding to the rule request, {@resultEntry}", resultEntry);

            var builder = new DiscordEmbedBuilder();

            builder.WithColor(GetColor(resultEntry.Type));
            builder.WithTitle(resultEntry.Name);
            builder.WithFooter($"{resultEntry.Source} pg.{resultEntry.Page}");

            builder.WithDescription(resultEntry.Description.TruncateForDisplay(2048, "(more)"));

            if (resultEntry.Examples != null && resultEntry.Examples.Length > 0)
            {
                var sb = new StringBuilder();
                foreach (string example in resultEntry.Examples)
                {
                    sb.AppendLine($"> {example}");
                }

                builder.AddField("Examples", sb.ToString());
            }

            if (!string.IsNullOrWhiteSpace(resultEntry.Note))
            {
                builder.AddField("Note", resultEntry.Note);
            }
            if (!string.IsNullOrWhiteSpace(resultEntry.Calling))
            {
                builder.AddField("Calling", resultEntry.Calling);
            }
            if (!string.IsNullOrWhiteSpace(resultEntry.InnatePower))
            {
                builder.AddField("Innate Power", resultEntry.InnatePower);
            }

            DiscordEmbed response = builder.Build();

            await context.RespondAsync(embed : response);

            _logger.LogInformation("Building tables");

            foreach (Table table in resultEntry.Tables)
            {
                var tableBuilder = new StringBuilder();
                var renderer     = new TableRenderer();

                if (table.Headers != null)
                {
                    renderer.SetHeader(table.Headers);
                }

                foreach (Row row in table.Rows)
                {
                    renderer.AddRow(row.Columns);
                }

                tableBuilder.AppendLine();
                tableBuilder.AppendLine(Formatter.BlockCode(renderer.Build()));
                await context.RespondAsync(tableBuilder.ToString());
            }
        }