Вот код, который я использую: < /p>
var tableData = reportData.Projects
.OrderByDescending(x => x.TotalTimelogLW)
.Take(input.TopN ?? 10)
.Select(x => new
{
Project = x.Name,
Members = string.Join(", ", x.Members),
LastWeekHours = $"{x.TotalTimelogLW:0.0}h",
LastMonthHours = $"{x.TotalTimelogLM:0.0}h"
})
.ToList();
int maxProjectLength = Math.Max(("Project").Length, tableData.Max(x => x.Project.Length)) + 2;
int maxMembersLength = Math.Max(("Members").Length, tableData.Max(x => x.Members.Length)) + 2;
int maxWeekLength = Math.Max(("Last Week").Length, tableData.Max(x => x.LastWeekHours.Length)) + 2;
int maxMonthLength = Math.Max(("Last Month").Length, tableData.Max(x => x.LastMonthHours.Length)) + 2;
var sb = new System.Text.StringBuilder();
sb.AppendLine($"| {"Project".PadRight(maxProjectLength)} | {"Members".PadRight(maxMembersLength)} | {"Last Week".PadRight(maxWeekLength)} | {"Last Month".PadRight(maxMonthLength)} |");
int totalSeparatorLength = maxProjectLength + maxMembersLength + maxWeekLength + maxMonthLength + 13;
sb.AppendLine(new string('-', totalSeparatorLength));
foreach (var item in tableData)
{
sb.AppendLine($"| {item.Project.PadRight(maxProjectLength)} | {item.Members.PadRight(maxMembersLength)} | {item.LastWeekHours.PadRight(maxWeekLength)} | {item.LastMonthHours.PadRight(maxMonthLength)} |");
}
var messageText = $"
Console.WriteLine(messageText);
_discordService.NotifyToChannel(webhookUrl, messageText);
< /code>
Консоль вывод (правильно)
Таблица выглядит выровненной в консоли. Вот зарегистрированный вывод:
discord owput (misaligned)
Однако, когда отправляется в Discord через Webhook, таблица появляется в замешанной:
Подробнее здесь: https://stackoverflow.com/questions/797 ... m-platform