次の方法で共有


BotAdapter class

ボットをサービス エンドポイントに接続できるボット アダプターのコア動作を定義します。

注釈

ボット アダプターは認証プロセスをカプセル化し、Bot Connector Service との間でアクティビティを送受信します。 ボットがアクティビティを受信すると、アダプターによってターン コンテキスト オブジェクトが作成され、ボット アプリケーション ロジックに渡され、応答がユーザーのチャネルに返されます。

アダプターは、ボット ミドルウェア パイプラインを介して受信アクティビティを処理してボット ロジックに誘導し、もう一度戻します。 各アクティビティがボットの内外を流れるにつれて、ミドルウェアの各部分は、ボット ロジックが実行される前と後の両方で、アクティビティを検査または操作できます。 メソッド 使用して、ミドルウェア オブジェクト アダプターのミドルウェア コレクションに追加します。

詳細については、ボットの のしくみとミドルウェアの に関する記事を参照してください。

プロパティ

BotIdentityKey
ConnectorClientKey
OAuthScopeKey
onTurnError

ミドルウェアまたはアプリケーションで例外をキャッチできるエラー ハンドラーを取得または設定します。 ミドルウェアまたはアプリケーションで例外をキャッチできるエラー ハンドラーを設定します。

メソッド

continueConversation(Partial<ConversationReference>, (revocableContext: TurnContext) => Promise<void>)

ユーザーとの会話を非同期的に再開します。時間が経った後に再開される可能性があります。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

ユーザーとの会話を非同期的に再開します。時間が経った後に再開される可能性があります。

continueConversationAsync(ClaimsIdentity, Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)

ユーザーとの会話を非同期的に再開します。時間が経った後に再開される可能性があります。

continueConversationAsync(string, Partial<ConversationReference>, (context: TurnContext) => Promise<void>)

ユーザーとの会話を非同期的に再開します。時間が経った後に再開される可能性があります。

createConversationAsync(string, string, string, string, ConversationParameters, (context: TurnContext) => Promise<void>)

指定したチャネルに会話を作成します。

deleteActivity(TurnContext, Partial<ConversationReference>)

既存のアクティビティを非同期的に削除します。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 TurnContext.deleteActivity 使用して、ボット コードからアクティビティを削除します。

sendActivities(TurnContext, Partial<Activity>[])

送信アクティビティのセットをチャネル サーバーに非同期的に送信します。 このメソッドはフレームワークをサポートしており、コードに対して直接呼び出すものではありません。 ターン コンテキストの sendActivity を使用するか、ボット コードから sendActivities メソッド します。

updateActivity(TurnContext, Partial<Activity>)

以前のアクティビティを更新されたバージョンに非同期的に置き換えます。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 TurnContext.updateActivity を使用して、ボット コードからアクティビティを更新します。

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

アダプターのパイプラインにミドルウェアを追加します。

プロパティの詳細

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

更新されたアダプター オブジェクト。

注釈

ミドルウェアは初期化時にアダプターに追加されます。 各ターンで、アダプターはミドルウェアを追加した順序で呼び出します。