BotFrameworkAdapter class
警告
この API は非推奨になりました。
Use CloudAdapter
instead.
- Extends
-
BotAdapter
コンストラクター
Bot |
BotFrameworkAdapter クラスの新しいインスタンスを作成します。 |
プロパティ
is |
ストリーミング コンテキストで使用され、ボットがアクティビティを送信するためにストリーミング接続がまだ開いているかどうかを確認します。 |
Token |
継承されたプロパティ
Bot |
|
Connector |
|
OAuth |
|
on |
メソッド
継承されたメソッド
continue |
ユーザーとの会話を非同期的に再開します。時間が経過した後に発生する可能性があります。 |
continue |
ユーザーとの会話を非同期的に再開します。時間が経過した後に発生する可能性があります。 |
continue |
しばらくしてからユーザーとの会話を非同期的に再開します。 |
create |
指定したチャネルに会話を作成します。 |
use((context: Turn |
アダプターのパイプラインにミドルウェアを追加します。 |
コンストラクターの詳細
BotFrameworkAdapter(Partial<BotFrameworkAdapterSettings>)
BotFrameworkAdapter クラスの新しいインスタンスを作成します。
new BotFrameworkAdapter(settings?: Partial<BotFrameworkAdapterSettings>)
パラメーター
- settings
-
Partial<BotFrameworkAdapterSettings>
省略可能。 このアダプター インスタンスに使用する設定。
注釈
パラメーターに settings
channelService 値または openIdMetadata 値が含まれていない場合、コンストラクターはプロセスの環境変数でこれらの値をチェックします。 これらの値は、ボットが Azure にプロビジョニングされている場合に設定できます。その場合は、ボットがグローバル クラウドまたは国内クラウドで適切に動作するために必要です。
BotFrameworkAdapterSettings クラスは、使用可能なアダプター設定を定義します。
プロパティの詳細
isStreamingConnectionOpen
ストリーミング コンテキストで使用され、ボットがアクティビティを送信するためにストリーミング接続がまだ開いているかどうかを確認します。
boolean isStreamingConnectionOpen
プロパティ値
boolean
ストリーミング接続が開いている場合は True、それ以外の場合は false。
TokenApiClientCredentialsKey
TokenApiClientCredentialsKey: symbol
プロパティ値
symbol
継承されたプロパティの詳細
BotIdentityKey
BotIdentityKey: symbol
プロパティ値
symbol
継承元 BotAdapter.BotIdentityKey
ConnectorClientKey
ConnectorClientKey: symbol
プロパティ値
symbol
継承元 BotAdapter.ConnectorClientKey
OAuthScopeKey
OAuthScopeKey: symbol
プロパティ値
symbol
継承元 BotAdapter.OAuthScopeKey
onTurnError
onTurnError: (context: TurnContext, error: Error) => Promise<void>
プロパティ値
(context: TurnContext, error: Error) => Promise<void>
継承元 BotAdapter.onTurnError
メソッドの詳細
continueConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- reference
-
Partial<ConversationReference>
続行する会話への参照。
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
注釈
これは多くの場合、 プロアクティブ通知と呼ばれ、ボットは受信メッセージを待たずに会話またはユーザーにメッセージを事前に送信できます。 たとえば、ボットはこのメソッドを使用して、ユーザーに通知やクーポンを送信できます。
プロアクティブ メッセージを送信するには:
- 受信アクティビティから ConversationReference のコピーを保存します。 たとえば、会話参照をデータベースに格納できます。
- 後で会話を再開するには、このメソッドを呼び出します。 保存した参照を使用して会話にアクセスします。
- 成功すると、アダプターは TurnContext オブジェクトを生成し、関数ハンドラーを
logic
呼び出します。 プロアクティブ メッセージをlogic
送信するには、 関数を使用します。
会話内の受信アクティビティから参照をコピーするには、 TurnContext.getConversationReference メソッドを 使用します。
このメソッドは processActivity メソッドに似ています。
アダプターは TurnContext を作成し、ハンドラーを呼び出す前にミドルウェアを logic
介してルーティングします。 作成されたアクティビティの 種類 は 'event' で 、名前 は 'continueConversation' です。
以下に例を示します。
server.post('/api/notifyUser', async (req, res) => {
// Lookup previously saved conversation reference.
const reference = await findReference(req.body.refId);
// Proactively notify the user.
if (reference) {
await adapter.continueConversation(reference, async (context) => {
await context.sendActivity(req.body.message);
});
res.send(200);
} else {
res.send(404);
}
});
continueConversation(Partial<ConversationReference>, string, (context: TurnContext) => Promise<void>)
しばらくしてからユーザーとの会話を非同期的に再開します。
function continueConversation(reference: Partial<ConversationReference>, oAuthScope: string, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- reference
-
Partial<ConversationReference>
(xref:botframework-schema。会話の ConversationReference) をクリックして続行します。
- oAuthScope
-
string
メッセージ交換を続行するために呼び出す、送信されたアクティビティまたは関数の目的の受信者。
- logic
-
(context: TurnContext) => Promise<void>
省略可能。 アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
createConnectorClient(string)
コネクタ クライアントを作成します。
function createConnectorClient(serviceUrl: string): ConnectorClient
パラメーター
- serviceUrl
-
string
クライアントのサービス URL。
戻り値
ConnectorClient
ConnectorClient インスタンス。
注釈
単体テスト用のモック コネクタ クライアントを作成するには、派生クラスでこれをオーバーライドします。
createConnectorClientWithIdentity(string, ClaimsIdentity)
ClaimsIdentity を使用して ConnectorClient を作成します。
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity): Promise<ConnectorClient>
パラメーター
- serviceUrl
-
string
クライアントのサービス URL。
- identity
-
ClaimsIdentity
ClaimsIdentity
戻り値
Promise<ConnectorClient>
注釈
ClaimsIdentity に Skills 要求の要求が含まれている場合は、Skills で使用する ConnectorClient を作成します。 ClaimsIdentity またはインスタンスの credentials プロパティから適切な対象ユーザーを派生させます。
createConnectorClientWithIdentity(string, ClaimsIdentity, string)
ClaimsIdentity と明示的な対象ユーザーを含む ConnectorClient を作成します。
function createConnectorClientWithIdentity(serviceUrl: string, identity: ClaimsIdentity, audience: string): Promise<ConnectorClient>
パラメーター
- serviceUrl
-
string
クライアントのサービス URL。
- identity
-
ClaimsIdentity
ClaimsIdentity
- audience
-
string
ConnectorClient のメッセージの受信者。 通常は、Bot Framework チャネル サービスまたは別のボットの AppId。
戻り値
Promise<ConnectorClient>
注釈
トリミングされた対象ユーザーが長さ 0 以外の文字列でない場合、対象ユーザーは ClaimsIdentity またはインスタンスの credentials プロパティから派生します。
createConversation(Partial<ConversationReference>, (context: TurnContext) => Promise<void>)
チャネル上のユーザーとの会話を非同期的に作成して開始します。
function createConversation(reference: Partial<ConversationReference>, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- reference
-
Partial<ConversationReference>
作成する会話の参照。
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
非同期操作を表す promise
createConversation(Partial<ConversationReference>, Partial<ConversationParameters>, (context: TurnContext) => Promise<void>)
チャネル上のユーザーとの会話を非同期的に作成して開始します。
function createConversation(reference: Partial<ConversationReference>, parameters: Partial<ConversationParameters>, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- reference
-
Partial<ConversationReference>
作成する会話の参照。
- parameters
-
Partial<ConversationParameters>
会話の作成時に使用されるパラメーター
- logic
-
(context: TurnContext) => Promise<void>
アダプター ミドルウェアの実行後に呼び出す非同期メソッド。
戻り値
Promise<void>
非同期操作を表す promise
deleteActivity(TurnContext, Partial<ConversationReference>)
既存のアクティビティを非同期的に削除します。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 ボット コードからアクティビティを削除するには、 TurnContext.deleteActivity を使用します。
function deleteActivity(context: TurnContext, reference: Partial<ConversationReference>): Promise<void>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- reference
-
Partial<ConversationReference>
削除するアクティビティの会話参照情報。
戻り値
Promise<void>
注釈
すべてのチャネルでこの操作がサポートされているわけではありません。 そうでないチャネルの場合、この呼び出しでは例外がスローされる可能性があります。
deleteConversationMember(TurnContext, string)
現在の会話からメンバーを非同期的に削除します。
function deleteConversationMember(context: TurnContext, memberId: string): Promise<void>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- memberId
-
string
会話から削除するメンバーの ID。
戻り値
Promise<void>
注釈
会話からメンバーの ID 情報を削除します。
すべてのチャネルでこの操作がサポートされているわけではありません。 そうでないチャネルの場合、この呼び出しでは例外がスローされる可能性があります。
emulateOAuthCards(TurnContext | string, boolean)
チャネルのエミュレートされた OAuth カードを非同期的に送信します。 このメソッドはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。
function emulateOAuthCards(contextOrServiceUrl: TurnContext | string, emulate: boolean): Promise<void>
パラメーター
- contextOrServiceUrl
-
TurnContext | string
エミュレーターの URL。
- emulate
-
boolean
true
エミュレートされた OAuth カードをエミュレーターに送信する場合は 。カード false
を送信しない場合は 。
戻り値
Promise<void>
注釈
Bot Framework Emulatorでボットをテストする場合、このメソッドは OAuth カードの相互作用をエミュレートできます。
exchangeToken(TurnContext, string, string, TokenExchangeRequest, CoreAppCredentials)
シングル サインオンなどのトークン交換操作を非同期的に実行します。
function exchangeToken(context: TurnContext, connectionName: string, userId: string, tokenExchangeRequest: TokenExchangeRequest, appCredentials?: CoreAppCredentials): Promise<TokenResponse>
パラメーター
- context
-
TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
- connectionName
-
string
使用する認証接続の名前。
- userId
-
string
トークンに関連付けられるユーザー ID。
- tokenExchangeRequest
-
TokenExchangeRequest
交換要求の詳細。交換するトークンまたは交換する URI。
- appCredentials
-
CoreAppCredentials
省略可能。 OAuth の CoreAppCredentials。
戻り値
Promise<TokenResponse>
getAadTokens(TurnContext, string, string[])
トークン サーバーからユーザーを非同期的にサインアウトします。
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[]): Promise<[key: string]: TokenResponse>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- connectionName
-
string
使用する認証接続の名前。
- resourceUrls
-
string[]
トークンを取得するリソース URL の一覧。
戻り値
Promise<[key: string]: TokenResponse>
リソース URL ごとの TokenResponse オブジェクトのマップ。
getAadTokens(TurnContext, string, string[], CoreAppCredentials)
function getAadTokens(context: TurnContext, connectionName: string, resourceUrls: string[], oAuthAppCredentials?: CoreAppCredentials): Promise<[key: string]: TokenResponse>
パラメーター
- context
-
TurnContext
- connectionName
-
string
- resourceUrls
-
string[]
- oAuthAppCredentials
-
CoreAppCredentials
戻り値
Promise<[key: string]: TokenResponse>
getActivityMembers(TurnContext, string)
特定のアクティビティのメンバーを非同期的に一覧表示します。
function getActivityMembers(context: TurnContext, activityId?: string): Promise<ChannelAccount[]>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- activityId
-
string
省略可能。 メンバーを取得するアクティビティの ID。 指定しない場合は、現在のアクティビティ ID が使用されます。
戻り値
Promise<ChannelAccount[]>
特定のアクティビティに関係するユーザーの ChannelAccount オブジェクトの配列。
注釈
特定のアクティビティに関係するユーザーの ChannelAccount オブジェクトの配列を返します。
これは getConversationMembers とは異なり、会話のすべてのメンバーではなく、アクティビティに直接関係するユーザーのみを返すという点で異なります。
getConversationMembers(TurnContext)
現在の会話のメンバーを非同期的に一覧表示します。
function getConversationMembers(context: TurnContext): Promise<ChannelAccount[]>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
戻り値
Promise<ChannelAccount[]>
会話に現在関係しているすべてのユーザーの ChannelAccount オブジェクトの配列。
注釈
会話に現在関係しているすべてのユーザーの ChannelAccount オブジェクトの配列を返します。
これは、特定のアクティビティに直接関係するメンバーだけでなく、会話のすべてのメンバーを返すという点で 、getActivityMembers とは異なります。
getConversations(TurnContext | string, string)
指定されたチャネルの場合、このボットが参加している会話のページを非同期的に取得します。
function getConversations(contextOrServiceUrl: TurnContext | string, continuationToken?: string): Promise<ConversationsResult>
パラメーター
- contextOrServiceUrl
-
TurnContext | string
クエリを実行するチャネル サーバーの URL、またはチャネル上の会話からの TurnContext オブジェクト。
- continuationToken
-
string
省略可能。 結果の前のページからの継続トークン。
このパラメーターを省略するか、 を使用 undefined
して結果の最初のページを取得します。
戻り値
Promise<ConversationsResult>
結果のページと継続トークンを含む ConversationsResult オブジェクト。
注釈
戻り値の conversations プロパティには、 ConversationMembers オブジェクトのページが含まれています。 各オブジェクトの ID は、ボットがこのチャネルに参加している会話の ID です。 このメソッドは、ボットのサービス URL と資格情報のみが必要なので、会話のコンテキストの外部から呼び出すことができます。
チャネルバッチの結果はページになります。 結果の continuationToken プロパティが空でない場合は、取得するページが増えます。 返されたトークンを使用して、結果の次のページを取得します。
パラメーターが contextOrServiceUrl
TurnContext の場合、チャネル サーバーの URL は から contextOrServiceUrl
取得されます。アクティビティ。serviceUrl。
getSignInLink(TurnContext, string, AppCredentials, string, string)
SigninCard の一部として送信できるサインイン リンクをトークン サーバーから非同期的に取得します。
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: AppCredentials, userId?: string, finalRedirect?: string): Promise<string>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- connectionName
-
string
使用する認証接続の名前。
- oAuthAppCredentials
-
AppCredentials
OAuth の AppCredentials。
- userId
-
string
トークンに関連付けられるユーザー ID。
- finalRedirect
-
string
OAuth フローがリダイレクトする最後の URL。
戻り値
Promise<string>
getSignInLink(TurnContext, string, CoreAppCredentials, string, string)
function getSignInLink(context: TurnContext, connectionName: string, oAuthAppCredentials?: CoreAppCredentials, userId?: string, finalRedirect?: string): Promise<string>
パラメーター
- context
-
TurnContext
- connectionName
-
string
- oAuthAppCredentials
-
CoreAppCredentials
- userId
-
string
- finalRedirect
-
string
戻り値
Promise<string>
getSignInResource(TurnContext, string, string, string, CoreAppCredentials)
サインインのためにユーザーに送信される未加工のサインイン リソースを非同期的に取得します。
function getSignInResource(context: TurnContext, connectionName: string, userId?: string, finalRedirect?: string, appCredentials?: CoreAppCredentials): Promise<SignInUrlResponse>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- connectionName
-
string
使用する認証接続の名前。
- userId
-
string
トークンに関連付けられるユーザー ID。
- finalRedirect
-
string
OAuth フローがリダイレクトする最後の URL。
- appCredentials
-
CoreAppCredentials
省略可能。 OAuth の CoreAppCredentials。
戻り値
Promise<SignInUrlResponse>
getTokenStatus(TurnContext, string, string)
特定のユーザーに対して構成された各接続のトークンの状態を非同期的に取得します。
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string): Promise<TokenStatus[]>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- userId
-
string
省略可能。 存在する場合は、トークンの状態を取得するユーザーの ID。 それ以外の場合は、現在のアクティビティを送信したユーザーの ID が使用されます。
- includeFilter
-
string
省略可能。 含める接続のコンマ区切りの一覧。 存在する場合、 パラメーターは includeFilter
、このメソッドが返すトークンを制限します。
戻り値
Promise<TokenStatus[]>
取得した TokenStatus オブジェクト。
getTokenStatus(TurnContext, string, string, CoreAppCredentials)
function getTokenStatus(context: TurnContext, userId?: string, includeFilter?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenStatus[]>
パラメーター
- context
-
TurnContext
- userId
-
string
- includeFilter
-
string
- oAuthAppCredentials
-
CoreAppCredentials
戻り値
Promise<TokenStatus[]>
getUserToken(TurnContext, string, string)
ログイン フロー内のユーザーのトークンを非同期的に取得しようとします。
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string): Promise<TokenResponse>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- connectionName
-
string
使用する認証接続の名前。
- magicCode
-
string
省略可能。 ユーザーが入力した検証コード。
戻り値
Promise<TokenResponse>
ユーザー トークンを含む TokenResponse オブジェクト。
getUserToken(TurnContext, string, string, CoreAppCredentials)
function getUserToken(context: TurnContext, connectionName: string, magicCode?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<TokenResponse>
パラメーター
- context
-
TurnContext
- connectionName
-
string
- magicCode
-
string
- oAuthAppCredentials
-
CoreAppCredentials
戻り値
Promise<TokenResponse>
process(Request, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<void>)
各ストリーミング要求にロジック関数を適用して、Web ソケット接続を処理します。
function process(req: Request, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- socket
-
INodeSocket
対応する INodeSocket
- head
-
INodeBuffer
対応する INodeBuffer
- logic
-
(context: TurnContext) => Promise<void>
適用するロジック関数
戻り値
Promise<void>
非同期操作を表す promise。
process(Request, Response, (context: TurnContext) => Promise<void>)
ロジック関数を適用して Web 要求を処理します。
function process(req: Request, res: Response, logic: (context: TurnContext) => Promise<void>): Promise<void>
パラメーター
- logic
-
(context: TurnContext) => Promise<void>
適用するロジック関数
戻り値
Promise<void>
非同期操作を表す promise。
processActivity(WebRequest, WebResponse, (context: TurnContext) => Promise<any>)
ターン コンテキストを非同期的に作成し、受信アクティビティのミドルウェア パイプラインを実行します。
function processActivity(req: WebRequest, res: WebResponse, logic: (context: TurnContext) => Promise<any>): Promise<void>
パラメーター
- req
- WebRequest
Express または Restify スタイルの要求オブジェクト。
- res
- WebResponse
Express または Restify スタイルの応答オブジェクト。
- logic
-
(context: TurnContext) => Promise<any>
ミドルウェア パイプラインの末尾でを呼び出す関数。
戻り値
Promise<void>
注釈
これは、ボットが受信メッセージを受信し、会話のターンを定義する主な方法です。 このメソッドは以下の操作を行います。
- 受信要求を解析して認証します。
- アクティビティは、受信要求の本文から読み取られます。 アクティビティを解析できない場合は、エラーが返されます。
- 送信者の ID は、ボット
appId
の とappPassword
を使用して、エミュレーターまたは有効な Microsoft サーバーとして認証されます。 送信者の ID が検証されていない場合、要求は拒否されます。
- 受信したアクティビティの TurnContext オブジェクトを作成します。
- このオブジェクトは、 取り消し可能なプロキシでラップされます。
- このメソッドが完了すると、プロキシは取り消されます。
- アダプターのミドルウェア パイプラインを介してターン コンテキストを送信します。
- ターン コンテキストを関数に
logic
送信します。- ボットは、この時点で追加のルーティングまたは処理を実行する場合があります。
Promise を返す (またはハンドラーを提供する
async
) と、アダプターは非同期操作の完了を待機します。 - 関数が
logic
完了すると、ミドルウェアによって設定された promise チェーンが解決されます。
- ボットは、この時点で追加のルーティングまたは処理を実行する場合があります。
Promise を返す (またはハンドラーを提供する
ヒント
ボットのコンソール出力にエラー TypeError: Cannot perform 'set' on a proxy that has been revoked
が表示される場合は、 キーワードを使用 await
せずに非同期関数が使用されたことが原因である可能性があります。 すべての非同期関数で await が使用されていることを確認します。
ミドルウェアはターンを ショート させることができます。 この場合、後続の logic
ミドルウェアと関数は呼び出されません。ただし、この時点より前のすべてのミドルウェアは、引き続き完了まで実行されます。
ミドルウェア パイプラインの詳細については、ボットのしくみとミドルウェアに関する記事を参照してください。
アダプターの use メソッドを 使用 して、アダプターにミドルウェアを追加します。
以下に例を示します。
server.post('/api/messages', (req, res) => {
// Route received request to adapter for processing
adapter.processActivity(req, res, async (context) => {
// Process any messages received
if (context.activity.type === ActivityTypes.Message) {
await context.sendActivity(`Hello World`);
}
});
});
processActivityDirect(Activity, (context: TurnContext) => Promise<any>)
ターン コンテキストを非同期的に作成し、受信アクティビティのミドルウェア パイプラインを実行します。
function processActivityDirect(activity: Activity, logic: (context: TurnContext) => Promise<any>): Promise<void>
パラメーター
- activity
-
Activity
処理するアクティビティ。
- logic
-
(context: TurnContext) => Promise<any>
ミドルウェア パイプラインの末尾でを呼び出す関数。
戻り値
Promise<void>
注釈
これは、ボットが受信メッセージを受信し、会話のターンを定義する主な方法です。 このメソッドは以下の操作を行います。
- 受信したアクティビティの TurnContext オブジェクトを作成します。
- このオブジェクトは、 取り消し可能なプロキシでラップされます。
- このメソッドが完了すると、プロキシは取り消されます。
- アダプターのミドルウェア パイプラインを介してターン コンテキストを送信します。
- ターン コンテキストを関数に
logic
送信します。- ボットは、この時点で追加のルーティングまたは処理を実行する場合があります。
Promise を返す (またはハンドラーを提供する
async
) と、アダプターは非同期操作の完了を待機します。 - 関数が
logic
完了すると、ミドルウェアによって設定された promise チェーンが解決されます。
- ボットは、この時点で追加のルーティングまたは処理を実行する場合があります。
Promise を返す (またはハンドラーを提供する
ミドルウェアはターンを ショート させることができます。 この場合、後続の logic
ミドルウェアと関数は呼び出されません。ただし、この時点より前のすべてのミドルウェアは、引き続き完了まで実行されます。
ミドルウェア パイプラインの詳細については、ボットのしくみとミドルウェアに関する記事を参照してください。
アダプターの use メソッドを 使用 して、アダプターにミドルウェアを追加します。
processRequest(IReceiveRequest)
要求の有効性を確認し、適切な仮想エンドポイントのマッピングを試み、必要に応じて応答を生成して返します。
function processRequest(request: IReceiveRequest): Promise<StreamingResponse>
パラメーター
- request
-
IReceiveRequest
接続されているチャネルからの ReceiveRequest。
戻り値
Promise<StreamingResponse>
BotAdapter によって作成され、要求を発生させたクライアントに送信される応答。
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 が含まれます。
signOutUser(TurnContext, string, string)
トークン サーバーからユーザーを非同期的にサインアウトします。
function signOutUser(context: TurnContext, connectionName?: string, userId?: string): Promise<void>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- connectionName
-
string
使用する認証接続の名前。
- userId
-
string
サインアウトするユーザーの ID。
戻り値
Promise<void>
signOutUser(TurnContext, string, string, CoreAppCredentials)
function signOutUser(context: TurnContext, connectionName?: string, userId?: string, oAuthAppCredentials?: CoreAppCredentials): Promise<void>
パラメーター
- context
-
TurnContext
- connectionName
-
string
- userId
-
string
- oAuthAppCredentials
-
CoreAppCredentials
戻り値
Promise<void>
updateActivity(TurnContext, Partial<Activity>)
以前のアクティビティを更新されたバージョンに非同期的に置き換えます。 このインターフェイスはフレームワークをサポートしており、コードに対して直接呼び出されるものではありません。 TurnContext.updateActivity を使用して、ボット コードからアクティビティを更新します。
function updateActivity(context: TurnContext, activity: Partial<Activity>): Promise<ResourceResponse | void>
パラメーター
- context
-
TurnContext
ターンのコンテキスト オブジェクト。
- activity
-
Partial<Activity>
置き換えるアクティビティの更新されたバージョン。
戻り値
Promise<ResourceResponse | void>
Promise
操作の ResourceResponse を表す 。
注釈
すべてのチャネルでこの操作がサポートされているわけではありません。 そうでないチャネルの場合、この呼び出しでは例外がスローされる可能性があります。
useNamedPipe((context: TurnContext) => Promise<any>, string, number, () => void)
ハンドラーを名前付きパイプ サーバーに接続し、受信要求のリッスンを開始します。
function useNamedPipe(logic: (context: TurnContext) => Promise<any>, pipeName?: string, retryCount?: number, onListen?: () => void): Promise<void>
パラメーター
- logic
-
(context: TurnContext) => Promise<any>
受信要求を処理するロジック。
- pipeName
-
string
サーバーの作成時に使用する名前付きパイプの名前。
- retryCount
-
number
受信パイプと発信パイプのバインドを試行する回数
- onListen
-
() => void
サーバーが受信パイプと発信パイプの両方でリッスンしているときに 1 回起動するオプションのコールバック
戻り値
Promise<void>
useWebSocket(WebRequest, INodeSocket, INodeBuffer, (context: TurnContext) => Promise<any>)
最初の要求を処理して、ストリーミング サーバー経由で有効期間の長い接続を確立します。
function useWebSocket(req: WebRequest, socket: INodeSocket, head: INodeBuffer, logic: (context: TurnContext) => Promise<any>): Promise<void>
パラメーター
- req
- WebRequest
接続要求。
- socket
-
INodeSocket
ボット (サーバー) とチャネル/呼び出し元 (クライアント) の間の未加工のソケット接続。
- head
-
INodeBuffer
アップグレードされたストリームの最初のパケット。
- logic
-
(context: TurnContext) => Promise<any>
WebSocket 接続の有効期間中に受信ストリーミング要求を処理するロジック。
戻り値
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
継承元 BotAdapter.continueConversationAsync
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
継承元 BotAdapter.continueConversationAsync
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
継承元 BotAdapter.continueConversationAsync
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 が含まれます。
継承元 BotAdapter.createConversationAsync
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
更新されたアダプター オブジェクト。
注釈
ミドルウェアは、初期化時にアダプターに追加されます。 各ターンでは、アダプターはミドルウェアを追加した順序で呼び出します。
継承元 BotAdapter.use