Exemple #1
0
        public async void Process(TwitchClient client, string username, string commandText, bool isMod, JoinedChannel joinedChannel)
        {
            var parsed  = int.TryParse(commandText, out var quoteId);
            var request = new GetQuoteRequest
            {
                QuoteId = parsed ? quoteId : (int?)null
            };

            var quote = await _quoteApiClient.GetQuote(request);

            if (quote == null)
            {
                client.SendMessage(joinedChannel,
                                   $"Hey @{username}, I had some trouble getting that Quote, please try again soon");
                return;
            }

            client.SendMessage(joinedChannel,
                               $"Hey @{username}, Here is Quote {quote.Quote.QuoteId}: {quote.Quote.QuoteText}");
        }
        public async Task <IActionResult> SendQuote([FromBody] QuoteActionModel quoteActionModel)
        {
            try
            {
                if (ModelState.IsValid && HttpContext.User.Identity.IsAuthenticated)
                {
                    var quote = await _quoteApiClient.GetQuote(new GetQuoteRequest
                    {
                        QuoteId = quoteActionModel.QuoteId
                    });

                    var client = _twitchClientFactory.Get();
                    client.SendMessage(_configService.Get <string>("StreamerChannel"),
                                       $"Hey @{HttpContext.User.Identity.Name}, Here is Quote {quote.Quote.QuoteId}: {quote.Quote.QuoteText}");
                    return(Ok());
                }
            }
            catch (Exception) { }

            return(BadRequest());
        }