次の方法で共有


SimpleDialog class

単純なクロージャに基づくカスタム ダイアログを作成できます。 これは、動的な会話フローが必要な場合や、ウォーターフォールの使用にあまり適していない状況がある場合に便利です。 留意すべき点は次のとおりです。

  • ダイアログ クロージャは、テストが必要になる可能性がある 2 つの異なるコンテキストで呼び出すことができます。 ユーザーがダイアログにメッセージを送信すると、予期したとおりに呼び出されますが、クロージャから別のプロンプトまたはダイアログを呼び出すと、プロンプト/ダイアログの結果で 2 回目に呼び出されます。 通常、この 2 番目のケースをテストするには、args.resumed プロパティの存在を確認します。 簡単にできる無限ループに身を乗り出さないようにすることが重要です。
  • ウォーターフォールとは異なり、ダイアログは自動的に終了しません。 session.endDialog()を呼び出すまで、アクティブなダイアログ 残ります。
Extends

コンストラクター

SimpleDialog((session: CallSession, args?: any | IDialogResult<any>) => void)

単純なクロージャに基づいて新しいカスタム ダイアログを作成します。

メソッド

begin<T>(CallSession, T)

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

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

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

replyReceived(CallSession)

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

コンストラクターの詳細

SimpleDialog((session: CallSession, args?: any | IDialogResult<any>) => void)

単純なクロージャに基づいて新しいカスタム ダイアログを作成します。

new SimpleDialog(handler: (session: CallSession, args?: any | IDialogResult<any>) => void)

パラメーター

handler

(session: CallSession, args?: any | IDialogResult<any>) => void

ダイアログの関数クロージャ。

メソッドの詳細

begin<T>(CallSession, T)

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

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

パラメーター

session
CallSession

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

args

T

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

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

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

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

パラメーター

session
CallSession

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

result

IDialogResult<T>

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

replyReceived(CallSession)

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

function replyReceived(session: CallSession)

パラメーター

session
CallSession

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