BotAdapter class
ボットをサービス エンドポイントに接続できるボット アダプターのコア動作を定義します。
注釈
ボット アダプターでは、認証プロセスのカプセル化、および Bot Connector Service との間でのアクティビティの送受信が行われます。 ボットがアクティビティを受信すると、アダプターによってターン コンテキスト オブジェクトが作成され、ボット アプリケーション ロジックに渡され、応答がユーザーのチャネルに返されます。
アダプターは、ボット ミドルウェア パイプラインを介して受信アクティビティを処理し、ボット ロジックに転送してから、もう一度やり直します。 各アクティビティがボットを出入りして流れる際、ボット ロジックの実行前と実行後のどちらでも、各ミドルウェアがアクティビティを検査または操作できます。 アダプターのミドルウェア コレクションにミドルウェア オブジェクトを追加するには、use メソッドを使用します。
詳細については、ボットのしくみとミドルウェアに関する記事を参照してください。
プロパティ
Bot |
|
Connector |
|
OAuth |
|
on |
ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを取得または設定します。 ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを設定します。 |
メソッド
プロパティの詳細
BotIdentityKey
BotIdentityKey: symbol
プロパティ値
symbol
ConnectorClientKey
ConnectorClientKey: symbol
プロパティ値
symbol
OAuthScopeKey
OAuthScopeKey: symbol
プロパティ値
symbol
onTurnError
ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを取得または設定します。 ミドルウェアまたはアプリケーションの例外をキャッチできるエラー ハンドラーを設定します。
(context: TurnContext, error: Error) => Promise<void> onTurnError
プロパティ値
(context: TurnContext, error: Error) => Promise<void>
非同期操作を表す promise。
注釈
エラー ハンドラーは、次のパラメーターを使用して呼び出されます。
名前 | 型 | 説明 |
---|---|---|
context |
TurnContext | ターンのコンテキスト オブジェクト。 |
error |
Error |
Node.js エラーがスローされました。 |
メソッドの詳細
continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversation(reference: Partial<ConversationReference>, logic: (revocableContext: TurnContext) => Promise<void>): Promise<void>
パラメーター
- reference
-
Partial<ConversationReference>
続行する会話への参照。
- logic
-
(revocableContext: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
注釈
これは多くの場合、 プロアクティブ通知と呼ばれ、ボットは受信メッセージを待たずに会話またはユーザーにメッセージを事前に送信できます。 たとえば、ボットはこのメソッドを使用して、ユーザーに通知やクーポンを送信できます。
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- claimsIdentity
-
ClaimsIdentity
会話の ClaimsIdentity 。
- reference
-
Partial<ConversationReference>
続行するスレッドの部分的な ConversationReference 。
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
非同期操作を表す promise
continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversationAsync(claimsIdentity: ClaimsIdentity, reference: Partial<ConversationReference>, audience: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- claimsIdentity
-
ClaimsIdentity
会話の ClaimsIdentity 。
- reference
-
Partial<ConversationReference>
続行するスレッドの部分的な ConversationReference 。
- audience
-
string
プロアクティブ メッセージの受信者を示す 値。
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
非同期操作を表す promise
continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversationAsync(botAppId: string, reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- botAppId
-
string
ボットのアプリケーション ID。 このパラメーターは、アダプター (コンソール、テストなど) のシングル テナントでは無視されますが、マルチテナント対応の BotFrameworkAdapter にとって重要です。
- reference
-
Partial<ConversationReference>
続行するスレッドの部分的な ConversationReference 。
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
非同期操作を表す promise
createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)
指定したチャネルに会話を作成します。
function createConversationAsync(_botAppId: string, _channelId: string, _serviceUrl: string, _audience: string, _conversationParameters: ConversationParameters, _logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- _botAppId
-
string
ボットのアプリケーション ID。
- _channelId
-
string
チャネルの ID。
- _serviceUrl
-
string
チャネルの ID。
- _audience
-
string
コネクタの対象ユーザー。
- _conversationParameters
-
ConversationParameters
会話の作成に使用する会話情報
- _logic
-
(context: TurnContext) => Promise<void>
結果のボット ターンを呼び出すメソッド。
戻り値
Promise<void>
非同期操作を表す promise
注釈
会話を開始するには、ボットがそのアカウント情報と、そのチャネルのユーザーのアカウント情報を知っている必要があります。 ほとんどの_channelsは、直接メッセージ (グループ以外) の会話の開始のみをサポートしています。
アダプターは、チャネルで新しい会話を作成し、そのミドルウェア パイプラインを conversationUpdate
介してロジック メソッドにアクティビティを送信しようとします。
指定したユーザーとの会話が確立されている場合、アクティビティの会話の ID には、新しい会話の ID が含まれます。
deleteActivity(TurnContext, Partial<ConversationReference>)
既存のアクティビティを非同期的に削除します。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 ボット コードからアクティビティを削除するには、 TurnContext.deleteActivity を使用します。
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
パラメーター
- context
- TurnContext
ターンのコンテキスト オブジェクト。
- reference
-
Partial<ConversationReference>
削除するアクティビティの会話参照情報。
戻り値
Promise<void>
注釈
すべてのチャネルでこの操作がサポートされているわけではありません。 そうでないチャネルの場合、この呼び出しでは例外がスローされる可能性があります。
sendActivities(TurnContext, Partial<Activity>[])
送信アクティビティのセットをチャネル サーバーに非同期的に送信します。 このメソッドはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 ボット コードからターン コンテキストの sendActivity メソッドまたは sendActivities メソッドを使用します。
function sendActivities(context: TurnContext, activities: Partial<Activity>[]): Promise<ResourceResponse[]>
パラメーター
- context
- TurnContext
ターンのコンテキスト オブジェクト。
- activities
-
Partial<Activity>[]
送信するアクティビティ。
戻り値
Promise<ResourceResponse[]>
ResourceResponse の配列
注釈
アクティビティは、受信した順序で順番に送信されます。 送信されたアクティビティごとに応答オブジェクトが返されます。 アクティビティの場合 message
、配信されたメッセージの ID が含まれます。
updateActivity(TurnContext, Partial<Activity>)
以前のアクティビティを更新されたバージョンに非同期的に置き換えます。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 TurnContext.updateActivity を使用して、ボット コードからアクティビティを更新します。
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
パラメーター
- context
- TurnContext
ターンのコンテキスト オブジェクト。
- activity
-
Partial<Activity>
置き換えるアクティビティの更新されたバージョン。
戻り値
Promise<ResourceResponse | void>
注釈
すべてのチャネルでこの操作がサポートされているわけではありません。 そうでないチャネルの場合、この呼び出しでは例外がスローされる可能性があります。
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
アダプターのパイプラインにミドルウェアを追加します。
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
パラメーター
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
追加するミドルウェアまたはミドルウェア ハンドラー。
戻り値
this
更新されたアダプター オブジェクト。
注釈
ミドルウェアは、初期化時にアダプターに追加されます。 各ターンでは、アダプターはミドルウェアを追加した順序で呼び出します。