Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }