public override SpeechletResponse OnLaunch(LaunchRequest request, Session session)
        {
            string SkillName = _informationSkillSerive.GetSkillName(session.Application.Id);
            string speechOutput;
            bool   shouldSessionEnd = false;

            try
            {
                speechOutput = _informationSkillSerive.GetWelcomeMessage(session.Application.Id);
                if (String.IsNullOrWhiteSpace(speechOutput))
                {
                    IntentMessageModel intentMessageModel = _informationSkillSerive.GetAnyIntentMessage(session.Application.Id, session.User.Id);
                    if (intentMessageModel != null)
                    {
                        speechOutput     = intentMessageModel.Mesasge;
                        shouldSessionEnd = intentMessageModel.ShouldEndSession;
                    }
                }
            }
            catch (Exception e)
            {
                speechOutput = e.Message;
            }
            if (speechOutput == null)
            {
                speechOutput = "Willkommen";
            }

            return(BuildSpeechletResponse(SkillName, speechOutput, shouldSessionEnd, request, null, session));
        }
示例#2
0
        private Task <IActionResult> NewSession(SkillRequest request, LaunchRequest launchRequest)
        {
            var sessionExists = Database.Context.Moves
                                .Where(s => s.AlexaSessionId == request.Session.SessionId)
                                .SingleOrDefault() != null;

            if (sessionExists)
            {
                Logger.LogError("New session with existing session value {0}", request.Session.SessionId);
                return(InternalError());
            }

            var response = ResponseBuilder.Ask(
                new SsmlOutputSpeech {
                Ssml = @"<speak>Ciao da <emphasis level=""moderate"">Cody Maze</emphasis>.
Raggiungi uno spazio lungo il bordo della scacchiera.
Poi dimmi le coordinate che hai scelto.</speak>"
            },
                new Reprompt {
                OutputSpeech = new SsmlOutputSpeech {
                    Ssml = @"<speak>Quali sono le <emphasis level=""moderate"">coordinate</emphasis> dello spazio in cui ti trovi?</speak>"
                }
            }
                );

            return(Task.FromResult <IActionResult>(Ok(response)));
        }
示例#3
0
        public static void PrepareStart()
        {
            InitializeRequest initializeRequest = new InitializeRequest();

            initializeRequest.arguments.clientID                     = "vscode";
            initializeRequest.arguments.clientName                   = "Visual Studio Code";
            initializeRequest.arguments.adapterID                    = "coreclr";
            initializeRequest.arguments.pathFormat                   = "path";
            initializeRequest.arguments.linesStartAt1                = true;
            initializeRequest.arguments.columnsStartAt1              = true;
            initializeRequest.arguments.supportsVariableType         = true;
            initializeRequest.arguments.supportsVariablePaging       = true;
            initializeRequest.arguments.supportsRunInTerminalRequest = true;
            initializeRequest.arguments.locale = "en-us";
            Assert.True(VSCodeDebugger.Request(initializeRequest).Success);

            LaunchRequest launchRequest = new LaunchRequest();

            launchRequest.arguments.name          = ".NET Core Launch (console) with pipeline";
            launchRequest.arguments.type          = "coreclr";
            launchRequest.arguments.preLaunchTask = "build";
            launchRequest.arguments.program       = DebuggeeInfo.TargetAssemblyPath;
            // NOTE this code works only with one source file
            launchRequest.arguments.cwd                    = Directory.GetParent(DebuggeeInfo.SourceFilesPath).FullName;
            launchRequest.arguments.console                = "internalConsole";
            launchRequest.arguments.stopAtEntry            = true;
            launchRequest.arguments.internalConsoleOptions = "openOnSessionStart";
            launchRequest.arguments.__sessionId            = Guid.NewGuid().ToString();
            Assert.True(VSCodeDebugger.Request(launchRequest).Success);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static SpeechletRequestEnvelope FromJson(JObject json)
        {
            if (json["version"] != null && json.Value <string>("version") != Sdk.VERSION)
            {
                throw new SpeechletException("Request must conform to 1.0 schema.");
            }

            SpeechletRequest request;
            JObject          requestJson = json.Value <JObject>("request");
            string           requestType = requestJson.Value <string>("type");
            string           requestId   = requestJson.Value <string>("requestId");
            DateTime         timestamp   = requestJson.Value <DateTime>("timestamp");
            string           token       = requestJson.Value <string>("token");
            long             offset      = requestJson.Value <long>("offsetInMilliseconds");
            string           type        = requestJson.Value <string>("type");

            switch (requestType)
            {
            case "LaunchRequest":
                request = new LaunchRequest(requestId, timestamp);
                break;

            case "IntentRequest":
                request = new IntentRequest(requestId, timestamp,
                                            Intent.FromJson(requestJson.Value <JObject>("intent")));
                break;

            case "SessionStartedRequest":
                request = new SessionStartedRequest(requestId, timestamp);
                break;

            case "SessionEndedRequest":
                SessionEndedRequest.ReasonEnum reason;
                Enum.TryParse <SessionEndedRequest.ReasonEnum>(requestJson.Value <string>("reason"), out reason);
                request = new SessionEndedRequest(requestId, timestamp, reason);
                break;

            default:
                if (requestType.StartsWith("PlaybackController") || requestType.StartsWith("AudioPlayer"))
                {
                    request = new AudioPlayerRequest(requestId, timestamp, token, offset, type);
                }
                else if (requestType == "System.ExceptionEncountered")
                {
                    request = null;
                }
                else
                {
                    throw new ArgumentException("json");
                }
                break;
            }

            return(new SpeechletRequestEnvelope {
                Request = request,
                Session = Session.FromJson(json.Value <JObject>("session")),
                Version = json.Value <string>("version"),
                Context = Context.FromJson(json.Value <JObject>("context"))
            });
        }
示例#5
0
        public void PrepareStart(string caller_trace)
        {
            InitializeRequest initializeRequest = new InitializeRequest();

            initializeRequest.arguments.clientID                     = "vscode";
            initializeRequest.arguments.clientName                   = "Visual Studio Code";
            initializeRequest.arguments.adapterID                    = "coreclr";
            initializeRequest.arguments.pathFormat                   = "path";
            initializeRequest.arguments.linesStartAt1                = true;
            initializeRequest.arguments.columnsStartAt1              = true;
            initializeRequest.arguments.supportsVariableType         = true;
            initializeRequest.arguments.supportsVariablePaging       = true;
            initializeRequest.arguments.supportsRunInTerminalRequest = true;
            initializeRequest.arguments.locale = "en-us";
            Assert.True(VSCodeDebugger.Request(initializeRequest).Success,
                        @"__FILE__:__LINE__" + "\n" + caller_trace);

            LaunchRequest launchRequest = new LaunchRequest();

            launchRequest.arguments.name                   = ".NET Core Launch (console) with pipeline";
            launchRequest.arguments.type                   = "coreclr";
            launchRequest.arguments.preLaunchTask          = "build";
            launchRequest.arguments.program                = ControlInfo.TargetAssemblyPath;
            launchRequest.arguments.cwd                    = "";
            launchRequest.arguments.console                = "internalConsole";
            launchRequest.arguments.stopAtEntry            = true;
            launchRequest.arguments.internalConsoleOptions = "openOnSessionStart";
            launchRequest.arguments.__sessionId            = Guid.NewGuid().ToString();
            Assert.True(VSCodeDebugger.Request(launchRequest).Success,
                        @"__FILE__:__LINE__" + "\n" + caller_trace);
        }
示例#6
0
 public void LogRequest(LaunchRequest request, Session session, string resultMessage)
 {
     if (request == null)
     {
         return;
     }
     LogRequestToDb(AlexaRequestType.LaunchRequest, session.Application.Id, session.User.Id, null, null, resultMessage);
 }
示例#7
0
        static SkillResponse HandleLaunchRequest(LaunchRequest request, Session session)
        {
            var reprompt = new Repr($"Ad esempio puoi dirmi, {BreakStrong} Quando sarà il prossimo evento? Oppure, {BreakStrong} Quali sono i dettagli del prossimo evento?".ToSsmlSpeech());
            var response = ResponseBuilder.Ask("Ciao! Benvenuto in KLab Community. Cosa desideri sapere?".ToSsmlSpeech(), reprompt);

            response.Response.ShouldEndSession = false;
            return(response);
        }
示例#8
0
        private SkillResponse GetResponse(LaunchRequest launchRequest)
        {
            var response = CreateResponse("Roxanne is here. What can I do for you");

            response.Response.ShouldEndSession = false;

            return(response);
        }
示例#9
0
 private void Launch(LaunchRequest request)
 {
     cubePool.Get().GetComponent <FloatingCube>().Launch(request.sprite, request.start, request.target, lifetime);
     if (requests.Count > 0)
     {
         timer = maxTimer;
     }
 }
        public override async Task <SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session)
        {
            this.Log.LaunchStart(launchRequest, session);

            var welcomeSpeechlet = new SpeechletFactory(session).CreateWelcome();

            return(await welcomeSpeechlet.RespondAsync());
        }
示例#11
0
        /// <summary>
        /// Handles the launch request
        /// </summary>
        /// <param name="launchParams"></param>
        /// <param name="requestContext"></param>
        /// <returns></returns>
        protected async Task HandleLaunchRequest(LaunchRequest launchParams, RequestContext <LaunchResponse> requestContext)
        {
            Logger.Write(LogLevel.Normal, "HandleLaunchRequest");

            // Call all tasks that registered on the initialize request
            var launchTasks = launchCallbacks.Select(t => t(launchParams, requestContext));
            await Task.WhenAll(launchTasks);
        }
示例#12
0
        /// <summary>
        /// Handles when the user calls the skill name
        /// </summary>
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = "Hello! You can ask me if someone is in the office if you want."
            });

            return(response);
        }
示例#13
0
        public override SpeechletResponse OnLaunch(LaunchRequest request, Session session)
        {
            string speechOutput;
            bool   shouldSessionEnd = false;

            speechOutput = "Hi, ich bins Peter Ludwig, was kann ich für dich tun?";

            return(BuildSpeechletResponse("Kerntemperaturen", speechOutput, shouldSessionEnd, request, null, session));
        }
        public override async Task <SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session)
        {
            if (AlexaUtils.IsRequestInvalid(session))
            {
                return(await Task.FromResult <SpeechletResponse>(InvalidApplicationId(session)));
            }

            return(await Task.FromResult <SpeechletResponse>(GetOnLaunchAsyncResult(session)));
        }
示例#15
0
        protected void Launch(DebuggerStartInfo startInfo)
        {
            pauseWhenFinished = !startInfo.CloseExternalConsoleOnExit;
            StartDebugAgent();
            LaunchRequest launchRequest = CreateLaunchRequest(startInfo);

            protocolClient.SendRequestSync(launchRequest);
            protocolClient.SendRequestSync(new ConfigurationDoneRequest());
        }
示例#16
0
        public override SpeechletResponse OnLaunch(LaunchRequest request, Session session)
        {
            string speechOutput;
            bool   shouldSessionEnd = false;

            speechOutput = "Willkommen bei dem Kerntermperatur Skill für alle Grill und Koch begeisterten. Für welches Fleisch möchtest du die Kerntemperaturen wissen?";

            return(BuildSpeechletResponse("Kerntemperaturen", speechOutput, shouldSessionEnd, request, null, session));
        }
示例#17
0
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            logger.LogLine($"LaunchRequest made");
            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = $"Welcome! This is a perfect working speach to program program."
            });

            return(response);
        }
        public Task <SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session, Context context)
        {
            var resp = new SpeechletResponse();

            resp.ShouldEndSession = false;
            resp.OutputSpeech     = new PlainTextOutputSpeech()
            {
                Text = "Welcome to the Couchbase booth. Ask me about Couchbase."
            };
            return(Task.FromResult(resp));
        }
示例#19
0
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            logger.LogLine($"LaunchRequest made");

            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = "Welcome! I am Lisa, You can ask me anything about DevOps."
            });

            return(response);
        }
示例#20
0
        private Task <SkillResponse> HandleWelcomeAsync(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = "What launch do you want to learn about?"
            });

            response.Response.ShouldEndSession = false;

            return(Task.FromResult(response));
        }
示例#21
0
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            logger.LogLine($"LaunchRequest made");

            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = "Welcome! You can ask me to say hello world."
            });

            return(response);
        }
示例#22
0
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            logger.LogLine($"LaunchRequest made");

            var response = ResponseBuilder.Tell(new PlainTextOutputSpeech()
            {
                Text = "Alexa, please tell me you're working!"
            });

            return(response);
        }
示例#23
0
        protected override LaunchRequest CreateLaunchRequest(DebuggerStartInfo startInfo)
        {
            var properties = new Dictionary <string, JToken>();

            properties.Add("args", JToken.FromObject(startInfo.Arguments.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)));
            properties.Add("program", JToken.FromObject(startInfo.Command));
            var result = new LaunchRequest();

            result.Args.ConfigurationProperties = properties;
            return(result);
        }
示例#24
0
 public static void Launch(string pFile, bool pStopAtEntry)
 {
     StartDebugger(() =>
     {
         LaunchRequest lr = new LaunchRequest();
         lr.NoDebug       = false;
         lr.ConfigurationProperties.Add("program", pFile);
         lr.ConfigurationProperties.Add("stopAtEntry", pStopAtEntry);
         mClient.SendRequestSync(lr);
     });
 }
 public override async Task <SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session)
 {
     // this function is invoked when the user invokes your skill without an intent
     // if the inbound request doesn't include your Alexa Skills AppId or you haven't updated your
     // code to include the correct AppId, return a visual and vocal error and do no more
     // Update the AppId variable in AlexaConstants.cs to resolve this issue
     if (AlexaUtils.IsRequestInvalid(session))
     {
         return(await Task.FromResult <SpeechletResponse>(InvalidApplicationId(session)));
     }
     return(await Task.FromResult <SpeechletResponse>(GetOnLaunchAsyncResult(session)));
 }
示例#26
0
        public Task <SpeechletResponse> OnLaunchAsync(LaunchRequest launchRequest, Session session, Context context)
        {
            var response = new SpeechletResponse()
            {
                OutputSpeech = new PlainTextOutputSpeech()
                {
                    Text = "Would you like to know this weeks, last weeks or next weeks?"
                }
            };

            return(Task.FromResult(response));
        }
示例#27
0
        private SkillResponse HandleLaunch(LaunchRequest launchRequest, ILambdaLogger logger)
        {
            logger.LogLine($"LaunchRequest made");

            return(ResponseBuilder.Ask("Ok. When you will be ready to start - tell me first player color.", null, new Session
            {
                Attributes = new System.Collections.Generic.Dictionary <string, object>
                {
                    { "sessionState", new SessionState() }
                }
            }));
        }
 public override async Task <SpeechletResponse> OnLaunchAsync(LaunchRequest request, Session session)
 {
     try
     {
         await AskTeenageQueue.AddAsync(JsonConvert.SerializeObject(request));
     }
     catch (Exception ex)
     {
         Logger.Error($"Exception: {ex.ToString()}");
     }
     Logger.Info($"OnSessionStarted requestId={request.RequestId}, sessionId={session.SessionId}");
     return(await GetWelcomeResponseAsync());
 }
示例#29
0
        public override SpeechletResponse OnLaunch(LaunchRequest request, Session session)
        {
            this.log.Info(String.Format("OnLaunch requestId={0}, sessionId={1}", request.RequestId, session.SessionId));

            var response = new SpeechletResponse();

            response.ShouldEndSession = false;
            response.OutputSpeech     = new SsmlOutputSpeech()
            {
                Ssml = @"<speak>Welcome to Find Mooch. Ask me <break strength=""medium""/> <emphasis level=""strong""> find free events </emphasis></speak>"
            };

            return(response);
        }
示例#30
0
        public async override Task <SpeechletResponse> OnLaunchAsync(LaunchRequest request, Session session)
        {
            EnsureServiceCreated(session.User.Id);

            // Start conversation
            var success = await _botFrameworkService.StartConversationAsync();

            var response = success
                ? Constants.Messages.ConversationStarted
                : Constants.Messages.ConversationFailed;

            // Welcome message
            return(BuildSpeechletResponse(Constants.Messages.Welcome, response, false));
        }