public async Task GetChangeLog(CommandContext ctx) { ChangelogFile.ConvertToJSON(); var embed = new DiscordEmbedBuilder(); var ChangeLog = ChangelogFile.DeserializeChangeLog(); embed.WithAuthor(ctx.User.Username, iconUrl: ctx.User.AvatarUrl) .WithColor(DiscordColor.Blue) .AddField("Description:", ChangeLog.Description) .AddField("Changes:", ChangeLog.Changes); await ctx.RespondAsync(embed : embed); }
public static void ConvertToJSON() { var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SilkBot", "ChangeLogs", "Unformatted"); var pathJSON = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "SilkBot", "ChangeLogs", "JSON"); var fileInfo = new DirectoryInfo(path).GetFiles().OrderBy(f => f.LastWriteTime).LastOrDefault(); var fileContent = File.ReadAllLines(fileInfo.FullName); var desc = string.Join('\n', fileContent.TakeWhile(f => (f.Length > 1))); var changes = string.Join('\n', fileContent.Skip(desc.Split('\n').Length + 1).Take(fileContent.Count() - 1)); var changeLog = new ChangelogFile { Description = desc, Changes = $"```diff\n{changes}```" }; var fileToWrite = JsonConvert.SerializeObject(changeLog, Formatting.Indented); File.WriteAllText(Path.Combine(pathJSON, $"Changelog{Directory.GetFiles(path).Length}"), fileToWrite); }