private async Task YamlCommand(string cmd) { int start = cmd.IndexOf(YAML_START); int end = cmd.IndexOf(YAML_END, start + 3); if (start == -1 || end == -1 || end == start) { return; } string errMsg = string.Empty; string substring = cmd.Substring(start, (end - start)); string errorMessage = string.Empty; bool result = ValidateYaml.Validate(substring, out errorMessage); // mentioned users string mentionedUsers = base.MentionUsers(); var embed = new EmbedBuilder(); if (result == true) { embed.WithTitle(":thumbsup:"); embed.WithColor(Helper.GetRandomColor()); embed.AddField("yaml?", mentionedUsers + "Now, That's the perfectly valid YAML I'm talking about!"); } else { embed.WithTitle(":thumbsdown:"); embed.WithColor(Color.DarkRed); embed.AddField("yaml?", mentionedUsers + string.Format("Invalid YAML! Error: {1}", errorMessage)); } await ReplyAsync("", false, embed); }
public static async Task ReactToYaml(string content, SocketCommandContext context) { if (!(content.Contains(YAML_START) || content.Contains(YAML_END))) { return; } int start = content.IndexOf(YAML_START); int end = content.IndexOf(YAML_END, start + 3); if (start == -1 || end == -1 || end == start) { return; } string errMsg = string.Empty; string substring = content.Substring(start, (end - start)); bool yamlCheck = ValidateYaml.Validate(substring, out errMsg); if (yamlCheck) { var okEmoji = new Emoji(GOOD_YAML); await context.Message.AddReactionAsync(okEmoji); } else { var errorEmoji = new Emoji(BAD_YAML); await context.Message.AddReactionAsync(errorEmoji); } }