Botframework 如何从会话对象获取当前库名称

Botframework 如何从会话对象获取当前库名称,botframework,Botframework,我希望在任何对话框瀑布步骤中从会话对象获取当前库名称。 目前我正在调用session.dialogStack(),并从堆栈顶部的对话框中提取id。有更好的方法吗?正如您在问题中提到的和Gary Liu评论的那样,获取当前对话框库ID的正确方法是使用。对于没有名称参数的UniversalBot,该值默认为“*” 例子: 我不明白否决票是什么?您使用session.dialogStack()是对的。 bot.dialog('greeting', [ (session, args) =>

我希望在任何对话框瀑布步骤中从会话对象获取当前库名称。
目前我正在调用session.dialogStack(),并从堆栈顶部的对话框中提取id。有更好的方法吗?

正如您在问题中提到的和Gary Liu评论的那样,获取当前对话框库ID的正确方法是使用。对于没有
名称
参数的UniversalBot,该值默认为
“*”

例子:
我不明白否决票是什么?您使用
session.dialogStack()
是对的。
bot.dialog('greeting', [
  (session, args) => {
      let currentStack = session.dialogStack()
      // [ { id: '*:greeting', state: { 'BotBuilder.Data.WaterfallStep': 0 } } ]

      console.log(currentStack[currentStack.length - 1])
      // { id: '*:greeting', state: { 'BotBuilder.Data.WaterfallStep': 0 } }

      console.log(currentStack[currentStack.length - 1].id)
      // '*:greeting'

      // Separate the library name from the dialogId by calling 
      // String.prototype.split() on the stack.id. The splitter we'll use is ":".
      console.log(currentStack[currentStack.length - 1].id.split(':'))
      // [ '*', 'greeting' ]

      session.endDialog('Bye from "greeting"!')
  }
]).triggerAction({matches: /hi/ig})