Bot Framework中的上下文管理-节点JS

问题描述 投票:0回答:1

主对话框中,我已使用它来获取用户活动和会话ID stepContext.context._activity的详细信息和我能够以JSON格式存储数据,我想知道如果其中不存在任何实体,并且应该对多个用户有效,而不对单个用户有效,那么如何使用用户的上一个文本进行下一个查询。

node.js azure botframework
1个回答
0
投票

用户输入的位置取决于提供给他们的选项而异。 stepContext.context.activity.text字段中提供了简单文本输入。但是,例如,用户的返回值可能存在于:

  • [stepContext.result,如果使用了英雄卡]
  • stepContext.options,如果从上一步或操作中转发了一个值,则>]
  • [stepContext.context.activity.text,如果使用了建议的操作]
  • [stepContext.context.activity.value,如果返回postBack]
  • 还有其他几种可能性。引用docs是一个不错的起点,BotBuilder-Samples也可以帮助您掌握所有可能。不要反感检查stepContext以查看其填充方式和内容。

async firstStep(stepContext) {
    await stepContext.context.sendActivity('Type something...');
    return { status: DialogTurnStatus.waiting };
}

async secondStep(stepContext) {
    const result = stepContext.context.activity.text;
    return await stepContext.context.sendActivity(`You said: ${ result }`);

希望帮助!

© www.soinside.com 2019 - 2024. All rights reserved.