BotFrameworkAdapter クラス
ボットをサービス エンドポイントに接続するアダプターを定義します。
BotFrameworkAdapter クラスの新しいインスタンスを初期化します。
コンストラクター
BotFrameworkAdapter(settings: BotFrameworkAdapterSettings)
パラメーター
| 名前 | 説明 |
|---|---|
|
settings
必須
|
アダプターを初期化するための設定 |
注釈
ボット アダプターは認証プロセスをカプセル化し、Bot Connector Service との間でアクティビティを送受信します。 ボットがアクティビティを受信すると、アダプターはコンテキスト オブジェクトを作成し、それをボットのアプリケーション ロジックに渡し、応答をユーザーのチャネルに返します。 アダプターは、ボット ミドルウェア パイプラインを介して受信アクティビティを処理し、ボットのロジックに誘導してから、もう一度戻します。 各アクティビティがボットの内外を流れるにつれて、ミドルウェアの各部分は、ボット ロジックが実行される前と後の両方で、アクティビティを検査または操作できます。
メソッド
| can_process_outgoing_activity | |
| continue_conversation |
ユーザーとの会話を続行します。 一般に、config.pyの MicrosoftAppId パラメーターにあります。 :type bot_id: <xref:typing.str> :p aram claims_identity: ボット要求 ID :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str> |
| create_connector_client |
ConnectorClientProvider.create_connector_clientの実装。 |
| create_conversation |
ユーザーとの新しい会話を開始します。 グループのメンバーにメッセージを送信するために使用されます。 |
| delete_activity |
以前にチャネルに送信されたアクティビティを削除します。 すべてのチャネルがこの機能をサポートしているわけではないことに注意してください。 手記 ConversationReference のactivity_idは、削除するアクティビティを識別します。 |
| delete_conversation_member |
現在の会話からメンバーを削除します。 |
| exchange_token | |
| exchange_token_from_credentials | |
| get_aad_tokens |
構成された接続上の特定のリソースの Azure Active Directory トークンを取得します。 TurnContext のアクティビティから。 :type user_id: str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential> |
| get_activity_members |
特定のアクティビティのメンバーを一覧表示します。 指定しない場合は、現在のアクティビティ ID が使用されます。 |
| get_conversation_member |
現在の会話のメンバーを取得します。 |
| get_conversation_members |
現在の会話のメンバーを一覧表示します。 |
| get_conversations |
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。 context.activity.serviceUrl :type service_url: str |
| get_oauth_sign_in_link |
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。 |
| get_sign_in_resource_from_user | |
| get_sign_in_resource_from_user_and_credentials | |
| get_token_status |
特定のユーザーに対して構成された各接続のトークンの状態を取得します。 空白にすると、構成されているすべての接続のトークンの状態が返されます。 :type include_filter: str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential> |
| get_user_token |
ログイン フロー内のユーザーのトークンの取得を試みます。 :p aram magic_code" (省略可能) ユーザーがコードを入力して、:str magic_code" str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials を検証しました。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential> |
| key_for_app_credentials | |
| key_for_connector_client | |
| parse_request |
要求 :p aram req: :return を解析して検証します。 |
| process_activity |
ターン コンテキストを作成し、受信アクティビティのミドルウェア パイプラインを実行します。 |
| process_activity_with_identity | |
| process_outgoing_activity | |
| send_activities | |
| sign_out_user |
トークン サーバーを使用してユーザーをサインアウトします。 |
| update_activity |
以前にチャネルに送信されたアクティビティを置き換えます。 すべてのチャネルがこの機能をサポートしているわけではないことに注意してください。 |
can_process_outgoing_activity
can_process_outgoing_activity(activity: Activity) -> bool
パラメーター
| 名前 | 説明 |
|---|---|
|
activity
必須
|
|
continue_conversation
ユーザーとの会話を続行します。
一般に、config.pyの MicrosoftAppId パラメーターにあります。 :type bot_id: <xref:typing.str> :p aram claims_identity: ボット要求 ID :type claims_identity: <xref:botframework.connector.auth.ClaimsIdentity> :p aram audience: :type audience: <xref:typing.str>
async continue_conversation(reference: ConversationReference, callback: Callable, bot_id: str = None, claims_identity: ClaimsIdentity = None, audience: str = None)
パラメーター
| 名前 | 説明 |
|---|---|
|
reference
必須
|
|
|
callback
必須
|
|
|
bot_id
|
規定値: None
|
|
claims_identity
|
規定値: None
|
|
audience
|
規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク。 |
例外
| 型 | 説明 |
|---|---|
|
It raises an argument null exception.
|
注釈
これは、多くの場合、ボットが既に通信中の会話またはユーザーにメッセージをプロアクティブに送信できるように、プロアクティブ メッセージング フローを ボットと呼ばれます。 ユーザーに通知やクーポンを送信するなどのシナリオは、この関数によって有効になります。
create_connector_client
ConnectorClientProvider.create_connector_clientの実装。
async create_connector_client(service_url: str, identity: ClaimsIdentity = None, audience: str = None) -> ConnectorClient
パラメーター
| 名前 | 説明 |
|---|---|
|
service_url
必須
|
サービス URL |
|
identity
|
要求 ID 規定値: None
|
|
audience
|
規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
<xref:botbuilder.core.ConnectorClient> クラスのインスタンス |
create_conversation
ユーザーとの新しい会話を開始します。 グループのメンバーにメッセージを送信するために使用されます。
async create_conversation(reference: ConversationReference, logic: Callable[[TurnContext], Awaitable] = None, conversation_parameters: ConversationParameters = None, channel_id: str = None, service_url: str = None, credentials: AppCredentials = None)
パラメーター
| 名前 | 説明 |
|---|---|
|
reference
必須
|
テナントを含む会話参照 |
|
logic
|
会話の作成に使用するロジック 規定値: None
|
|
conversation_parameters
|
会話の作成に使用する情報 規定値: None
|
|
channel_id
|
<xref:typing.str>
チャネルの ID。 規定値: None
|
|
service_url
|
<xref:typing.str>
チャネルのサービス URL エンドポイント。 規定値: None
|
|
credentials
|
<xref:botframework.connector.auth.AppCredentials>
ボットのアプリケーション資格情報。 規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク。 |
例外
| 型 | 説明 |
|---|---|
|
It raises a generic exception error.
|
注釈
会話を開始するには、ボットがそのアカウント情報と、そのチャネルのユーザーのアカウント情報を知っている必要があります。 ほとんどのチャネルでは、直接メッセージ (グループ以外) の会話の開始のみがサポートされます。 アダプターはチャネルで新しい会話を作成し、ミドルウェア パイプラインを介して会話更新アクティビティをコールバック メソッドに送信しようとします。 指定したユーザーとの会話が確立された場合、アクティビティの ID には新しい会話の ID が含まれます。
delete_activity
以前にチャネルに送信されたアクティビティを削除します。 すべてのチャネルがこの機能をサポートしているわけではないことに注意してください。
手記
ConversationReference のactivity_idは、削除するアクティビティを識別します。
async delete_activity(context: TurnContext, reference: ConversationReference)
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ターンのコンテキスト オブジェクト |
|
reference
必須
|
削除するアクティビティの会話参照 |
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク |
例外
| 型 | 説明 |
|---|---|
|
A exception error
|
delete_conversation_member
現在の会話からメンバーを削除します。
async delete_conversation_member(context: TurnContext, member_id: str) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ターンのコンテキスト オブジェクト |
|
member_id
必須
|
会話から削除するメンバーの ID |
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク。</returns |
例外
| 型 | 説明 |
|---|---|
|
A exception error
|
exchange_token
async exchange_token(turn_context: TurnContext, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
|
|
connection_name
必須
|
|
|
user_id
必須
|
|
|
exchange_request
必須
|
|
exchange_token_from_credentials
async exchange_token_from_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, exchange_request: TokenExchangeRequest) -> TokenResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
|
|
oauth_app_credentials
必須
|
|
|
connection_name
必須
|
|
|
user_id
必須
|
|
|
exchange_request
必須
|
|
get_aad_tokens
構成された接続上の特定のリソースの Azure Active Directory トークンを取得します。
TurnContext のアクティビティから。 :type user_id: str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>
async get_aad_tokens(context: TurnContext, connection_name: str, resource_urls: List[str], user_id: str = None, oauth_app_credentials: AppCredentials = None) -> Dict[str, TokenResponse]
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
|
|
connection_name
必須
|
|
|
resource_urls
必須
|
|
|
user_id
|
規定値: None
|
|
oauth_app_credentials
|
規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
対応する :class:'botbuilder.schema.TokenResponse' へのリソース URL のディクショナリ |
get_activity_members
特定のアクティビティのメンバーを一覧表示します。
指定しない場合は、現在のアクティビティ ID が使用されます。
async get_activity_members(context: TurnContext, activity_id: str)
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
|
|
activity_id
必須
|
|
戻り値
| 型 | 説明 |
|---|---|
|
アクティビティのメンバーの一覧 |
例外
| 型 | 説明 |
|---|---|
|
An exception error
|
get_conversation_member
現在の会話のメンバーを取得します。
async get_conversation_member(context: TurnContext, member_id: str) -> ChannelAccount
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ターンのコンテキスト オブジェクト |
|
member_id
必須
|
メンバー ID |
戻り値
| 型 | 説明 |
|---|---|
|
現在の会話のメンバー |
例外
| 型 | 説明 |
|---|---|
|
<xref:A TypeError if missing member_id>, <xref:service_url>, <xref:or conversation.id>
|
get_conversation_members
現在の会話のメンバーを一覧表示します。
async get_conversation_members(context: TurnContext)
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ターンのコンテキスト オブジェクト |
戻り値
| 型 | 説明 |
|---|---|
|
現在の会話のメンバーの一覧 |
例外
| 型 | 説明 |
|---|---|
|
TypeError if missing service_url or conversation.id
|
get_conversations
このボットが特定のチャネル サーバーに参加した会話を一覧表示します。
context.activity.serviceUrl :type service_url: str
async get_conversations(service_url: str, credentials: AppCredentials, continuation_token: str = None)
パラメーター
| 名前 | 説明 |
|---|---|
|
continuation_token
|
結果の前のページからの継続トークン 規定値: None
|
|
service_url
必須
|
|
|
credentials
必須
|
|
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク |
例外
| 型 | 説明 |
|---|---|
|
A generic exception error
|
注釈
チャネル サーバーは結果をページで返し、各ページには、サーバーから結果の次のページをフェッチするために使用できる continuationToken が含まれます。 タスクが正常に完了すると、結果には現在の会話のメンバーのページが含まれます。 このオーバーロードは、ボットのサービス URL と資格情報のみが必要であり、会話のコンテキストの外部から呼び出される場合があります。
get_oauth_sign_in_link
接続名のサインインのためにユーザーに送信される未加工のサインイン リンクを取得します。
async get_oauth_sign_in_link(context: TurnContext, connection_name: str, final_redirect: str = None, oauth_app_credentials: AppCredentials = None) -> str
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ユーザーとの会話の現在のターンのコンテキスト |
|
connection_name
必須
|
使用する認証接続の名前 |
|
final_redirect
|
OAuth フローがリダイレクトする最後の URL。 規定値: None
|
|
oauth_app_credentials
|
<xref:botframework.connector.auth.AppCredential>
(省略可能)OAuth の AppCredentials。 規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
タスクが正常に完了すると、結果に生のサインイン リンクが含まれます |
get_sign_in_resource_from_user
async get_sign_in_resource_from_user(turn_context: TurnContext, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
|
|
connection_name
必須
|
|
|
user_id
必須
|
|
|
final_redirect
|
規定値: None
|
get_sign_in_resource_from_user_and_credentials
async get_sign_in_resource_from_user_and_credentials(turn_context: TurnContext, oauth_app_credentials: AppCredentials, connection_name: str, user_id: str, final_redirect: str = None) -> SignInUrlResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
|
|
oauth_app_credentials
必須
|
|
|
connection_name
必須
|
|
|
user_id
必須
|
|
|
final_redirect
|
規定値: None
|
get_token_status
特定のユーザーに対して構成された各接続のトークンの状態を取得します。
空白にすると、構成されているすべての接続のトークンの状態が返されます。 :type include_filter: str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>
async get_token_status(context: TurnContext, connection_name: str = None, user_id: str = None, include_filter: str = None, oauth_app_credentials: AppCredentials = None) -> List[TokenStatus]
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
|
|
connection_name
|
規定値: None
|
|
user_id
|
規定値: None
|
|
include_filter
|
規定値: None
|
|
oauth_app_credentials
|
規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
<xref:botframework.connector.token_api.modelsTokenStatus> の配列 |
get_user_token
ログイン フロー内のユーザーのトークンの取得を試みます。
:p aram magic_code" (省略可能) ユーザーがコードを入力して、:str magic_code" str :p aram oauth_app_credentials: (省略可能) OAuth の AppCredentials を検証しました。 :type oauth_app_credentials: <xref:botframework.connector.auth.AppCredential>
async get_user_token(context: TurnContext, connection_name: str, magic_code: str = None, oauth_app_credentials: AppCredentials = None) -> TokenResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
|
|
connection_name
必須
|
|
|
magic_code
|
規定値: None
|
|
oauth_app_credentials
|
規定値: None
|
戻り値
| 型 | 説明 |
|---|---|
|
:<xref:class>:’TokenResponse`
|
トークンの応答 |
例外
| 型 | 説明 |
|---|---|
|
An exception error
|
key_for_app_credentials
static key_for_app_credentials(app_id: str, scope: str)
パラメーター
| 名前 | 説明 |
|---|---|
|
app_id
必須
|
|
|
scope
必須
|
|
key_for_connector_client
static key_for_connector_client(service_url: str, app_id: str, scope: str)
パラメーター
| 名前 | 説明 |
|---|---|
|
service_url
必須
|
|
|
app_id
必須
|
|
|
scope
必須
|
|
parse_request
要求 :p aram req: :return を解析して検証します。
async static parse_request(req)
パラメーター
| 名前 | 説明 |
|---|---|
|
req
必須
|
|
process_activity
ターン コンテキストを作成し、受信アクティビティのミドルウェア パイプラインを実行します。
async process_activity(req, auth_header: str, logic: Callable)
パラメーター
| 名前 | 説明 |
|---|---|
|
req
必須
|
<xref:typing.str>
受信アクティビティ |
|
auth_header
必須
|
<xref:typing.str>
要求の HTTP 認証ヘッダー |
|
logic
必須
|
アダプターのミドルウェア パイプラインの最後に実行するロジック。 |
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク。 |
注釈
このクラスは、ボット Web サーバーによって受信されたアクティビティを処理します。 これには、ユーザーから送信されたすべてのメッセージが含まれます。これは、リアクティブ メッセージング フロー ボットと呼ばれるものを駆動する方法です。 このメソッドを呼び出して、メッセージを会話に事後対応的に送信します。 タスクが正常に完了すると、InvokeResponse が返されます。然も無くば。 null が返されます。
process_activity_with_identity
async process_activity_with_identity(activity: Activity, identity: ClaimsIdentity, logic: Callable)
パラメーター
| 名前 | 説明 |
|---|---|
|
activity
必須
|
|
|
identity
必須
|
|
|
logic
必須
|
|
process_outgoing_activity
async process_outgoing_activity(turn_context: TurnContext, activity: Activity) -> ResourceResponse
パラメーター
| 名前 | 説明 |
|---|---|
|
turn_context
必須
|
|
|
activity
必須
|
|
send_activities
async send_activities(context: TurnContext, activities: List[Activity]) -> List[ResourceResponse]
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
|
|
activities
必須
|
|
sign_out_user
トークン サーバーを使用してユーザーをサインアウトします。
async sign_out_user(context: TurnContext, connection_name: str = None, user_id: str = None, oauth_app_credentials: AppCredentials = None)
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ユーザーとの会話の現在のターンのコンテキスト |
|
connection_name
|
使用する認証接続の名前 規定値: None
|
|
user_id
|
サインアウトするユーザーのユーザー ID 規定値: None
|
|
oauth_app_credentials
|
<xref:botframework.connector.auth.AppCredential>
(省略可能)OAuth の AppCredentials。 規定値: None
|
update_activity
以前にチャネルに送信されたアクティビティを置き換えます。 すべてのチャネルがこの機能をサポートしているわけではないことに注意してください。
async update_activity(context: TurnContext, activity: Activity)
パラメーター
| 名前 | 説明 |
|---|---|
|
context
必須
|
ターンのコンテキスト オブジェクト |
|
activity
必須
|
新しい置換アクティビティ |
戻り値
| 型 | 説明 |
|---|---|
|
実行するキューに登録された作業を表すタスク |
例外
| 型 | 説明 |
|---|---|
|
A generic exception error
|
注釈
アクティビティが正常に送信された場合、タスクの結果には、受信チャネルがアクティビティに割り当てた ID を含む ResourceResponse オブジェクトが含まれます。 この関数を呼び出す前に、置換アクティビティの ID を置換するアクティビティの ID に設定します。