次の方法で共有


UniversalBot class

複数のチャネルにわたるユーザーとのボットの会話を管理します。

Extends

コンストラクター

UniversalBot(IConnector, any, string)

UniversalBot の新しいインスタンスを作成します。

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

UniversalBot の新しいインスタンスを作成します。

UniversalBot(IConnector, IUniversalBotSettings)

UniversalBot の新しいインスタンスを作成します。

プロパティ

name

ライブラリ固有の名前空間。 これは、ライブラリ ダイアログとローカライズされたプロンプトを解決するために使用されます。

RouteTypes

findRoutes()から既定で返される routeTypeサポートされています。

メソッド

addRouteResult(IRouteResult, IRouteResult[])

結果セットへの候補ルートの追加を管理するために、さまざまなルート検索メソッドから呼び出されるヘルパー メソッド。

  • スコアが大きい場合、セット内の現在の最適な一致は、新しい一致のみを含む新しい結果セットが返されます。
  • スコアが現在の最適な一致と等しい場合は、既存のセットに追加されます。
  • スコアが現在のベスト マッチより小さい場合は無視されます。
beginDialog(IAddress, string, any, (err: Error) => void)

ユーザーとの新しいダイアログを事前に開始します。 ボットとユーザーの間の現在の会話は、新しいダイアログ スタックに置き換えられます。

beginDialogAction(string, string, IDialogActionOptions)

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

bestRouteResult(IRouteResult[], IDialogState[], string)

複数のあいまいなルートを含む結果セット内で使用する最適なルートを検索します。 次のあいまいさを解消する方法が使用されます。

  1. : カスタム ルートの種類が最も優先度が高く、優先されます。 これにより、開発者はボット内のルーティングを非常に強力な方法でオーバーライドできます。
  2. ActiveDialog: アクティブなダイアログが次に高い優先度です。
  3. StackAction: スタック アクションは次に優先度が高く、スタック位置が最も深いアクションが返されます。
  4. GlobalAction: グローバル アクションが最も低い優先度です。 dialogStack がスタックの最も深いライブラリからのアクションの中で過ぎている場合は、優先されます。 それ以外の場合は、最初のものが返されます。
clone(UniversalBot, string)

既存のボットの複製を返します。

connector(string, IConnector)

特定のチャネルのコネクタを登録または返します。

customAction(IDialogActionOptions)

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

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

ライブラリからダイアログを登録または返します。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

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

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

現在のメッセージを理解しているアクティブなダイアログの信頼度を取得します。 ダイアログは現在のライブラリのメンバーである必要があります。それ以外の場合は、スコア 0.0 が返されます。

findDialog(string, string)

ライブラリとそのすべての依存関係で特定のダイアログを検索します。 見つかった場合はダイアログを返し、それ以外の場合は null を返します。

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

ライブラリを検索して、グローバル アクションがトリガーされているかどうかを確認します。

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

現在のメッセージを処理する候補ルートを検索します。 メッセージの処理を実際に開始するには、返された結果の 1 つ selectRoute() を呼び出す必要があります。 既定の検索ロジックは、onFindRoute() を使用してオーバーライドでき、現在のライブラリのみが検索されるため、階層内の各ライブラリ findRoutes() 個別に呼び出す必要があります。

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

セッション ダイアログ スタックを検索して、アクションがトリガーされたかどうかを確認します。

forEachDialog((dialog: Dialog, id: string) => void)

すべてのライブラリ ダイアログを列挙します。

forEachLibrary((library: Library) => void)

すべてのライブラリの子ライブラリを列挙します。 呼び出し元は、階層を列挙するときに循環参照を回避するために適切な手順を実行する必要があります。 ほとんどの場合、libraryList() の呼び出しは、サイクルを回避するためのロジックが既に含まれているので、より良い選択です。

get(string)

設定の現在の値を返します。

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

ユーザーとボットの最後のターンがいつ発生したかに関する情報を返します。 これは、beginDialog 前に呼び出して、ユーザーが現在ボットとの会話中かどうかを判断できます。

library(Library | string)

ライブラリの依存関係を登録または返します。

libraryList(boolean)

階層内の一意のライブラリの一覧を返します。 ライブラリ階層のルートで呼び出す必要があり、2 つの子ライブラリが同じ依存ライブラリを参照するときに作成されるサイクルを回避する必要があります。

loadSession(IAddress, (err: Error, session: Session) => void)

任意のアドレスのセッション オブジェクトを読み込みます。

localePath(string)

ローカライズされたプロンプトを含むライブラリ "/locale/" フォルダーへのパスを取得または設定します。 ライブラリのプロンプトは、このパスの下の "/locale/<IETF_TAG>/.json" ファイルに格納する必要があります。"<IETF_TAG>" はロケールの 2 から 3 桁の言語タグを表し、"" はライブラリ名前空間に一致するファイル名です。

on(string, (data: any) => void)

イベント リスナーを登録します。 ボットは、受信メッセージと送信メッセージを処理する場合に、独自のイベントを出力します。 また、コネクタから出力されたアクティビティ関連のイベントも転送され、ボットからのすべてのアクティビティを 1 つの場所でリッスンできます。 ボットからのイベントのフローは次のとおりです。

受信したメッセージ

ボットが新しいメッセージを受信すると、次のイベントが順番に生成されます。

lookupUser -> receive -> incoming -> getStorageData -> ルーティング

インストール 受信ミドルウェア は、"受信" イベントと "受信" イベントの間で実行されます。 "ルーティング" イベントが生成されると、botbuilder ミドルウェア は、メッセージをボットアクティブ ダイアログにディスパッチする前に実行されます。

受信したコネクタ アクティビティ

コネクタは、アクティビティ イベントを生成して、ユーザーが入力しているか、ボットをフレンドリにしたことを通知できます。 これらのアクティビティは、メッセージなどのミドルウェアを介してルーティングされますが、ボット ダイアログ システムを介してルーティングされません。 これらはイベントとしてのみ出力されます。

コネクタ イベントのフローは次のとおりです。

lookupUser - 受信> -> (アクティビティ)

送信されたメッセージ

ボットは複数のメッセージを送信できるため、セッションはすべての送信メッセージをバッチ処理し、送信されたメッセージを配信する前にボットの現在の状態を保存します。 1 つの 'saveStorageData' イベントが生成され、バッチ内のすべての送信メッセージに対して、次の一連のイベントが表示されます。

send -> outgoing

インストールされている 送信ミドルウェア は、"送信" イベントと "送信" イベントの間で実行されます。

onDisambiguateRoute(IDisambiguateRouteHandler)

ボットの既定のルートのあいまいさを解消するロジックをカスタム実装に置き換えます。

onFindRoutes(IFindRoutesHandler)

既定 ルート検索ロジック findRoutes() をカスタム実装に置き換えます。

onSelectRoute(ISelectRouteHandler)

selectRoute() の既定 ロジックをカスタム実装に置き換えます。

receive(IEvent | IEvent[], (err: Error) => void)

新しいイベントを受信したときに呼び出されます。 これを手動で呼び出して、ユーザーからメッセージを受信するボットを模倣できます。

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

ライブラリ認識エンジンを使用して、ユーザーのテキスト発話を意図と照合しようとします。 詳細については、IIntentRecognizer.recognize() を参照してください。

recognizer(IIntentRecognizer)

ライブラリに新しい認識エンジン プラグインを追加します。

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをアクティブなダイアログにルーティングします。

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをトリガーされたグローバル アクションにルーティングします。

selectRoute(Session, IRouteResult)

選択したルートを使用して、現在のメッセージの処理をトリガーします。 既定のロジックは、onSelectRoute()を使用してオーバーライドできます。

selectStackActionRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをトリガーされたスタック アクションにルーティングします。

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

現在の会話ダイアログ スタックを中断することなく、ユーザーにメッセージを送信します。

set(string, any)

ボットの設定を設定します。

use(IMiddlewareMap[])

ボットのミドルウェアをインストールします。 ミドルウェアを使用すると、受信イベントと送信イベント/メッセージをインターセプトできます。

コンストラクターの詳細

UniversalBot(IConnector, any, string)

UniversalBot の新しいインスタンスを作成します。

new UniversalBot(connector?: IConnector, defaultDialog?: any, libraryName?: string)

パラメーター

connector
IConnector

(省略可能) 要求に使用する既定のコネクタ。 チャネルに登録されているより具体的なコネクタがない場合は、このコネクタが使用されます。/**

defaultDialog

any

(省略可能) 受信メッセージの既定のハンドラー。 これは、個々の関数またはウォーターフォール シーケンスのいずれかです。

libraryName

string

(省略可能) ボットのライブラリ名前空間。 既定値は '*' です。

UniversalBot(IConnector, IDialogWaterfallStep | IDialogWaterfallStep[], string)

UniversalBot の新しいインスタンスを作成します。

new UniversalBot(connector: IConnector, defaultDialog?: IDialogWaterfallStep | IDialogWaterfallStep[], libraryName?: string)

パラメーター

connector
IConnector

(省略可能) 要求に使用する既定のコネクタ。 チャネルに登録されているより具体的なコネクタがない場合は、このコネクタが使用されます。/**

defaultDialog

IDialogWaterfallStep | IDialogWaterfallStep[]

(省略可能) 受信メッセージの既定のハンドラー。 これは、個々の関数またはウォーターフォール シーケンスのいずれかです。

libraryName

string

(省略可能) ボットのライブラリ名前空間。 既定値は '*' です。

UniversalBot(IConnector, IUniversalBotSettings)

UniversalBot の新しいインスタンスを作成します。

new UniversalBot(connector: IConnector, settings?: IUniversalBotSettings)

パラメーター

connector
IConnector

(省略可能) 要求に使用する既定のコネクタ。 チャネルに登録されているより具体的なコネクタがない場合は、このコネクタが使用されます。/**

プロパティの詳細

name

ライブラリ固有の名前空間。 これは、ライブラリ ダイアログとローカライズされたプロンプトを解決するために使用されます。

name: string

プロパティ値

string

RouteTypes

findRoutes()から既定で返される routeTypeサポートされています。

static RouteTypes: Object

プロパティ値

Object

メソッドの詳細

addRouteResult(IRouteResult, IRouteResult[])

結果セットへの候補ルートの追加を管理するために、さまざまなルート検索メソッドから呼び出されるヘルパー メソッド。

  • スコアが大きい場合、セット内の現在の最適な一致は、新しい一致のみを含む新しい結果セットが返されます。
  • スコアが現在の最適な一致と等しい場合は、既存のセットに追加されます。
  • スコアが現在のベスト マッチより小さい場合は無視されます。
static function addRouteResult(route: IRouteResult, current?: IRouteResult[])

パラメーター

route
IRouteResult

セットに追加する候補ルート。

current

IRouteResult[]

(省略可能) ルートも追加する結果セット。 見つからない場合は、ルートのみを含む新しいセットが返されます。

戻り値

beginDialog(IAddress, string, any, (err: Error) => void)

ユーザーとの新しいダイアログを事前に開始します。 ボットとユーザーの間の現在の会話は、新しいダイアログ スタックに置き換えられます。

function beginDialog(address: IAddress, dialogId: string, dialogArgs?: any, done?: (err: Error) => void)

パラメーター

address
IAddress

新しい会話を開始するユーザーのアドレス。 これは、ユーザーとの以前の会話中に保存する必要があります。 既存の会話またはダイアログは直ちに終了します。

dialogId

string

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

dialogArgs

any

(省略可能) ダイアログに渡す引数。

done

(err: Error) => void

(省略可能) 操作が完了した後に呼び出す関数。

beginDialogAction(string, string, IDialogActionOptions)

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

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

パラメーター

name

string

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

id

string

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

options
IDialogActionOptions

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

戻り値

bestRouteResult(IRouteResult[], IDialogState[], string)

複数のあいまいなルートを含む結果セット内で使用する最適なルートを検索します。 次のあいまいさを解消する方法が使用されます。

  1. : カスタム ルートの種類が最も優先度が高く、優先されます。 これにより、開発者はボット内のルーティングを非常に強力な方法でオーバーライドできます。
  2. ActiveDialog: アクティブなダイアログが次に高い優先度です。
  3. StackAction: スタック アクションは次に優先度が高く、スタック位置が最も深いアクションが返されます。
  4. GlobalAction: グローバル アクションが最も低い優先度です。 dialogStack がスタックの最も深いライブラリからのアクションの中で過ぎている場合は、優先されます。 それ以外の場合は、最初のものが返されます。
static function bestRouteResult(routes: IRouteResult[], dialogStack?: IDialogState[], rootLibraryName?: string)

パラメーター

routes

IRouteResult[]

フィルター処理する候補ルートの配列。

dialogStack

IDialogState[]

(省略可能) 優先するライブラリ グローバル アクションを決定するために使用されるダイアログ スタック。

rootLibraryName

string

(省略可能) グローバル アクションをあいまいにせず、スタックにダイアログがない場合に優先するライブラリ名前空間。

戻り値

clone(UniversalBot, string)

既存のボットの複製を返します。

function clone(copyTo?: UniversalBot, newName?: string)

パラメーター

copyTo
UniversalBot

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

newName

string

(省略可能) 指定した場合、返されるコピーの名前が新しい名前に変更されます。

戻り値

connector(string, IConnector)

特定のチャネルのコネクタを登録または返します。

function connector(channelId: string, connector?: IConnector)

パラメーター

channelId

string

チャネルの一意の ID。 既定のコネクタを参照するには、"*" の channelId を使用します。

connector
IConnector

(省略可能) 登録するコネクタ。 channelId のコネクタを送信した場合は、 が返されます。

戻り値

customAction(IDialogActionOptions)

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

function customAction(options: IDialogActionOptions)

パラメーター

options
IDialogActionOptions

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

戻り値

dialog(string, Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, boolean)

ライブラリからダイアログを登録または返します。

function dialog(id: string, dialog?: Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep, replace?: boolean)

パラメーター

id

string

レジストリサイト化または取得されるダイアログの一意の ID。

dialog

Dialog | IDialogWaterfallStep[] | IDialogWaterfallStep

(省略可能) 登録するダイアログまたはウォーターフォール。

  • ダイアログ: {Dialog} - 追加するダイアログをします。
  • ダイアログ:{IDialogWaterfallStep[]} - 実行するステップのウォーターフォール。 詳細については、IDialogWaterfallStep の を参照してください。
  • ダイアログ:{IDialogWaterfallStep} - 単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
replace

boolean

(省略可能) true の場合、既に登録されている場合、ダイアログは既存のダイアログを置き換える必要があります。

戻り値

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

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

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

パラメーター

name

string

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

msg
TextOrMessageType

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

options
ICancelActionOptions

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

戻り値

findActiveDialogRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

現在のメッセージを理解しているアクティブなダイアログの信頼度を取得します。 ダイアログは現在のライブラリのメンバーである必要があります。それ以外の場合は、スコア 0.0 が返されます。

function findActiveDialogRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

パラメーター

context
IRecognizeContext

現在の会話の読み取り専用認識エンジン コンテキスト。

callback

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

見つかったルートで呼び出す必要がある関数。

dialogStack

IDialogState[]

(省略可能) 検索するダイアログ スタック。 既定の動作では、セッションの現在のダイアログ スタックを検索します。

findDialog(string, string)

ライブラリとそのすべての依存関係で特定のダイアログを検索します。 見つかった場合はダイアログを返し、それ以外の場合は null を返します。

function findDialog(libName: string, dialogId: string)

パラメーター

libName

string

ダイアログを含むライブラリの名前。

dialogId

string

ライブラリ内のダイアログの一意の ID。

戻り値

findGlobalActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

ライブラリを検索して、グローバル アクションがトリガーされているかどうかを確認します。

function findGlobalActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

パラメーター

context
IRecognizeContext

現在の会話の読み取り専用認識エンジン コンテキスト。

callback

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

見つかったルートで呼び出す必要がある関数。

findRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void)

現在のメッセージを処理する候補ルートを検索します。 メッセージの処理を実際に開始するには、返された結果の 1 つ selectRoute() を呼び出す必要があります。 既定の検索ロジックは、onFindRoute() を使用してオーバーライドでき、現在のライブラリのみが検索されるため、階層内の各ライブラリ findRoutes() 個別に呼び出す必要があります。

function findRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void)

パラメーター

context
IRecognizeContext

現在の会話の読み取り専用認識エンジン コンテキスト。

callback

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

見つかったルートで呼び出す必要がある関数。

findStackActionRoutes(IRecognizeContext, (err: Error, routes: IRouteResult[]) => void, IDialogState[])

セッション ダイアログ スタックを検索して、アクションがトリガーされたかどうかを確認します。

function findStackActionRoutes(context: IRecognizeContext, callback: (err: Error, routes: IRouteResult[]) => void, dialogStack?: IDialogState[])

パラメーター

context
IRecognizeContext

現在の会話の読み取り専用認識エンジン コンテキスト。

callback

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

見つかったルートで呼び出す必要がある関数。

dialogStack

IDialogState[]

(省略可能) 検索するダイアログ スタック。 既定の動作では、セッションの現在のダイアログ スタックを検索します。

forEachDialog((dialog: Dialog, id: string) => void)

すべてのライブラリ ダイアログを列挙します。

function forEachDialog(callback: (dialog: Dialog, id: string) => void)

パラメーター

callback

(dialog: Dialog, id: string) => void

各ダイアログで呼び出す反復子関数。

forEachLibrary((library: Library) => void)

すべてのライブラリの子ライブラリを列挙します。 呼び出し元は、階層を列挙するときに循環参照を回避するために適切な手順を実行する必要があります。 ほとんどの場合、libraryList() の呼び出しは、サイクルを回避するためのロジックが既に含まれているので、より良い選択です。

function forEachLibrary(callback: (library: Library) => void)

パラメーター

callback

(library: Library) => void

各子 libray で呼び出す反復子関数。

get(string)

設定の現在の値を返します。

function get(name: string)

パラメーター

name

string

返すプロパティの名前。 有効な名前は、IUniversalBotSettingsのプロパティです。

戻り値

any

isInConversation(IAddress, (err: Error, lastAccess: Date) => void)

ユーザーとボットの最後のターンがいつ発生したかに関する情報を返します。 これは、beginDialog 前に呼び出して、ユーザーが現在ボットとの会話中かどうかを判断できます。

function isInConversation(address: IAddress, callback: (err: Error, lastAccess: Date) => void)

パラメーター

address
IAddress

検索するユーザーのアドレス。 これは、ユーザーとの以前の会話中に保存する必要があります。

callback

(err: Error, lastAccess: Date) => void

クエリの結果を使用して呼び出す関数。

library(Library | string)

ライブラリの依存関係を登録または返します。

function library(lib: Library | string)

パラメーター

lib

Library | string

  • lib:{Library} - 依存関係として登録するライブラリ。
  • lib:{string} - 参照するライブラリの一意の名前。 すべての依存関係も検索されます。

戻り値

libraryList(boolean)

階層内の一意のライブラリの一覧を返します。 ライブラリ階層のルートで呼び出す必要があり、2 つの子ライブラリが同じ依存ライブラリを参照するときに作成されるサイクルを回避する必要があります。

function libraryList(reverse?: boolean)

パラメーター

reverse

boolean

(省略可能)true リストがリーフアップから生成される場合は、ルート ライブラリが最後に一覧表示されることを意味します。 既定値は false です。これはルートから生成され、ルート ライブラリが最初に一覧表示されることを意味します。

戻り値

loadSession(IAddress, (err: Error, session: Session) => void)

任意のアドレスのセッション オブジェクトを読み込みます。

function loadSession(address: IAddress, callback: (err: Error, session: Session) => void)

パラメーター

address
IAddress

読み込むユーザー/セッションのアドレス。 これは、ユーザーとの以前の会話中に保存する必要があります。

callback

(err: Error, session: Session) => void

読み込まれたセッションで呼び出す関数。

localePath(string)

ローカライズされたプロンプトを含むライブラリ "/locale/" フォルダーへのパスを取得または設定します。 ライブラリのプロンプトは、このパスの下の "/locale/<IETF_TAG>/.json" ファイルに格納する必要があります。"<IETF_TAG>" はロケールの 2 から 3 桁の言語タグを表し、"" はライブラリ名前空間に一致するファイル名です。

function localePath(path?: string)

パラメーター

path

string

(省略可能) ライブラリ "/locale/" フォルダーへのパス。 指定した場合、ライブラリパスが更新されます。

戻り値

string

on(string, (data: any) => void)

イベント リスナーを登録します。 ボットは、受信メッセージと送信メッセージを処理する場合に、独自のイベントを出力します。 また、コネクタから出力されたアクティビティ関連のイベントも転送され、ボットからのすべてのアクティビティを 1 つの場所でリッスンできます。 ボットからのイベントのフローは次のとおりです。

受信したメッセージ

ボットが新しいメッセージを受信すると、次のイベントが順番に生成されます。

lookupUser -> receive -> incoming -> getStorageData -> ルーティング

インストール 受信ミドルウェア は、"受信" イベントと "受信" イベントの間で実行されます。 "ルーティング" イベントが生成されると、botbuilder ミドルウェア は、メッセージをボットアクティブ ダイアログにディスパッチする前に実行されます。

受信したコネクタ アクティビティ

コネクタは、アクティビティ イベントを生成して、ユーザーが入力しているか、ボットをフレンドリにしたことを通知できます。 これらのアクティビティは、メッセージなどのミドルウェアを介してルーティングされますが、ボット ダイアログ システムを介してルーティングされません。 これらはイベントとしてのみ出力されます。

コネクタ イベントのフローは次のとおりです。

lookupUser - 受信> -> (アクティビティ)

送信されたメッセージ

ボットは複数のメッセージを送信できるため、セッションはすべての送信メッセージをバッチ処理し、送信されたメッセージを配信する前にボットの現在の状態を保存します。 1 つの 'saveStorageData' イベントが生成され、バッチ内のすべての送信メッセージに対して、次の一連のイベントが表示されます。

send -> outgoing

インストールされている 送信ミドルウェア は、"送信" イベントと "送信" イベントの間で実行されます。

function on(event: string, listener: (data: any) => void)

パラメーター

event

string

イベントの名前。 ボットとコネクタ固有のイベントの種類:

ボット イベント

  • エラー: エラーが発生しました。 JavaScript Error オブジェクトを渡しました。
  • lookupUser: ユーザーがアドレスを検索しようとしている。 IAddress オブジェクトを渡しました。
  • 受信 : 受信メッセージが受信されました。 IEvent オブジェクトを渡しました。
  • 受信 : 受信メッセージがミドルウェアによって受信および処理されました。 IMessage オブジェクトを渡しました。
  • ルーティング: 受信メッセージがセッションにバインドされ、セッション ミドルウェアを介してルーティングされ、処理のためにアクティブなダイアログにディスパッチされます。 Session オブジェクトを渡しました。
  • 送信: 送信メッセージが処理のためにミドルウェアに送信されようとしています。 IMessage オブジェクトを渡しました。
  • 送信: 送信メッセージはミドルウェアを介して送信され、ユーザー チャット クライアントに配信されようとしています。
  • getStorageData の : セッションの永続化状態データがストレージから読み込まれています。 IBotStorageContext オブジェクトを渡しました。
  • saveStorageData: セッションの永続化された状態データがストレージに書き込まれます。 IBotStorageContext オブジェクトを渡しました。

ChatConnector イベント

  • conversationUpdate: ボットが会話またはその他の会話メタデータに追加されました。 IConversationUpdate オブジェクトを渡しました。
  • contactRelationUpdate: ボットがユーザーの連絡先リストに追加または削除されました。 IContactRelationUpdate オブジェクトを渡しました。
  • 入力: 会話のもう一方の端にあるユーザーまたはボットが入力中です。 IEvent オブジェクトを渡しました。
listener

(data: any) => void

呼び出す関数。

onDisambiguateRoute(IDisambiguateRouteHandler)

ボットの既定のルートのあいまいさを解消するロジックをカスタム実装に置き換えます。

function onDisambiguateRoute(handler: IDisambiguateRouteHandler)

パラメーター

handler
IDisambiguateRouteHandler

受信メッセージをディスパッチする候補ルートと共に呼び出される関数。

onFindRoutes(IFindRoutesHandler)

既定 ルート検索ロジック findRoutes() をカスタム実装に置き換えます。

function onFindRoutes(handler: IFindRoutesHandler)

パラメーター

handler
IFindRoutesHandler

ライブラリに対して findRoutes() が呼び出されるたびに呼び出される関数。

onSelectRoute(ISelectRouteHandler)

selectRoute() の既定 ロジックをカスタム実装に置き換えます。

function onSelectRoute(handler: ISelectRouteHandler)

パラメーター

handler
ISelectRouteHandler

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

receive(IEvent | IEvent[], (err: Error) => void)

新しいイベントを受信したときに呼び出されます。 これを手動で呼び出して、ユーザーからメッセージを受信するボットを模倣できます。

function receive(events: IEvent | IEvent[], done?: (err: Error) => void)

パラメーター

events

IEvent | IEvent[]

受信したイベントまたは (イベントの配列)。

done

(err: Error) => void

(省略可能) 操作が完了した後に呼び出す関数。

recognize(IRecognizeContext, (err: Error, result: IIntentRecognizerResult) => void)

ライブラリ認識エンジンを使用して、ユーザーのテキスト発話を意図と照合しようとします。 詳細については、IIntentRecognizer.recognize() を参照してください。

function recognize(context: IRecognizeContext, callback: (err: Error, result: IIntentRecognizerResult) => void)

パラメーター

context
IRecognizeContext

現在の会話の読み取り専用認識エンジン コンテキスト。

callback

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

認識の完了時に呼び出す必要がある関数。

recognizer(IIntentRecognizer)

ライブラリに新しい認識エンジン プラグインを追加します。

function recognizer(plugin: IIntentRecognizer)

パラメーター

plugin
IIntentRecognizer

追加する認識エンジン。

戻り値

selectActiveDialogRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをアクティブなダイアログにルーティングします。

function selectActiveDialogRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

パラメーター

session
Session

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

route
IRouteResult

findRoutes() または findActiveDialogRoutes()への以前の呼び出しから返されたルートの結果。

newStack

IDialogState[]

selectGlobalActionRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをトリガーされたグローバル アクションにルーティングします。

function selectGlobalActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

パラメーター

session
Session

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

route
IRouteResult

findRoutes() または findGlobalActionRoutes()への以前の呼び出しから返されたルートの結果。

newStack

IDialogState[]

selectRoute(Session, IRouteResult)

選択したルートを使用して、現在のメッセージの処理をトリガーします。 既定のロジックは、onSelectRoute()を使用してオーバーライドできます。

function selectRoute(session: Session, route: IRouteResult)

パラメーター

session
Session

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

route
IRouteResult

findRoutes()への前回の呼び出しから返されたルートの結果。

selectStackActionRoute(Session, IRouteResult, IDialogState[])

現在のメッセージをトリガーされたスタック アクションにルーティングします。

function selectStackActionRoute(session: Session, route: IRouteResult, newStack?: IDialogState[])

パラメーター

session
Session

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

route
IRouteResult

findRoutes() または findStackActionRoutes()への前回の呼び出しから返されたルート結果。

newStack

IDialogState[]

send(IIsMessage | IMessage | IMessage[], (err: Error, addresses?: IAddress[]) => void)

現在の会話ダイアログ スタックを中断することなく、ユーザーにメッセージを送信します。

function send(messages: IIsMessage | IMessage | IMessage[], done?: (err: Error, addresses?: IAddress[]) => void)

パラメーター

messages

IIsMessage | IMessage | IMessage[]

ユーザーを送信するメッセージ (またはメッセージの配列)。

done

(err: Error, addresses?: IAddress[]) => void

(省略可能) 操作が完了した後に呼び出す関数。

set(string, any)

ボットの設定を設定します。

function set(name: string, value: any)

パラメーター

name

string

設定するプロパティの名前。 有効な名前は、IUniversalBotSettingsのプロパティです。

value

any

設定に割り当てる値。

戻り値

use(IMiddlewareMap[])

ボットのミドルウェアをインストールします。 ミドルウェアを使用すると、受信イベントと送信イベント/メッセージをインターセプトできます。

function use(args: IMiddlewareMap[])

パラメーター

args

IMiddlewareMap[]

インストールするミドルウェア フックの 1 つ以上のセット。

戻り値