/// <summary> /// POST: api/Messages /// Receive a message from a user and reply to it /// </summary> public async Task <HttpResponseMessage> Post([FromBody] Activity activity) { if (activity.Type == ActivityTypes.Message) { if (IsSpellCorrectionEnabled) { try { activity.Text = await this.spellService.GetCorrectedTextAsync(activity.Text); } catch (Exception ex) { Trace.TraceError(ex.ToString()); } } activity.Text = TranslationHandler.DetectAndTranslate(activity); await Conversation.SendAsync(activity, () => new RootLuisDialog()); } else { this.HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }