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
)