Exemplo n.º 1
0
        protected override ITwitterResponseMessage ImplementRespond()
        {
            var responseText = string.Format(
                Message,
                Tweet.user.screen_name,
                TwitterOptions.CommandLink);

            var responseMessage = new TwitterResponseMessage(
                responseText);

            return(responseMessage);
        }
Exemplo n.º 2
0
        protected override ITwitterResponseMessage ImplementRespond()
        {
            var message = Tweet.truncated.HasValue && Tweet.truncated.Value
                ? Tweet.extended_tweet.full_text
                : Tweet.text;

            var regex = new Regex(RegExPattern);

            var matches = regex.Matches(message);

            var dieType = DefaultDieTypeName;
            var result  = 0;

            if (matches.Any())
            {
                var matchValue = matches
                                 .First()
                                 .Value
                                 .ToLower();

                var halves = matchValue.Split(DieIdentifier);

                if (halves.Count() == 2 &&
                    int.TryParse(halves[0], out var dieNum) &&
                    int.TryParse(halves[1], out var dieSize))
                {
                    dieType = matchValue;

                    result = Roll(
                        dieNum,
                        dieSize);
                }
                else
                {
                    result = RollDefault();
                }
            }
            else
            {
                result = RollDefault();
            }

            var response = new TwitterResponseMessage(
                string.Format(ResponseMessage, Tweet.user.screen_name, dieType, result));

            return(response);
        }