MS Botframework - Builder.Prompts.Choice - 如果用户键入的内容不在列表中,如何响应?

MS Botframework - Builder.Prompts.Choice - How to respond if user types something not in the list?

在 "builder.Prompts.choice" 中,您如何捕获用户响应,如果用户输入的选项不在选项列表中,您如何捕获相同的选项?

方法是这样

choice(session: Session, prompt: string | string[] | IMessage | IIsMessage, choices: string | Object | string[], options?: IPromptOptions): void

所以你可以这样做

builder.Prompts.choice(session, "Which fruit?", "apple|orange|peach", "Sorry I did not understand that!")

Botframework Ref

使用 builder.Prompts.choice(session, 'Choose:', 'a|b|c', {retryPrompt:'Sorry'}); 对我有用。

编辑:重新阅读原始问题。这不会捕获用户的响应,但它允许您更改重新提示消息。

它对我的工作是捕获用户响应 "session.message.text"。