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 )
原文地址:https://www.cnblogs.com/mrtiny/p/9081636.html