Example #1
0
        private static async Task ForwardConversationToBotAsync(ITurnContext context)
        {
            await DirectLineApi.SendActivityToBot(context.Activity);

            var answer = await DirectLineApi.ReceiveActivity();

            await context.SendActivity(answer);
        }
Example #2
0
        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";
                        }
                    }
                }
            }
        }