Beispiel #1
0
        private BotYamlModel ReadFromYamlToObject()
        {
            var lexYamlData = new BotYamlModel();

            // convert stream to yaml mapping
            var yaml = new YamlStream();

            yaml.Load(_yamlData);
            var yamlMappingNode = (YamlMappingNode)yaml.Documents[0].RootNode;

            // get the bot name
            lexYamlData.BotName = ParseBotName(yamlMappingNode);

            // get the slots
            lexYamlData.Slots = ParseSlots(yamlMappingNode);

            // get the intents
            lexYamlData.Intents = ParseIntents(yamlMappingNode);

            // get the error handling information
            var errorHandling = (YamlMappingNode)yamlMappingNode.Children[new YamlScalarNode("ErrorHandling")];

            // get clarification prompt
            lexYamlData.ClarificationPrompt = ParseClarificationPrompt(errorHandling);

            // get abort statements
            lexYamlData.AbortStatement = ParseAbortStatements(errorHandling);

            // get intents for bot
            lexYamlData.IntentsForBot = ParseIntentsForBot(yamlMappingNode);

            // put bot request
            lexYamlData.PutBotRequest = GeneratePutBotRequest(lexYamlData);
            return(lexYamlData);
        }
Beispiel #2
0
 private PutBotRequest GeneratePutBotRequest(BotYamlModel lexYamlData)
 {
     return(new PutBotRequest {
         Name = lexYamlData.BotName,
         Locale = "en-US",
         ChildDirected = false,
         ClarificationPrompt = lexYamlData.ClarificationPrompt,
         AbortStatement = lexYamlData.AbortStatement,
         Intents = lexYamlData.IntentsForBot.ToList()
     });
 }
Beispiel #3
0
 public ManageBots(ILexBotGeneratorDependencyProvider provider, BotYamlModel lexYamlData)
 {
     _provider    = provider;
     _lexYamlData = lexYamlData;
 }