ユーザがオプション(「AAA」、「BBB」、「CCC」)以外を入力した場合は、別のダイアログフローに移動したいと思います。それは可能ですか?
はい、可能です。選択肢に関連する必要なウォーターフォールステップを含むいくつかのダイアログを定義することができます。同様に:新しいダイアログにユーザーをリダイレクトする
bot.dialog('AAA',[...])
レバレッジreplaceDialog
の流れ:
(session,result)=>{
//result.response.entity should be one of string `AAA`,`BBB`,`CCC`
session.replaceDialog(result.response.entity);
}
私はretryPrompt毎回リストから発話を選ぶと言うことができます変更したいです。それは可能ですか?
はい、可能です。 choice定義よると、我々はオプションを設定することができ、[IPromptOptions][2]
を拡張IPromptChoiceOptions
を拡張し、我々はretryPrompt?: TextOrMessageType;
は、TextOrMessageType
の定義のためのソースコードに掘ることを見つけることができます:
/**
* Flexible range of possible prompts that can be sent to a user.
* * _{string}_ - A simple message to send the user.
* * _{string[]}_ - Array of possible messages to send the user. One will be chosen at random.
...
...
*/
export type TextOrMessageType = string|string[]|IMessage|IIsMessage;
だから我々はretryPrompt
の文字列のリストを設定することができ、ボットビルダーはランダムに1つを選択します。以下を試してください:
builder.Prompts.choice(session, "Please select one of the options:", ['AAA', 'BBB', 'CCC'], {
listStyle: builder.ListStyle.button,
maxRetries: 1,
retryPrompt:['utterance 1','utterance 2','utterance 3','utterance 4']
});
ありがとうございます。 –