次の方法で共有


Prompt class

組み込みのプロンプトの基本クラス。新しいカスタム プロンプトを作成するために使用できます。 Prompt クラスは、ユーザーをプロンプトまたは再プロンプトする基本的なロジックを提供し、ユーザーの応答のプロンプト認識とユーザーに送信される出力をカスタマイズするための拡張可能なフックのセットを提供します。 プロンプトには常に少なくとも 1 つの onRecognize() ハンドラーが登録されている必要があります。また、matches() または matchesAny() ハンドラーの追加をサポートします。これは、ユーザーが開始した特別なコマンドをプロンプトに追加するために使用できます。 たとえば、組み込みのプロンプトでは、ユーザーがプロンプトを繰り返し要求するのをリッスンする matches('BotBuilder.RepeatIntent') が追加され、プロンプトが最初のプロンプトをもう一度送信します。

Extends

コンストラクター

Prompt(IPromptFeatures)

プロンプトの新しいカスタマイズ可能なインスタンスを作成します。 新しいプロンプトをダイアログとしてボットまたはライブラリに追加する必要があります。

プロパティ

features

現在構成されている一連の機能を確認するプロンプトが表示されます。

メソッド

addDialogTrigger(ActionSet, string)

ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに triggerAction() をライブラリ グローバル アクション セットに追加できます。 これらのトリガーは、トリガー条件が満たされたときにダイアログを開始する beginDialogAction() にマップされます。

begin<T>(Session, T)

新しいダイアログ セッションが開始されるときに呼び出されます。

beginDialogAction(string, string, IBeginDialogActionOptions)

トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。

cancelAction(string, TextOrMessageType, ICancelActionOptions)

ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す 再開 コード再開されます。

clone(ActionSet)

既存の ActionSet の複製を返します。

customAction(IDialogActionOptions)

トリガーされたときに渡された onSelectAction ハンドラー 呼び出すカスタム アクションをダイアログにバインドします。

dialogInterrupted(Session, string, any)

ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。

dialogResumed<T>(Session, IDialogResult<T>)

子ダイアログが終了し、現在のダイアログが再開されています。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

トリガーされたときにユーザーとの会話を終了するアクションをバインドします。

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

プロンプトに送信するメッセージを作成します。 これは sendPrompt() によって自動的に呼び出されるため、ほとんどの場合、プロンプトに送信されるメッセージをカスタマイズするために、onFormatMessage() ハンドラーを登録する必要があります。 独自の sendPrompt() ロジックを実装する場合にのみ、このメソッドを呼び出す必要があります。

gettext(Session, TextType, string)

プロンプトの呼び出し元の名前空間を使用してローカライズされたプロンプトのテキストを返します。

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの発話で特定の意図が検出されたときにハンドラーを呼び出します。 string ベースの意図の場合、意図はプロンプトに登録 認識エンジン() によって返される意図であるか、グローバル recognizer()からフローインする意図である可能性があります。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

特定の意図のいずれかがユーザーの発話で検出されたときにハンドラーを呼び出します。 string ベースの意図の場合、意図はプロンプトに登録 認識エンジン() によって返される意図であるか、グローバル recognizer()からフローインする意図である可能性があります。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

プロンプトに送信される送信 IMessage を作成するために呼び出されるハンドラーを登録します。 このハンドラーは、現在の prompt/retryPrompt が string|string[]型の場合にのみ呼び出されます。 プロンプト/retryPrompt が構成されたメッセージが使用 IMessage|IIsMessage である場合は、ハンドラーが呼び出されないようにします。 複数のハンドラーを登録でき、メッセージで callback() を呼び出す最初のハンドラーが使用されます。 callback(null, null) を呼び出すと、処理がチェーン内の次のハンドラーに移動します。

onPrompt((session: Session, next: Function) => void)

プロンプトがユーザーにメッセージを送信しようとするたびに呼び出されるハンドラーを登録します。 このフックを使用して、独自のカスタム プロンプト送信ロジックを実装できます。 複数のハンドラーを登録でき、next() を呼び出すと、チェーン内の次のハンドラーが呼び出されます。 最後のハンドラーは、formatMessage() を使用して新しいメッセージを作成し、送信する既定のロジックをプロンプトで実行します。

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

プロンプトがユーザーから返信を受け取るたびに呼び出されるハンドラーを登録します。 callback() ハンドラーを使用して、ユーザーの入力を理解した信頼度スコアと、プロンプトの呼び出し元に返される値を返すことができます。 callback(null, 1.0, true); を呼び出すと、ユーザーがプロンプトに応答し、プロンプトからの応答として boolean true が返されるという高い信頼度が示されます。 オブジェクトを含め、任意の応答の種類を指定できます。 callback(null, 0.0); を呼び出すと、ユーザー入力がまったく認識されず、再プロンプトが表示されることを示します。

複数のハンドラーを登録でき、他のハンドラーの種類とは異なり、登録されたすべてのハンドラーが呼び出され、最高の信頼度スコアを提供するハンドラーが勝者として選択されます。 組み込みのプロンプトの種類の 1 つをカスタマイズする場合、プロンプトの既定の認識エンジン ロジックを無効にすることがよくあります。 これは、プロンプトの作成時にプロンプトの 機能 設定することで実現できます。 プロンプトの既定の認識エンジン ロジックを完全に無効にする場合は、すべての認識を自分で行う必要があることに注意してください。

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。 スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド ダイアログが呼び出されます。 これにより、ダイアログは認識フェーズ中に収集された追加のデータを、処理のために replyReceived() メソッドに渡すことができます。

スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed() への予期しない呼び出し準備する必要があります。

recognizer(IIntentRecognizer)

プロンプトに新しい認識エンジン プラグインを追加します。このプラグインは、ユーザーがプロンプトに応答するたびに実行されます。

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。

replyReceived(Session, IRecognizeResult)

ユーザーから受信したメッセージを処理します。 ダイアログ システムによって呼び出されます。

selectActionRoute(Session, IRouteResult)

発話の信頼度スコアが最も高かったルートを選択します。

sendPrompt(Session)

現在のターンのプロンプトをユーザーに送信します。 これを [matches()][#matches] ハンドラーから呼び出して、プロンプト/再プロンプトをユーザーに手動で送信できます。 最初のプロンプトを強制的に送信するには、sendPrompt()を呼び出す前に session.dialogData.turns = 0; を設定する必要があります。

triggerAction(ITriggerActionOptions)

アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。 既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム を追加することで、この中断をインターセプトできます。 さらに、トリガー アクション オプションにカスタム onSelectAction ハンドラーを提供することで、トリガーされるダイアログの起動方法をカスタマイズできます。

コンストラクターの詳細

Prompt(IPromptFeatures)

プロンプトの新しいカスタマイズ可能なインスタンスを作成します。 新しいプロンプトをダイアログとしてボットまたはライブラリに追加する必要があります。

new Prompt(features?: IPromptFeatures)

パラメーター

features
IPromptFeatures

(省略可能) プロンプトの動作をカスタマイズするために使用される機能。

プロパティの詳細

features

現在構成されている一連の機能を確認するプロンプトが表示されます。

public features: T

プロパティ値

T

メソッドの詳細

addDialogTrigger(ActionSet, string)

ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに triggerAction() をライブラリ グローバル アクション セットに追加できます。 これらのトリガーは、トリガー条件が満たされたときにダイアログを開始する beginDialogAction() にマップされます。

function addDialogTrigger(actions: ActionSet, dialogId: string)

パラメーター

actions
ActionSet

ライブラリ グローバル アクション セット。

dialogId

string

トリガーするダイアログの完全修飾 ID。

begin<T>(Session, T)

新しいダイアログ セッションが開始されるときに呼び出されます。

function begin<T>(session: Session, args?: T)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

args

T

(省略可能) その親によってダイアログに渡される引数。

beginDialogAction(string, string, IBeginDialogActionOptions)

トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

id

string

開始するダイアログの ID。

options
IBeginDialogActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、開始するダイアログに追加のパラメーターを渡すこともできます。

戻り値

cancelAction(string, TextOrMessageType, ICancelActionOptions)

ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す 再開 コード再開されます。

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) ダイアログをキャンセルする前にユーザーを送信するメッセージ。

options
ICancelActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。

戻り値

clone(ActionSet)

既存の ActionSet の複製を返します。

function clone(copyTo?: ActionSet)

パラメーター

copyTo
ActionSet

(省略可能) 現在のオブジェクトのコピー先のインスタンス。 見つからない場合は、新しいインスタンスが作成されます。

戻り値

customAction(IDialogActionOptions)

トリガーされたときに渡された onSelectAction ハンドラー 呼び出すカスタム アクションをダイアログにバインドします。

function customAction(options: IDialogActionOptions)

パラメーター

options
IDialogActionOptions

アクションの構成に使用するオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。 カスタム 照合ロジックは、onFindActionを使用して提供できます。

戻り値

dialogInterrupted(Session, string, any)

ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

dialogId

string

開始する必要があるダイアログの ID。

dialogArgs

any

新しいダイアログに渡す引数。

dialogResumed<T>(Session, IDialogResult<T>)

子ダイアログが終了し、現在のダイアログが再開されています。

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

result

IDialogResult<T>

子ダイアログによって返される結果。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

トリガーされたときにユーザーとの会話を終了するアクションをバインドします。

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) 会話を終了する前にユーザーを送信するメッセージ。

options
ICancelActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。

戻り値

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

パラメーター

context
IRecognizeDialogContext

受信メッセージのコンテキストと、評価されたダイアログの dialogData

callback

(err: Error, results: IRouteResult[]) => void

上位候補ルートを使用して呼び出す関数。

formatMessage(Session, TextType, TextType, (err: Error, msg: IMessage) => void)

プロンプトに送信するメッセージを作成します。 これは sendPrompt() によって自動的に呼び出されるため、ほとんどの場合、プロンプトに送信されるメッセージをカスタマイズするために、onFormatMessage() ハンドラーを登録する必要があります。 独自の sendPrompt() ロジックを実装する場合にのみ、このメソッドを呼び出す必要があります。

function formatMessage(session: Session, text: TextType, speak: TextType, callback: (err: Error, msg: IMessage) => void)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

text
TextType

現在のプロンプト/retryPrompt テキスト。

speak
TextType

現在の読み上げ/再試行SSpeak SSML。 この値は null である可能性があります。

callback

(err: Error, msg: IMessage) => void

作成されたメッセージを受信する関数。

gettext(Session, TextType, string)

プロンプトの呼び出し元の名前空間を使用してローカライズされたプロンプトのテキストを返します。

static function gettext(session: Session, text: TextType, namespace?: string)

パラメーター

session
Session

会話の現在のセッション。

text
TextType

ローカライズを求めるメッセージが表示されます。

namespace

string

(省略可能) プロンプトのローカライズに使用するライブラリ名前空間。 既定では、プロンプトの呼び出し元の名前空間が使用されます。

戻り値

string

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの発話で特定の意図が検出されたときにハンドラーを呼び出します。 string ベースの意図の場合、意図はプロンプトに登録 認識エンジン() によって返される意図であるか、グローバル recognizer()からフローインする意図である可能性があります。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

パラメーター

intent

RegExp | string

  • 意図:{RegExp} - ユーザーの意図を検出するために評価される正規表現。
  • 意図:{string} - IIntentRecognizer プラグインによって返され、ユーザーの意図に一致するために使用される名前付き意図。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 意図が一致したときに開始するダイアログの ID。
  • dialogId:{IDialogWaterfallStep[]} - 意図が一致したときに実行するステップのウォーターフォール。
  • dialogId:{IDialogWaterfallStep} - 意図が一致したときに実行する単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
dialogArgs

any

(省略可能) dialogId が {string} のときに開始されたダイアログを渡す引数。

戻り値

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

特定の意図のいずれかがユーザーの発話で検出されたときにハンドラーを呼び出します。 string ベースの意図の場合、意図はプロンプトに登録 認識エンジン() によって返される意図であるか、グローバル recognizer()からフローインする意図である可能性があります。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

パラメーター

intent

RegExp[] | string[]

  • 意図:{RegExp[]} - ユーザーの意図を検出するために評価される正規表現の配列。
  • 意図:{string[]} - IIntentRecognizer プラグインによって返される、ユーザーの意図と一致させるために使用される名前付き意図の配列。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 意図が一致したときに開始するダイアログの ID。
  • dialogId:{IDialogWaterfallStep[]} - 意図が一致したときに実行するステップのウォーターフォール。
  • dialogId:{IDialogWaterfallStep} - 意図が一致したときに実行する単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
dialogArgs

any

(省略可能) dialogId が {string} のときに開始されたダイアログを渡す引数。

戻り値

onFormatMessage((session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

プロンプトに送信される送信 IMessage を作成するために呼び出されるハンドラーを登録します。 このハンドラーは、現在の prompt/retryPrompt が string|string[]型の場合にのみ呼び出されます。 プロンプト/retryPrompt が構成されたメッセージが使用 IMessage|IIsMessage である場合は、ハンドラーが呼び出されないようにします。 複数のハンドラーを登録でき、メッセージで callback() を呼び出す最初のハンドラーが使用されます。 callback(null, null) を呼び出すと、処理がチェーン内の次のハンドラーに移動します。

function onFormatMessage(handler: (session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void)

パラメーター

handler

(session: Session, text: TextType, speak: TextType, callback: (err: Error, message?: IMessage) => void) => void

現在のプロンプトの IMessage を作成するために呼び出される関数。 メッセージまたは null を使用して callback() を呼び出して処理を続行します。

戻り値

Prompt<any>

onPrompt((session: Session, next: Function) => void)

プロンプトがユーザーにメッセージを送信しようとするたびに呼び出されるハンドラーを登録します。 このフックを使用して、独自のカスタム プロンプト送信ロジックを実装できます。 複数のハンドラーを登録でき、next() を呼び出すと、チェーン内の次のハンドラーが呼び出されます。 最後のハンドラーは、formatMessage() を使用して新しいメッセージを作成し、送信する既定のロジックをプロンプトで実行します。

function onPrompt(handler: (session: Session, next: Function) => void)

パラメーター

handler

(session: Session, next: Function) => void

sendPrompt() 呼び出されるたびに呼び出される関数。

戻り値

Prompt<any>

onRecognize((context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

プロンプトがユーザーから返信を受け取るたびに呼び出されるハンドラーを登録します。 callback() ハンドラーを使用して、ユーザーの入力を理解した信頼度スコアと、プロンプトの呼び出し元に返される値を返すことができます。 callback(null, 1.0, true); を呼び出すと、ユーザーがプロンプトに応答し、プロンプトからの応答として boolean true が返されるという高い信頼度が示されます。 オブジェクトを含め、任意の応答の種類を指定できます。 callback(null, 0.0); を呼び出すと、ユーザー入力がまったく認識されず、再プロンプトが表示されることを示します。

複数のハンドラーを登録でき、他のハンドラーの種類とは異なり、登録されたすべてのハンドラーが呼び出され、最高の信頼度スコアを提供するハンドラーが勝者として選択されます。 組み込みのプロンプトの種類の 1 つをカスタマイズする場合、プロンプトの既定の認識エンジン ロジックを無効にすることがよくあります。 これは、プロンプトの作成時にプロンプトの 機能 設定することで実現できます。 プロンプトの既定の認識エンジン ロジックを完全に無効にする場合は、すべての認識を自分で行う必要があることに注意してください。

function onRecognize(handler: (context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void)

パラメーター

handler

(context: IRecognizeDialogContext, callback: (err: Error, score: number, response?: any) => void) => void

ユーザーがプロンプトに応答することを認識するために呼び出される関数。

戻り値

Prompt<any>

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。 スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド ダイアログが呼び出されます。 これにより、ダイアログは認識フェーズ中に収集された追加のデータを、処理のために replyReceived() メソッドに渡すことができます。

スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed() への予期しない呼び出し準備する必要があります。

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

パラメーター

context
IRecognizeDialogContext

要求のコンテキスト。

callback

(err: Error, result: IRecognizeResult) => void

認識結果を使用して呼び出す関数。

recognizer(IIntentRecognizer)

プロンプトに新しい認識エンジン プラグインを追加します。このプラグインは、ユーザーがプロンプトに応答するたびに実行されます。

function recognizer(plugin: IIntentRecognizer)

パラメーター

plugin
IIntentRecognizer

追加する認識エンジン。

戻り値

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) ダイアログを再読み込みする前にユーザーを送信するメッセージ。

options
IBeginDialogActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、再読み込み時に追加のパラメーターをダイアログに渡すこともできます。

戻り値

replyReceived(Session, IRecognizeResult)

ユーザーから受信したメッセージを処理します。 ダイアログ システムによって呼び出されます。

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

発話の信頼度スコアが最も高かったルートを選択します。

function selectActionRoute(session: Session, route: IRouteResult)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

route
IRouteResult

findActionRoutes()の呼び出しから返された結果。

sendPrompt(Session)

現在のターンのプロンプトをユーザーに送信します。 これを [matches()][#matches] ハンドラーから呼び出して、プロンプト/再プロンプトをユーザーに手動で送信できます。 最初のプロンプトを強制的に送信するには、sendPrompt()を呼び出す前に session.dialogData.turns = 0; を設定する必要があります。

function sendPrompt(session: Session)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

triggerAction(ITriggerActionOptions)

アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。 既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム を追加することで、この中断をインターセプトできます。 さらに、トリガー アクション オプションにカスタム onSelectAction ハンドラーを提供することで、トリガーされるダイアログの起動方法をカスタマイズできます。

function triggerAction(options: ITriggerActionOptions)

パラメーター

options
ITriggerActionOptions

アクションの構成に使用されるオプション。

戻り値