Exemplo n.º 1
0
        private void UpdateAndroidResult()
        {
            Debug.Log("UpdateAndroidResult");
            var wrapper = androidResultWrapper;

            if (wrapper.IsReady)
            {
                var recognitionResult = wrapper.GetResult();
                androidResultWrapper = null;
                androidRecognizer.Clean();

                if (recognitionResult.IsError)
                {
                    FireOnError(new Exception(recognitionResult.ErrorMessage));
                }
                else
                {
                    var request = new AIRequest {
                        Query      = recognitionResult.RecognitionResults,
                        Confidence = recognitionResult.Confidence
                    };

                    var aiResponse = apiAi.TextRequest(request);
                    ProcessResult(aiResponse);
                }
            }
        }
Exemplo n.º 2
0
        public void DialogFlowBot_Welcome_1_0()
        {
            var response = apiAi.TextRequest(Bot.WelcomeEvent);

            Assert.IsTrue(response.Result.Metadata.IntentName.StartsWith("1.0 "));
            Assert.IsTrue(!string.IsNullOrEmpty(response.Result.Fulfillment.Speech));
            Assert.AreEqual(1, response.Result.Contexts.Count());
            Assert.AreEqual("participateyesno", response.Result.Contexts[0].Name);
        }
        public HttpResponseMessage Get()
        {
            var apiAiResponse = apiAi.TextRequest("hello");

            var twilioResponse = new TwilioResponse();

            twilioResponse.Sms(apiAiResponse.Result.Fulfillment.Speech);

            return(new HttpResponseMessage()
            {
                Content = new StringContent(twilioResponse.ToXDocument().ToString(), Encoding.UTF8, "application/xml")
            });
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.Title = "Console-ApiAi-Bot";

            for (;;)
            {
                Console.Clear();
                Console.Write("Введите запрос: ");

                var responseString = Console.ReadLine();

                if (String.IsNullOrWhiteSpace(responseString))
                {
                    Console.WriteLine("\nНапишите, пожалуйста, Ваш запрос!");
                    Console.ReadLine();
                    continue;
                }

                // Конфигурация агента Api.ai
                var config = new AIConfiguration(ClientAccessToken, SupportedLanguage.Russian);
                var apiAi  = new ApiAi(config);

                // Ответ
                var response = apiAi.TextRequest(responseString);
                if (response == null)
                {
                    continue;
                }

                Console.WriteLine("Ответ: {0}", response.Result.Fulfillment.Speech);

                Console.ReadLine();
            }
        }
Exemplo n.º 5
0
        static async void Bot_OnMessage(object sender, MessageEventArgs e)
        {
            if (e.Message.Text != null)
            {
                Console.WriteLine($"Received a text message in chat {e.Message.Chat.Id} an user name {e.Message.Chat.Username}.");

                switch (e.Message.Text)
                {
                case "/start":
                    string s = "Привет!";
                    await SendMessage(e.Message.Chat, s);

                    break;

                default:
                    var    response = apiAi.TextRequest(e.Message.Text);
                    string answer   = response.Result.Fulfillment.Speech;
                    if (answer == "")
                    {
                        answer = "Sorry,я тебя не понял.\nПовтори.";
                    }
                    await SendMessage(e.Message.Chat, answer);

                    break;
                }

                // await SendMessage(e.Message.Chat, e.Message.Text);
            }
        }
Exemplo n.º 6
0
        public AiResponseExtract ProcessUserRequest(Conversation conversation, UserRequest userRequest)
        {
            AiResponseExtract response = new AiResponseExtract();

            AIRequest aiRequest = new AIRequest(userRequest.Body);
            AIContext aiContext = new AIContext()
            {
                Name = conversation.CurrentMessage.Name
            };

            aiRequest.Contexts = new List <AIContext>()
            {
                aiContext
            };

            AIResponse aiResponse = apiAi.TextRequest(aiRequest);

            response.Intent = aiResponse.Result.Action;

            if (aiResponse.Result.Action.Contains("smalltalk"))
            {
                response.SmallTalk = true;
            }

            response.Speech = aiResponse.Result.Fulfillment.Speech;

            return(response);
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            var    config = new AIConfiguration(SUBSCRIPTION_KEY, ACCESS_TOKEN, SupportedLanguage.English);
            var    apiAi  = new ApiAi(config);
            string rl     = "";

            while (rl == "")
            {
                var sw       = Stopwatch.StartNew();
                var response = apiAi.TextRequest("hello");
                sw.Stop();

                Console.WriteLine("api sync answer: {0}, time: {1} ms", response.Result.Action, sw.ElapsedMilliseconds.ToString());

                sw = Stopwatch.StartNew();
                apiAi.TextRequestStart("hello");
                System.Threading.Thread.Sleep(250);
                response = apiAi.TextRequestFinish();
                sw.Stop();

                Console.WriteLine("api async answer: {0}, time: {1} ms", response.Result.Action, sw.ElapsedMilliseconds.ToString());


                rl = Console.ReadLine();
            }
        }
Exemplo n.º 8
0
        private void Tbc_OnMessage(object sender, Telegram.Bot.Args.MessageEventArgs e)
        {
            var response = apiai.TextRequest(e.Message.Text);

            clientMsgLog = e.Message.Chat.FirstName + ": " + e.Message.Text + "\r\n";


            //if(response.Result.Action == "input.welcome")
            //{

            //}

            //else
            //{
            string moodIdx = GetMood(response);

            if (moodIdx != null)
            {
                clientMsgLog += "Bot(mood message): " + moodIdx + "\r\n";
                tbc.SendTextMessageAsync(e.Message.Chat.Id, emotionMsgsDB[moodIdx]);
                SendAudioFile(emotionFilesDB[moodIdx], e.Message.Chat.Id, emotionFilesDB[moodIdx]);
            }
            else
            {
                tbc.SendTextMessageAsync(e.Message.Chat.Id, response.Result.Fulfillment.Speech);
                clientMsgLog += "Bot: " + response.Result.Fulfillment.Speech + "\r\n";
            }
            //}
        }
Exemplo n.º 9
0
        public static async void Execute(object sender, Telegram.Bot.Args.MessageEventArgs e)
        {
            if (e?.Message?.Type != MessageType.Text || Commands.Contains(e?.Message?.Text) ||
                GetLocationCommand.keyboardButton.Contains(e?.Message?.Text))
            {
                return;
            }

            var transate = client.TranslateText(e?.Message?.Text, LanguageCodes.English, LanguageCodes.Russian);
            var message  = GetCityWeather(transate?.TranslatedText);

            if (!String.IsNullOrEmpty(message))
            {
                await Bot.client.SendTextMessageAsync(e?.Message?.From?.Id,
                                                      $"<em>Температура в {e?.Message?.Text}</em> {message}.", ParseMode.Html);
            }
            else
            {
                var response = apiAi.TextRequest(e?.Message?.Text);
                message = response.Result.Fulfillment.Speech;

                if (String.IsNullOrEmpty(message))
                {
                    message = "Не понимаю.";
                }

                await Bot.client.SendTextMessageAsync(e?.Message?.From?.Id, message);
            }
        }
Exemplo n.º 10
0
        private async void InstantMessageReceived(object sender, MessageSentEventArgs e)
        {
            var    text = e.Text.Replace(Environment.NewLine, string.Empty);
            string myRemoteParticipantUri = (sender as InstantMessageModality).Endpoint.Uri.Replace("sip:", string.Empty);
            var    username_string        = (sender as InstantMessageModality).Participant.Contact.GetContactInformation(ContactInformationType.DisplayName);;

            try
            {
                //LogMessage(myRemoteParticipantUri, text);
                string strResult = "";
                apiAi = Get_apiai_object_from_username(myRemoteParticipantUri);

                List <AIContext> aicontext = new List <AIContext>();
                AIContext        user_info = new AIContext();
                user_info.Name = "skype_username="******"speech"].ToString();
                strResult = ret_text;

                (sender as InstantMessageModality).BeginSendMessage(strResult, null, null);
            }
            catch (Exception ex)
            {
                //LogMessage(myRemoteParticipantUri, ex.Message);
            }
        }
Exemplo n.º 11
0
        private void OnTextMessaged(string agentId, WebhookMessage <WebhookTextMessage> message)
        {
            Console.WriteLine($"OnTextMessaged: {message.Message.Text}");

            var ai    = new ApiAi();
            var agent = ai.LoadAgent(agentId);

            ai.AiConfig = new AIConfiguration(agent.ClientAccessToken, SupportedLanguage.English)
            {
                AgentId = agentId
            };
            ai.AiConfig.SessionId = message.Sender.Id;
            var aiResponse = ai.TextRequest(new AIRequest {
                Query = new String[] { message.Message.Text }
            });

            var dc     = new DefaultDataContextLoader().GetDefaultDc();
            var config = dc.Table <AgentIntegration>().FirstOrDefault(x => x.AgentId == agentId && x.Platform == "Facebook Messenger");

            SendTextMessage(config.AccessToken, new WebhookMessage <WebhookTextMessage>
            {
                Recipient = message.Sender.ToObject <WebhookMessageRecipient>(),
                Message   = new WebhookTextMessage
                {
                    Text = String.IsNullOrEmpty(aiResponse.Result.Fulfillment.Speech) ? aiResponse.Result.Action : aiResponse.Result.Fulfillment.Speech
                }
            });
        }
Exemplo n.º 12
0
        public void TextRequest()
        {
            var ai    = new ApiAi();
            var agent = ai.LoadAgent(BOT_ID);

            ai.AiConfig = new AIConfiguration(agent.ClientAccessToken, SupportedLanguage.English)
            {
                AgentId = BOT_ID
            };
            ai.AiConfig.SessionId = Guid.NewGuid().ToString();

            // Round 1
            var response = ai.TextRequest(new AIRequest {
                Query = new String[] { "Can you play country music?" }
            });

            Assert.AreEqual(response.Result.Metadata.IntentName, "music.play");
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 5);
            Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "genre").Value, "country");

            // Round 2
            response = ai.TextRequest(new AIRequest {
                Query = new String[] { "pause it" }
            });
            Assert.AreEqual(response.Result.Metadata.IntentName, "music_player_control.pause");
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 4);

            // Round 3
            response = ai.TextRequest(new AIRequest {
                Query = new String[] { "continue" }
            });
            Assert.AreEqual(response.Result.Metadata.IntentName, "music_player_control.resume");
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 3);

            // Round 4
            response = ai.TextRequest(new AIRequest {
                Query = new String[] { "play Hard Times by David Newman" }
            });
            Assert.AreEqual(response.Result.Metadata.IntentName, "music.play");
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "music-player-control").Lifespan, 3);
            Assert.AreEqual(response.Result.Contexts.First(x => x.Name == "play-music").Lifespan, 5);
            Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "song").Value, "Hard Times");
            Assert.AreEqual(response.Result.Parameters.First(x => x.Key == "artist").Value, "David Newman");
        }
Exemplo n.º 13
0
        public static string MessageAi(string messageText)
        {
            Apiai = new ApiAi(config);
            var    response = Apiai.TextRequest(messageText);
            string message  = response.Result.Fulfillment.Speech;

            return(message);
        }
Exemplo n.º 14
0
        public AIResponse postApiAi(string messageText)
        {
            var config = new AIConfiguration(apiAiToken,
                                             SupportedLanguage.Spanish);
            ApiAi apiAi    = new ApiAi(config);
            var   response = apiAi.TextRequest(messageText);

            return(response);
        }
Exemplo n.º 15
0
        public string Response()
        {
            var config = new AIConfiguration("c3e6138548984161bd501920dc0ea0d5", SupportedLanguage.Dutch);

            apiAi = new ApiAi(config);

            var response = apiAi.TextRequest("Ik ben opzoek naar het jaarrooster.");

            return(response.Result.Fulfillment.Speech);
        }
Exemplo n.º 16
0
        public string Preguntar(string texto)
        {
            var config = new AIConfiguration("21958005f5f248369e6c263abe7d1572 ", SupportedLanguage.Spanish);

            apiAi = new ApiAi(config);
            var    response  = apiAi.TextRequest(texto);
            string Respuesta = response.Result.Fulfillment.Speech;

            return(Respuesta);
        }
Exemplo n.º 17
0
        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            var activity = await result as Activity;

            var aiResponse = apiAi.TextRequest(string.IsNullOrWhiteSpace(activity.Text) ? "hello" : activity.Text);

            await context.PostAsync(aiResponse.Result.Fulfillment.Speech);

            context.Wait(MessageReceivedAsync);
        }
Exemplo n.º 18
0
        public static string GetDialogFlowAnswer(string message)
        {
            var config = new AIConfiguration("564e2b6d00424a6ab05ba53cd57b585c", SupportedLanguage.English);

            apiAi = new ApiAi(config);

            var responseString = apiAi.TextRequest(message);

            return(responseString.Result.Fulfillment.Speech);
        }
Exemplo n.º 19
0
        public String postApiAi(string messageText)
        {
            var config = new AIConfiguration(apiAiToken,
                                             SupportedLanguage.English);

            apiAi = new ApiAi(config);
            var response = apiAi.TextRequest(messageText);

            return(response.Result.Fulfillment.Speech);
        }
Exemplo n.º 20
0
        public ActionResult SendTextMessage(String text)
        {
            if (apiAi == null)
            {
                var config = new AIConfiguration("2fe096a4e267427c9d3443810a7b82e2", SupportedLanguage.English);
                apiAi = new ApiAi(config);
            }

            RequestExtras re = new RequestExtras();

            re.Contexts = (List <AIContext>)HttpContext.Session["Contexts"];

            AIResponse response = apiAi.TextRequest(text, re);

            if (response.IsError)
            {
                Console.Out.Write("There is an error");

                return(Json(new
                {
                    Response = "error"
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                Console.Out.Write(response.Result.Fulfillment.Speech);

                if (response.Result.Contexts != null)
                {
                    contexts = new List <AIContext>();

                    foreach (var aoc in response.Result.Contexts.ToList())
                    {
                        AIContext ac = new AIContext();

                        ac.Lifespan   = aoc.Lifespan;
                        ac.Name       = aoc.Name;
                        ac.Parameters = aoc.Parameters.ToDictionary(k => k.Key, k => k.Value.ToString());;

                        contexts.Add(ac);
                    }
                }
                else
                {
                    contexts = null;
                }

                HttpContext.Session["Contexts"] = contexts;

                return(Json(new
                {
                    Response = response.Result.Fulfillment.Speech
                }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 21
0
        static void Main(string[] args)
        {
            //System.Console.WriteLine("here1");
            //mysqlpiContext mc = new mysqlpiContext();


            //buisness b = new buisness();
            //b.name = "test final";

            /*mc.buisnesses.Add(b);
             * mc.SaveChanges();*/
            //IServiceBusiness service = new ServiceBusiness();
            //service.Add(b);
            //service.commit();
            //System.Console.WriteLine("here2");
            //System.Console.Read();

            ApiAi ai;
            var   config = new AIConfiguration("2b4219f782904d6a996efcc54b5742fe", SupportedLanguage.English);

            ai = new ApiAi(config);

            while (true)
            {
                System.Console.WriteLine("Say something");
                string input = System.Console.ReadLine();
                if (input == "0")
                {
                    break;
                }
                var response = ai.TextRequest(input);
                System.Console.WriteLine("========Context Debug============");
                foreach (var context in response.Result.Contexts)
                {
                    System.Console.WriteLine("context : " + context.Name);
                    System.Console.WriteLine("Parameters : {");

                    foreach (KeyValuePair <string, object> pair in context.Parameters)
                    {
                        System.Console.WriteLine(pair.Key);
                        System.Console.WriteLine(pair.Value);
                    }
                }
                System.Console.WriteLine("}\n=========End Debug=======");
                System.Console.WriteLine(response.Result.Fulfillment.Speech);
                if (response.Result.GetStringParameter("subject") != "" &&
                    response.Result.GetStringParameter("description") != "")
                {
                    System.Console.WriteLine("subject : " + response.Result.GetStringParameter("subject"));
                    System.Console.WriteLine("description : " + response.Result.GetStringParameter("description"));
                    break;
                }
            }
            System.Console.ReadLine();
        }
Exemplo n.º 22
0
        private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result)
        {
            var activity = await result as Activity;
            var config   = new AIConfiguration("6a867e192476428b8df2fab998464b57", SupportedLanguage.English);
            var apiAi    = new ApiAi(config);
            var response = apiAi.TextRequest(activity.Text);
            // return our reply to the user
            await context.PostAsync($"{response.Result.Fulfillment.Speech}");

            context.Wait(MessageReceivedAsync);
        }
Exemplo n.º 23
0
        public List <ValidateUser> ValidateUser(string sUserName, string sPassword)
        {
            var config = new AIConfiguration(ACCESS_TOKEN, SupportedLanguage.English);

            var apiAi = new ApiAi(config);

            var response = apiAi.TextRequest("hh");
            List <ValidateUser> objvalidate = new List <ValidateUser>();

            return(objvalidate.ToList());
        }
Exemplo n.º 24
0
        static async Task SendApiAiResponse(Message message)
        {
            var    response = apiAi.TextRequest(message.Text);
            string answer   = response.Result.Fulfillment.Speech;

            if (answer == "")
            {
                answer = "Cant understand";
            }
            await Bot.SendTextMessageAsync(message.From.Id, answer);
        }
Exemplo n.º 25
0
        internal static string API_Connection_Action(string text)
        {
            ApiAi api;

            var AIconfiguration = new AIConfiguration(Constants.APIAI_SUBSCRIPTION_ID, SupportedLanguage.English);

            api = new ApiAi(config: AIconfiguration);
            var response = api.TextRequest(text);

            return(response.Result.Action.ToString());
        }
Exemplo n.º 26
0
        internal static string API_Response(string text)
        {
            ApiAi apiAi;

            var config = new AIConfiguration(Constants.APIAI_SUBSCRIPTION_ID, SupportedLanguage.English);

            apiAi = new ApiAi(config);

            var resposne = apiAi.TextRequest(text);

            return(resposne.Result.Fulfillment.Speech);
        }
Exemplo n.º 27
0
        public async Task <AiResponseModel> SendMessage(string message)
        {
            var response = await new TaskFactory <AIResponse>().StartNew(() => _ai.TextRequest(message));
            var result   = new AiResponseModel
            {
                Speech     = response.Result.Fulfillment.Speech,
                Action     = response.Result.Action,
                Parameters = response.Result.Parameters
            };

            return(result);
        }
Exemplo n.º 28
0
        public void TextRequestTest()
        {
            var config = new AIConfiguration(SUBSCRIPTION_KEY, ACCESS_TOKEN, SupportedLanguage.English);

            var apiAi = new ApiAi(config);

            var response = apiAi.TextRequest("hello");

            Assert.IsNotNull(response);
            Assert.AreEqual("greeting", response.Result.Action);
            Assert.AreEqual("Hi! How are you?", response.Result.Fulfillment.Speech);
        }
Exemplo n.º 29
0
		public void TextRequestTest()
		{
			var config = new AIConfiguration(SUBSCRIPTION_KEY, ACCESS_TOKEN, SupportedLanguage.English);

			var apiAi = new ApiAi(config);

			var response = apiAi.TextRequest("hello");

			Assert.IsNotNull(response);
			Assert.AreEqual("greeting", response.Result.Action);
            Assert.AreEqual("Hi! How are you?", response.Result.Fulfillment.Speech);
		}
Exemplo n.º 30
0
        public string Talk(string message)
        {
            AIConfiguration config   = new AIConfiguration("fdca237ae6ce426a96ea3156a992feb0", SupportedLanguage.Russian);
            var             responce = apiAi.TextRequest(message);
            string          answer   = responce.Result.Fulfillment.Speech;

            if (answer == "")
            {
                answer = "Я тебя не понял";
            }

            return(answer);
        }
Exemplo n.º 31
0
        public static string GetResponse(string inputMessage)
        {
            var   config = new AIConfiguration(ConfigurationManager.AppSettings["ApiAi-ClientAccessToken"], SupportedLanguage.English);
            ApiAi apiAi  = new ApiAi(config);

            RequestExtras extras      = new RequestExtras(contexts, entities);
            var           response    = apiAi.TextRequest(inputMessage, extras);
            var           outcontexts = response.Result.Contexts;

            var output = response.Result.Fulfillment.Speech;

            return(output);
        }