BotFrameworkAdapter クラス
- java.lang.Object
- com.microsoft.bot.builder.BotAdapter
- com.microsoft.bot.builder.BotFrameworkAdapter
実装
public class BotFrameworkAdapter
extends BotAdapter
implements AdapterIntegration, UserTokenProvider, ConnectorClientBuilder
ボットをサービス エンドポイントに接続できるボット アダプター。 ボット アダプターでは、認証プロセスのカプセル化、および Bot Connector Service との間でのアクティビティの送受信が行われます。 ボットがアクティビティを受信すると、アダプターによってコンテキスト オブジェクトが作成され、ボットのアプリケーション ロジックに渡され、応答がユーザーのチャネルに返されます。
adapter\u2019s ミドルウェア コレクションにオブジェクトを追加Middlewareするには、 を使用use(Middleware middleware)します。 アダプターは、ボット ミドルウェア パイプラインを介して受信アクティビティを処理し、bot\u2019s ロジックに転送してから、もう一度戻します。 各アクティビティがボットを出入りして流れる際、ボット ロジックの実行前と実行後のどちらでも、各ミドルウェアがアクティビティを検査または操作できます。
フィールドの概要
修飾子と型 | フィールドと説明 |
---|---|
static final java.lang.String |
CONNECTOR_CLIENT_KEY
コネクタ |
static final java.lang.String |
INVOKE_RESPONSE_KEY
呼び出し |
static final java.lang.String |
TEAMSCONNECTOR_CLIENT_KEY
Teams |
コンストラクターの概要
コンストラクター | 説明 |
---|---|
BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware) |
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。 |
BotFrameworkAdapter(CredentialProvider withCredentialProvider) |
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。 |
BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware) |
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。 |
BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware) |
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。 |
メソッドの概要
メソッドの継承元: BotAdapter
メソッドの継承元: java.lang.Object
フィールドの詳細
CONNECTOR_CLIENT_KEY
public static final String CONNECTOR_CLIENT_KEY
ConnectorClient を格納するキー。
INVOKE_RESPONSE_KEY
public static final String INVOKE_RESPONSE_KEY
InvokeResponse を格納するキー。
TEAMSCONNECTOR_CLIENT_KEY
public static final String TEAMSCONNECTOR_CLIENT_KEY
TeamsConnectorClient を格納するキー。 テスト専用。
コンストラクターの詳細
BotFrameworkAdapter
public BotFrameworkAdapter(AppCredentials withCredentials, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider)
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, AuthenticationConfiguration withAuthConfig, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。
Parameters:
BotFrameworkAdapter
public BotFrameworkAdapter(CredentialProvider withCredentialProvider, ChannelProvider withChannelProvider, RetryStrategy withRetryStrategy, Middleware withMiddleware)
資格情報プロバイダーを使用して、 クラスの BotFrameworkAdapter 新しいインスタンスを初期化します。
Parameters:
メソッドの詳細
addConnectorClientToCache
protected void addConnectorClientToCache(String serviceUrl, String appId, String scope, ConnectorClient client)
ConnectorClient をキャッシュに挿入します。 単体テストの場合のみ。
Parameters:
buildAppCredentials
protected CompletableFuture
指定した appId とスコープの AppCredentials オブジェクトを作成します。
Parameters:
Returns:
continueConversation
public CompletableFuture
プロアクティブ メッセージを会話に送信します。
メッセージを会話に事前に送信するには、このメソッドを呼び出します。 ほとんどのチャネルでは、ボットがアクティビティをユーザーに送信する前に、ユーザーがボットとの会話を開始する必要があります。
Overrides:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)Parameters:
Returns:
continueConversation
public CompletableFuture
プロアクティブ メッセージを会話に送信します。
メッセージを会話に事前に送信するには、このメソッドを呼び出します。 ほとんどのチャネルでは、ボットがアクティビティをユーザーに送信する前に、ユーザーがボットとの会話を開始する必要があります。
Overrides:
BotFrameworkAdapter.continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)Parameters:
Returns:
continueConversation
public CompletableFuture
ボットから会話にプロアクティブ メッセージを送信します。
メッセージを会話に事前に送信するには、このメソッドを呼び出します。 ほとんどのチャネルでは、ボットがアクティビティをユーザーに送信する前に、ユーザーがボットとの会話を開始する必要があります。
このオーバーロードは、BotId を渡すように要求することで、Node の実装とは異なります。 .Net コードを使用すると、Node でサポートされていない 1 つのアダプターで複数のボットをホストできます。
processActivity(String authHeader, Activity activity, BotCallbackHandler callback) runPipeline(TurnContext context, BotCallbackHandler callback)
Overrides:
BotFrameworkAdapter.continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)Parameters:
Returns:
createConnectorClient
public CompletableFuture
コネクタ クライアントを非同期に作成します。
Parameters:
Returns:
createConversation
public CompletableFuture
指定したチャネルに会話を作成します。 会話を開始するには、ボットがそのアカウント情報と、そのチャネルのユーザーのアカウント情報を知っている必要があります。 ほとんどのチャネルでは、直接メッセージ (グループ以外) の会話の開始のみがサポートされています。
アダプターは、チャネルで新しい会話を作成し、そのミドルウェア パイプラインを conversationUpdate
介して メソッドにアクティビティを callback
送信します。
指定したユーザーを使用して会話が確立された場合、アクティビティ Activity#getConversation の ID には新しい会話の ID が含まれます。
Parameters:
Returns:
createConversation
public CompletableFuture
指定したチャネルに会話を作成します。 会話を開始するには、ボットがそのアカウント情報と、そのチャネルのユーザーのアカウント情報を知っている必要があります。 ほとんどのチャネルでは、直接メッセージ (グループ以外) の会話の開始のみがサポートされています。
アダプターは、チャネルで新しい会話を作成し、そのミドルウェア パイプラインを conversationUpdate
介して メソッドにアクティビティを callback
送信します。
指定したユーザーを使用して会話が確立された場合、アクティビティ Activity#getConversation の ID には新しい会話の ID が含まれます。
Parameters:
Returns:
createOAuthAPIClient
protected CompletableFuture
ボットの OAuth クライアントを作成します。
注: これは主に保護されているため、単体テストでをオーバーライドしてモック OAuthClient を提供できます。
Parameters:
Returns:
deleteActivity
public CompletableFuture
会話内の既存のアクティビティを削除します。
Overrides:
BotFrameworkAdapter.deleteActivity(TurnContext context, ConversationReference reference)Parameters:
Returns:
deleteConversationMember
public CompletableFuture
現在の会話からメンバーを削除します。
Parameters:
Returns:
exchangeToken
public CompletableFuture
シングル サインオンなどのトークン交換操作を実行します。
Parameters:
Returns:
exchangeToken
public CompletableFuture
シングル サインオンなどのトークン交換操作を実行します。
Parameters:
Returns:
getAadTokens
public CompletableFuture<>
カスタマイズされた AppCredentials を使用して、構成された接続上の特定のリソースの Azure Active Directory トークンを取得します。
Parameters:
Returns:
getAadTokens
public CompletableFuture<>
構成された接続上の特定のリソースの Azure Active Directory トークンを取得します。
Parameters:
Returns:
getActivityMembers
public CompletableFuture<>
特定のアクティビティのメンバーを一覧表示します。
Parameters:
Returns:
getActivityMembers
public CompletableFuture<>
特定のアクティビティのメンバーを一覧表示します。
Parameters:
Returns:
getConnectorClientCache
protected Map
ConnectorClient キャッシュを取得します。 単体テスト用。
Returns:
getConversationMembers
public CompletableFuture<>
現在の会話のメンバーを一覧表示します。
Parameters:
Returns:
getConversations
public CompletableFuture
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。 チャネル サーバーは結果をページで返し、各ページにはサーバーから結果の次のページをフェッチするために使用できる "continuationToken" が含まれます。 このオーバーロードは、標準のアクティビティ処理中に呼び出される場合があります。この時点で、現在のアクティビティ処理パイプラインの一部であるボットのサービス URL と資格情報が使用されます。
Parameters:
Returns:
getConversations
public CompletableFuture
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。 チャネル サーバーは結果をページで返し、各ページにはサーバーから結果の次のページをフェッチするために使用できる "continuationToken" が含まれます。 このオーバーロードは、標準のアクティビティ処理中に呼び出される場合があります。この時点で、現在のアクティビティ処理パイプラインの一部であるボットのサービス URL と資格情報が使用されます。
Parameters:
Returns:
getConversations
public CompletableFuture
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。 チャネル サーバーはページで結果を返します。各ページには、サーバーから結果の次のページをフェッチするために使用できる "continuationToken" が含まれます。
Parameters:
context.activity.serviceUrl
取得できます。
Returns:
このオーバーロードは、ボットの ServiceUrl と資格情報のみが必要とされるため、会話のコンテキスト外から呼び出される場合があります。
getConversations
public CompletableFuture
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。 チャネル サーバーはページで結果を返します。各ページには、サーバーから結果の次のページをフェッチするために使用できる "continuationToken" が含まれます。 このオーバーロードは、ボットの ServiceUrl と資格情報のみが必要とされるため、会話のコンテキスト外から呼び出される場合があります。
Parameters:
context.activity.serviceUrl
取得できます。
Returns:
getCredentialsCache
protected Map
AppCredentials キャッシュを取得します。 単体テスト用。
Returns:
getOAuthSignInLink
public CompletableFuture
カスタマイズされた AppCredentials を使用して、接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getOAuthSignInLink
public CompletableFuture
ボットの AppCredentials を使用して、接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getOAuthSignInLink
public CompletableFuture
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
getOAuthSignInLink
public CompletableFuture
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
getOrCreateConnectorClient
protected CompletableFuture
キャッシュまたは新しく作成された ConnectorClient を返します。
注: これは主に、単体テストでこれをオーバーライドしてモック ConnectorClient を提供できるようにするために保護されています
Parameters:
Returns:
getSignInResource
public CompletableFuture
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getSignInResource
public CompletableFuture
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getSignInResource
public CompletableFuture
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
Parameters:
Returns:
If the task completes successfully, the result contains the raw
signin link.
getTokenStatus
public CompletableFuture<>
カスタマイズされた AppCredentials を使用して、特定のユーザーに対して構成された各接続のトークンの状態を取得します。
Parameters:
Returns:
getTokenStatus
public CompletableFuture<>
特定のユーザーに対して構成された各接続のトークンの状態を取得します。
Parameters:
Returns:
getUserToken
public CompletableFuture
カスタマイズされた AppCredentials を使用して、ログイン フロー内のユーザーのトークンを取得しようとします。
Parameters:
Returns:
getUserToken
public CompletableFuture
ログイン フロー内のユーザーのトークンの取得を試みます。
Parameters:
Returns:
keyForAppCredentials
protected static String keyForAppCredentials(String appId, String scope)
アプリ資格情報キャッシュにアクセスするためのキーを生成します。
Parameters:
Returns:
keyForConnectorClient
protected static String keyForConnectorClient(String serviceUrl, String appId, String scope)
コネクタ クライアント キャッシュにアクセスするためのキーを生成します。
Parameters:
Returns:
processActivity
public CompletableFuture
ターン コンテキストを作成し、受信アクティビティのミドルウェア パイプラインを実行します。
Parameters:
Returns:
processActivity
public CompletableFuture
ターン コンテキストを作成し、受信アクティビティのミドルウェア パイプラインを実行します。
Parameters:
Returns:
sendActivities
public CompletableFuture
会話にアクティビティを送信します。
Overrides:
BotFrameworkAdapter.sendActivities(TurnContext context, List<Activity> activities)Parameters:
Returns:
<xref uid="com.microsoft.bot.builder.TurnContext.onSendActivities(com.microsoft.bot.builder.SendActivitiesHandler)" data-throw-if-not-resolved="false" data-raw-source="TurnContext#onSendActivities(SendActivitiesHandler)"></xref>
signOutUser
public CompletableFuture
カスタマイズされた AppCredentials を使用して、トークン サーバーを使用してユーザーをサインアウトします。
Parameters:
Returns:
signOutUser
public CompletableFuture
トークン サーバーを使用してユーザーをサインアウトします。
Parameters:
Returns:
updateActivity
public CompletableFuture
会話内の既存のアクティビティを置き換えます。
Overrides:
BotFrameworkAdapter.updateActivity(TurnContext context, Activity activity)Parameters:
Returns:
これを呼び出す前に、置換アクティビティの ID を置換するアクティビティの ID に設定します。 onUpdateActivity(UpdateActivityHandler handler)
use
public BotFrameworkAdapter use(Middleware middleware)
アダプターのパイプラインにミドルウェアを追加します。 ミドルウェアは、初期化時にアダプターに追加されます。 各ターンについて、アダプターはミドルウェアを追加した順序で呼び出します。
Overrides:
BotFrameworkAdapter.use(Middleware middleware)Parameters:
Returns: