public static new BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
 {
     return new PowershellBotRule(
         generator.GetRuleName(node),
         generator.GetRuleWeight(node),
         new Regex(generator.GetRulePattern(node)),
         node.SelectChatBotNodes("cb:Script").Cast<XmlNode>().First().InnerText
     );
 }
Example #2
0
 new public static BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
 {
     return(new PowershellBotRule(
                generator.GetRuleName(node),
                generator.GetRuleWeight(node),
                new Regex(generator.GetRulePattern(node)),
                node.SelectChatBotNodes("cb:Script").Cast <XmlNode>().First().InnerText
                ));
 }
Example #3
0
 new public static BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
 {
     return(new RandomAnswersBotRule(
                generator.GetRuleName(node),
                generator.GetRuleWeight(node),
                new Regex(generator.GetRulePattern(node)),
                node.SelectChatBotNodes("cb:Messages/cb:Message").Cast <XmlNode>().Select(n => n.InnerText).ToArray()
                ));
 }
 public static new BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
 {
     return new RandomAnswersBotRule(
         generator.GetRuleName(node),
         generator.GetRuleWeight(node),
         new Regex(generator.GetRulePattern(node)),
         node.SelectChatBotNodes("cb:Messages/cb:Message").Cast<XmlNode>().Select(n => n.InnerText).ToArray()
     );
 }
        public static BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
        {
            BotRuleCodeCompiler brcc = new BotRuleCodeCompiler(node.SelectChatBotNodes("cb:Process").Cast <XmlNode>().First().InnerText);

            return(new BotRule(
                       generator.GetRuleName(node),
                       generator.GetRuleWeight(node),
                       new Regex(generator.GetRulePattern(node)),
                       delegate(Match match, ChatSessionInterface session) {
                return brcc.Execute(match, session);
            }
                       ));
        }
        public static new BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
        {
            // get unique setters
            Dictionary<string, string> setters = new Dictionary<string, string>();
            foreach (XmlNode subnode in node.SelectChatBotNodes("cb:Setters/cb:Set").Cast<XmlNode>().Where(n => n.Attributes["Key"] != null))
            {
                setters[subnode.Attributes["Key"].Value] = subnode.InnerText;
            }

            return new ReplacementBotRule(
                generator.GetRuleName(node),
                generator.GetRuleWeight(node),
                new Regex(generator.GetRulePattern(node)),
                node.SelectChatBotNodes("cb:Messages/cb:Message").Cast<XmlNode>().Select(n => n.InnerText).ToArray(),
                setters
            );
        }
        new public static BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
        {
            // get unique setters
            Dictionary <string, string> setters = new Dictionary <string, string>();

            foreach (XmlNode subnode in node.SelectChatBotNodes("cb:Setters/cb:Set").Cast <XmlNode>().Where(n => n.Attributes["Key"] != null))
            {
                setters[subnode.Attributes["Key"].Value] = subnode.InnerText;
            }

            return(new ReplacementBotRule(
                       generator.GetRuleName(node),
                       generator.GetRuleWeight(node),
                       new Regex(generator.GetRulePattern(node)),
                       node.SelectChatBotNodes("cb:Messages/cb:Message").Cast <XmlNode>().Select(n => n.InnerText).ToArray(),
                       setters
                       ));
        }
Example #8
0
        public static BotRule CreateRuleFromXml(ChatBotRuleGenerator generator, XmlNode node)
        {
            BotRuleCodeCompiler brcc = new BotRuleCodeCompiler(node.SelectChatBotNodes("cb:Process").Cast<XmlNode>().First().InnerText);

            return new BotRule(
                generator.GetRuleName(node),
                generator.GetRuleWeight(node),
                new Regex(generator.GetRulePattern(node)),
                delegate(Match match, ChatSessionInterface session) {
                    return brcc.Execute(match, session);
                }
               );
        }