• Syn Bot /OSCOVA 对话和域(3)


    对话(Dialog )是用来分组一组相关意图,动作或者快速回复的。通常来说,这是使用OSCOVA做bot开发第一步。

    对话的创建我们上一节已经说过了,当创建好之后需要添加到bot中

    bot.Dialogs.Add(new AppDialog());

    域(Domains),简单说是用来给对话分组的,你可以指定用户的对话属于那个域下面。

    看这个例子:

    [Dialog(Domain = "tech-support")]
    public class TechSupportDepartmentDialog : Dialog
    {
        [Trait(Type = "#login")]
        public void LoginIntent(Context context, Result result)
        {
            //Do something
        }
    }

    [Dialog(Domain = "dev-ops")]
    public class DevOpsDepartmentDialog : Dialog
    {
        [Trait(Type = "#login")]
        public void LoginIntent(Context context, Result result)
        {
            //Do something
        }
    }
    var bot = new OscovaBot();
    bot.Dialogs.Add(new TechSupportDepartmentDialog());
    bot.Dialogs.Add(new DevOpsDepartmentDialog());
    bot.Trainser.StartTraining();
    
    var techUser = bot.CreateUser();
    techUser.Domains.Add("tech-support");
    
    var devUser = bot.CreateUser();
    devUser.Domains.Add("dev-ops");

    你应该明白了,所属于不同域的用户都有他们自己的登录意图(LoginIntent )
  • 相关阅读:
    MySQL InnoDB 存储引擎探秘
    MySQL优化面试
    技术面试老是有劲使不出,该怎么办?
    详解RPC远程调用和消息队列MQ的区别
    ConcurrentHashMap1.8源码分析
    kafka topic制定规则
    GitLab本地、远程更新已经fork的项目
    Swagger2使用参考
    分布式配置中心选型
    搭建Elasticsearch平台
  • 原文地址:https://www.cnblogs.com/mrtiny/p/9081636.html
Copyright © 2020-2023  润新知