private static async Task ForwardConversationToBotAsync(ITurnContext context) { await DirectLineApi.SendActivityToBot(context.Activity); var answer = await DirectLineApi.ReceiveActivity(); await context.SendActivity(answer); }
private static async Task StartNewBotConversationAsync(ITurnContext context) { _currentBot = context.Activity.Text.ToLower(); await DirectLineApi.StartConversation(_botData.directLine.Where(x => x.name.ToLower() == _currentBot).Select(x => x.secret).First()); await context.SendActivity($"You are now connected to {_currentBot}!"); }
public void ProcessRequest(HttpContext context) { HttpRequest Request = context.Request; HttpResponse Response = context.Response; string RawUrl = Request.RawUrl; string splitter = "/?"; string SubRawUrl = RawUrl.Substring(RawUrl.IndexOf(splitter) + splitter.Length); string[] Parameters = SubRawUrl.Split('/'); JavaScriptSerializer jc = new JavaScriptSerializer(); DirectLineApi apiData = new DirectLineApi(); if (Request.RequestType == "POST") { if (Request.ContentType.Contains("application/json")) { if ("getToken".Equals(Parameters[1])) { try { dynamic tokenData = apiData.getDirectLineToken(); apiData.ConversationId = tokenData.conversationId; apiData.ConversationToken = tokenData.token; } catch (Exception e) { } Response.Write(jc.Serialize(apiData)); Response.ContentType = "application/json"; } else if ("botToUser".Equals(Parameters[1])) { try { string conv = apiData.getConversation(Parameters[2], Parameters[3]); Response.Write(conv); Response.ContentType = "application/json"; } catch (Exception e) { Response.Write(""); Response.ContentType = "application/json"; } } else if ("userToBot".Equals(Parameters[1])) { try { string msg; using (var reader = new StreamReader(Request.InputStream)) { dynamic objJson = JsonConvert.DeserializeObject(reader.ReadToEnd()); msg = objJson.text.Value; } apiData.sendMsgToBot(Parameters[2], msg); Response.Write(jc.Serialize("{success:true}")); Response.ContentType = "application/json"; } catch (Exception e) { Response.Write(jc.Serialize("{success:false}")); Response.ContentType = "application/json"; } } } } }