我在测试时使用了僵尸生成器DialogTestClient的sendActivity方法来向我的机器人发送提示,但该方法只接受字符串类型,并且在我的机器人中我使用数字提示来提示用户输入数字。你知道我该如何解决这个问题吗?
提前感谢
发布于 2021-09-21 14:00:02
我不清楚你是只对DialogTestClient还是所有客户端都有这个问题,但在nodejs中,你可以使用Number(promptInput)将字符串转换为数字。如果promptInput已经是一个数字,它仍然可以正常工作。我假设在C#中也有类似的函数。
编辑:一些附加的上下文。您可以在多轮提示示例中查看userProfileDialog.js的示例。本质上,NumberPrompt在识别器中有一个"succeeded“属性,确保您输入一个数字。您可以在验证器函数中使用它以及您想要的任何验证。如果成功并通过验证,则会将一个数字而不是字符串传递到对话框中的下一步。
如果在尝试向用户重复提示值时出现错误,则需要将其转换为字符串。我倾向于使用反引号(模板字符串/文字),例如
await step.context.sendActivity(`You entered ${step.result}`);其中step.result是numberPrompt结果。
https://stackoverflow.com/questions/69257470
复制相似问题