我的自适应卡发送,并继续进行对话的下一步(打印以确保内容),但是由于某种原因,它不会显示任何其他活动,无论是提示,另一张自适应卡还是只是文本。我试过让它们处于相同的异步步骤中,然后一个接一个地发送,但这都不起作用。我没有收到任何错误消息,并且该步骤中的所有其他操作都将除“ sendActivity”方法之外的所有其他方法执行。我是否不了解某种约定?
我已将问题缩小到Cortana频道,因为它可以在网络聊天和模拟器中完美运行
class BookingDialog extends CancelAndHelpDialog {
constructor(id) {
super(id || 'bookingDialog');
this.addDialog(new TextPrompt(TEXT_PROMPT))
.addDialog(new ConfirmPrompt(CONFIRM_PROMPT))
.addDialog(new DateResolverDialog(DATE_RESOLVER_DIALOG))
.addDialog(new WaterfallDialog(WATERFALL_DIALOG, [
this.destinationStep.bind(this),
this.originStep.bind(this),
this.travelDateStep.bind(this),
this.confirmStep.bind(this),
this.finalStep.bind(this)
]));
this.initialDialogId = WATERFALL_DIALOG;
}
/**
* If a destination city has not been provided, prompt for one.
*/
async destinationStep(stepContext) {
console.log("DESTINATION");
var Card = CardFactory.adaptiveCard(WelcomeCard);
const bookingDetails = stepContext.options;
await stepContext.context.sendActivity({ attachments: [Card],attachmentLayout: AttachmentLayoutTypes.Carousel});
return await stepContext.next(bookingDetails);
}
/**
* If an origin city has not been provided, prompt for one.
*/
async originStep(stepContext) {
return await stepContext.context.sendActivity("Would you like to email them?");
}
答案 0 :(得分:1)
如果您使用的是Cortana,请不要忘记添加inputHint。另外,您在什么设备上测试Cortana?在我看来,该频道已关闭,那么下一轮在Cortana中会发生什么?如果您不发送自适应卡,它仍然起作用吗?如果卡中有语法错误,我相信Cortana会退出。发布卡json。检查所有必填字段是否存在,以及所有类型均应为预期值。