/// <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 && activity.Attachments.Count > 0) { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); var imageattachment = activity.Attachments?.FirstOrDefault(a => a.ContentType.Contains("image")); Activity reply = activity.CreateReply(await FaceHelper.UploadAndDetectFaces(imageattachment.ContentUrl)); await connector.Conversations.ReplyToActivityAsync(reply); } else { HandleSystemMessage(activity); } var response = Request.CreateResponse(HttpStatusCode.OK); return(response); }