我已经阅读了一些我们可以IScorable.cs
用来实现全局可用命令的地方,例如在聊天流程中的任何地方输入"设置"以打开设置对话框.但似乎没有关于如何使用它的文档.
请帮忙.
你是对的,IScorable.cs
如果你想在BotFramework中拥有全局命令,那么实现就是你要走的路.
有一个IScorable它基本上是一个两步程序:
写下您的IScorable
在BotFramework的Autofac容器中注册您的IScorable
BotFramework将经历所有第IScorables
一次,看看他们中的任何一个是否"获胜"(如果他们将做某事或不做),如果没有人处理该消息; 然后它将继续将消息分派给对话框.
关于如何写你的IScorable
,最好的方法是看一些例子:
设置可评分(来自ContosoFlowers样本).当发送"设置"消息时,它会启动一个新对话框.
DeleteProfile scorable(进入BotFramework).它会删除PrivateConversationData和UserData包,并在发送"/ deleteprofile"消息时重置堆栈.
警报可评估(来自AlarmsBot示例).如果消息与任何预定义动词匹配,它会调用服务来执行操作.
关于如何注册IScorable
,我会建议你做一些像在下面Global.asax.cs
,Application_Start
方法:
var builder = new ContainerBuilder(); builder.RegisterType() .As >() .InstancePerLifetimeScope(); builder.Update(Conversation.Container);
这显示了如何SettingsScorable
在Autofac
容器中注册ContosoFlowers .