예제 #1
0
        private void FindDecklist(RedditSharp.Things.Comment comment, ref string message, ref int numMatches)
        {
            _syntaxRegex = @"\d{1,2}\s[A-Z].*[a-z]\s";
            string tempMessage    = "";
            int    tempNumMatches = 0;
            int    totalAmount    = 0;

            foreach (Match match in Regex.Matches(comment.Body, _syntaxRegex))
            {
                string amountString = match.Value.Substring(0, 2);
                int    amount       = Convert.ToInt32(amountString);
                totalAmount += amount;
                string      cardName = match.Value.Trim(' ').Trim(' ').Substring(2);
                EternalCard card     = _cards.Where((x) => x.Name == cardName).FirstOrDefault();
                if (card != null)
                {
                    tempMessage += @"[" + cardName + "](" + card.ImageUrl + ") - [EWC](https://eternalwarcry.com/cards/details/" + card.SetNumber + "-" + card.EternalID + "/" + card.Name.ToLower().Replace(' ', '-') + ")  " + Environment.NewLine;
                    tempNumMatches++;
                }
            }

            if (totalAmount == 45 || totalAmount == 75)
            {
                message    += tempMessage;
                numMatches += tempNumMatches;
            }
        }
        public void ConsumeComments(string subreddit)
        {
            _syntaxRegex = @"\d{1,2}\s[A-Z].*[a-z]\s";
            string message     = "";
            int    numMatches  = 0;
            int    totalAmount = 0;

            foreach (Match match in Regex.Matches(subreddit, _syntaxRegex))
            {
                string amountString = match.Value.Substring(0, 2);
                int    amount       = Convert.ToInt32(amountString);
                totalAmount += amount;
                string      cardName = match.Value.Trim(' ').Trim(' ').Substring(2);
                EternalCard card     = _cards.Where((x) => x.Name == cardName).FirstOrDefault();
                if (card != null)
                {
                    numMatches++;
                    message += cardName + Environment.NewLine;


                    //message += @"[" + cardName + "](" + card.ImageUrl + ") - [EWC](https://eternalwarcry.com/cards/details/" + card.SetNumber + "-" + card.EternalID + "/" + card.Name.ToLower().Replace(' ', '-') + ")  " + Environment.NewLine;
                }
            }

            if (totalAmount == 45 || totalAmount == 75)
            {
                Console.WriteLine(message);
            }
        }
예제 #3
0
 private void FindCardsInBrackets(RedditSharp.Things.Comment comment, ref string message, ref int numMatches)
 {
     foreach (Match match in Regex.Matches(comment.Body, _syntaxRegex))
     {
         string      cardName = match.Value.Trim('[').Trim(']');
         EternalCard card     = _cards.Where((x) => x.Name == cardName).FirstOrDefault();
         if (card != null)
         {
             numMatches++;
             message += @"[" + cardName + "](" + card.ImageUrl + ") - [EWC](https://eternalwarcry.com/cards/details/" + card.SetNumber + "-" + card.EternalID + "/" + card.Name.ToLower().Replace(' ', '-') + ")  " + Environment.NewLine;
         }
     }
 }