Exemple #1
0
 public static SaluteResponse AppendText(
     this SaluteResponse response,
     SaluteRequest request,
     Phrase phrase,
     bool showBubble = false
     )
 {
     return(AppendText(response, phrase.For(request), showBubble));
 }
Exemple #2
0
        public static SaluteResponse AppendText(this SaluteResponse response, string text, bool showBubble = false)
        {
            response.Payload.PronounceText = text;
            if (showBubble)
            {
                response.Payload.Items.Add(new BubbleItem(text));
            }

            return(response);
        }
Exemple #3
0
 public static SaluteResponse AppendSuggestions(this SaluteResponse response, params string[] suggestions)
 {
     response.Payload.Suggestions = new Suggestions(suggestions);
     return(response);
 }
Exemple #4
0
 public static SaluteResponse AppendSendData(this SaluteResponse response, params object[] data)
 {
     response.Payload.Items.Add(new CommandItem(new SmartAppDataCommand(data)));
     return(response);
 }
Exemple #5
0
        public async Task Post()
        {
            string body;

            using (var reader = new StreamReader(Request.Body))
                body = await reader.ReadToEndAsync();

            if (Program.LogEnabled)
            {
                Console.WriteLine($"\n=================\n{body}\n=================\n");
            }


            var request = JsonConvert.DeserializeObject <SaluteRequest>(body, Utils.ConverterSettings);

            if (request == null)
            {
                Console.WriteLine("Request is null:");
                Console.WriteLine(body);
                await Response.WriteAsync("Request is null");

                return;
            }

#if DEBUG == true
            Console.WriteLine(string.Join(" ", request.Tokens));
            Console.WriteLine(string.Join(" ", request.Lemmas));
            Console.WriteLine(string.Join(" ", request.Numbers));
#endif

            /*if (Program.LogEnabled)
             *  _logger.LogInformation($"REQUEST:\n{JsonConvert.SerializeObject(request, Utils.ConverterSettings)}\n");*/

            try
            {
                SaluteResponse response       = _saluteService.Handle(request);
                string         stringResponse = JsonConvert.SerializeObject(response, Utils.ConverterSettings);

                if (Program.LogEnabled)
                {
                    _logger.LogInformation($"RESPONSE:\n{stringResponse}\n");
                }

                await Response.WriteAsync(stringResponse);

                return;
            }
            catch (Exception e)
            {
                _logger.LogError($"\n::: ERROR for request:\n{body}:\n{e}\n");
                Console.WriteLine(e);

                var errorResponse = new SaluteResponse(request, new SaluteResponsePayload
                {
                    PronounceText = "Произошла какая-то ошибка, разработчик уже уведомлён.",
                    Items         = new List <SItem> {
                        new BubbleItem("Произошла какая-то ошибка, разработчик уже уведомлён.")
                    }
                });

                await Response.WriteAsync(JsonConvert.SerializeObject(errorResponse, Utils.ConverterSettings));

                return;
            }
        }