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