BotAdapter 類別

  • java.lang.Object
    • com.microsoft.bot.builder.BotAdapter

public abstract class BotAdapter

表示可將 Bot 連線至服務端點的 Bot 配接器。 這個類別是抽象的。

Bot 配接器會封裝驗證程式,並將活動傳送至 Bot Connector Service 並從中接收活動。 當 Bot 收到活動時,配接器會建立內容物件、將它傳遞給 Bot 的應用程式邏輯,並將回應傳回使用者的通道。

使用 use(Middleware middleware)Middleware 物件新增至配接器\u2019中間件集合。 配接器會透過 Bot 中間件管線將傳入的活動處理並導向至 Bot\u2019邏輯,然後再次返回。 當每個活動進出 Bot 時,每個中間件都可以在 Bot 邏輯執行前後檢查或處理活動。

TurnContext Activity Bot Middleware

欄位摘要

修飾詞與類型 欄位與描述
static final java.lang.String BOT_IDENTITY_KEY

用來儲存 Bot 宣告身分識別的金鑰。

static final java.lang.String OAUTH_CLIENT_KEY

用來儲存 Bot oauth 用戶端的金鑰。

static final java.lang.String OAUTH_SCOPE_KEY

儲存 Bot oauth 範圍的金鑰。

建構函式摘要

建構函式 Description
BotAdapter()

方法摘要

修飾詞與類型 方法與描述
java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, BotCallbackHandler callback)

將主動式訊息傳送至交談。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, String audience, BotCallbackHandler callback)

將主動式訊息傳送至交談。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

將主動式訊息傳送至交談。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

將主動式訊息傳送至交談。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botId, Activity continuationActivity, BotCallbackHandler callback)

將主動式訊息傳送至交談。

java.util.concurrent.CompletableFuture<java.lang.Void> continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

將主動式訊息傳送至交談。

abstract java.util.concurrent.CompletableFuture<java.lang.Void> deleteActivity(TurnContext context, ConversationReference reference)

在衍生類別中覆寫時,刪除交談中的現有活動。

protected MiddlewareSet getMiddlewareSet()

取得配接器管線中的中間件集合。

OnTurnErrorHandler getOnTurnError()

取得可在中間件或應用程式中攔截例外狀況的錯誤處理程式。

protected java.util.concurrent.CompletableFuture<java.lang.Void> runPipeline(TurnContext context, BotCallbackHandler callback)

啟動目前 Bot 回合的活動處理。

abstract java.util.concurrent.CompletableFuture<ResourceResponse[]> sendActivities(TurnContext context, List<Activity> activities)

在衍生類別中覆寫時,將活動傳送至交談。

void setOnTurnError(OnTurnErrorHandler withTurnError)

設定錯誤處理程式,以攔截中間件或應用程式中的例外狀況。

abstract java.util.concurrent.CompletableFuture<ResourceResponse> updateActivity(TurnContext context, Activity activity)

在衍生類別中覆寫時,取代交談中的現有活動。

BotAdapter use(Middleware middleware)

將中間件新增至配接器的管線。

方法繼承來源 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

欄位詳細資料

BOT_IDENTITY_KEY

public static final String BOT_IDENTITY_KEY

用來儲存 Bot 宣告身分識別的金鑰。

OAUTH_CLIENT_KEY

public static final String OAUTH_CLIENT_KEY

用來儲存 Bot oauth 用戶端的金鑰。

OAUTH_SCOPE_KEY

public static final String OAUTH_SCOPE_KEY

儲存 Bot oauth 範圍的金鑰。

建構函式詳細資料

BotAdapter

public BotAdapter()

方法詳細資料

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, BotCallbackHandler callback)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

參數:

claimsIdentity - 交談的 ClaimsIdentity。
continuationActivity - 具有適當 ConversationReference 的活動,用來繼續交談。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, Activity continuationActivity, String audience, BotCallbackHandler callback)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

參數:

claimsIdentity - 交談的 ClaimsIdentity。
continuationActivity - 具有適當 ConversationReference 的活動,用來繼續交談。
audience - 值,表示主動式訊息的收件者。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, BotCallbackHandler callback)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

參數:

claimsIdentity - 交談的 ClaimsIdentity 參考。
reference - 要繼續之交談的參考。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

public CompletableFuture continueConversation(ClaimsIdentity claimsIdentity, ConversationReference reference, String audience, BotCallbackHandler callback)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

參數:

claimsIdentity - 交談的 ClaimsIdentity 參考。
reference - 要繼續之交談的參考。
audience - 值,表示主動式訊息的收件者。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

public CompletableFuture continueConversation(String botId, Activity continuationActivity, BotCallbackHandler callback)

將主動式訊息傳送至交談。

呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。

參數:

botId - Bot 的應用程式識別碼。 在單一租使用者中會忽略此參數配接器(控制台、測試等),但對於多租使用者感知的 BotFrameworkAdapter 至關重要。
continuationActivity - 具有適當 ConversationReference 的活動,用來繼續交談。
callback - 要呼叫結果 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。

continueConversation

public CompletableFuture continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback)

將主動式訊息傳送至交談。

參數:

botAppId - Bot 的應用程式識別碼。 在單一租使用者中會忽略此參數配接器(控制台、測試等),但對於多租使用者感知的 BotFrameworkAdapter 至關重要。
reference - 要繼續之交談的參考。
callback - 要呼叫所產生 Bot 回合的方法。

傳回:

工作,表示要執行的工作佇列。 呼叫此方法,以主動將訊息傳送至交談。 大部分的通道都需要使用者起始與 Bot 的交談,Bot 才能將活動傳送給使用者。
     <xref uid="com.microsoft.bot.builder.BotAdapter.runPipeline(com.microsoft.bot.builder.TurnContext,com.microsoft.bot.builder.BotCallbackHandler)" data-throw-if-not-resolved="false" data-raw-source="#runPipeline(TurnContext, BotCallbackHandler)"></xref>

deleteActivity

public abstract CompletableFuture deleteActivity(TurnContext context, ConversationReference reference)

在衍生類別中覆寫時,刪除交談中的現有活動。

參數:

context - 回合的內容物件。
reference - 要刪除之活動的交談參考。

傳回:

工作,表示要執行的工作佇列。 交談參考的 ConversationReference#getActivityId 會識別要刪除的活動。 onDeleteActivity(DeleteActivityHandler handler)

getMiddlewareSet

protected MiddlewareSet getMiddlewareSet()

取得配接器管線中的中間件集合。

傳回:

管線的中間件集合。

getOnTurnError

public OnTurnErrorHandler getOnTurnError()

取得可在中間件或應用程式中攔截例外狀況的錯誤處理程式。

傳回:

錯誤處理程式,可在中間件或應用程式中攔截例外狀況。

runPipeline

protected CompletableFuture runPipeline(TurnContext context, BotCallbackHandler callback)

啟動目前 Bot 回合的活動處理。 配接器會依您新增中間件的順序呼叫中間件。 配接器會在回合和下一個委派的內容對象中傳遞,中間件會呼叫委派,以將控制權傳遞至管線中的下一個中間件。 一旦控件到達管線的結尾,配接器就會呼叫 callback 方法。 如果中間件元件未呼叫下一個委派,配接器就不會呼叫任何後續中間件\u2019onTurn(TurnContext turnContext, NextDelegate next) 方法或回呼方法,以及管線短途運算。

當用戶活動 (回應傳訊) 起始回合時,回呼方法會是 Bot onTurn(TurnContext turnContext) 方法的參考。 當回合由呼叫 continueConversation(String botAppId, ConversationReference reference, BotCallbackHandler callback) (主動傳訊) 起始時,回呼方法是呼叫中提供的回呼方法。

參數:

context - 回合的內容物件。
callback - 在管線結尾執行的回呼方法。

傳回:

工作,表示要執行的工作佇列。

sendActivities

public abstract CompletableFuture sendActivities(TurnContext context, List activities)

在衍生類別中覆寫時,將活動傳送至交談。

參數:

context - 回合的內容物件。
activities - 要傳送的活動。

傳回:

工作,表示要執行的工作佇列。 如果成功傳送活動,工作結果會包含 ResourceResponse 對象的陣列,其中包含指派給活動的接收通道標識碼。 onSendActivities(SendActivitiesHandler handler)

setOnTurnError

public void setOnTurnError(OnTurnErrorHandler withTurnError)

設定錯誤處理程式,以攔截中間件或應用程式中的例外狀況。

參數:

withTurnError - 錯誤處理程式,可在中間件或應用程式中攔截例外狀況。

updateActivity

public abstract CompletableFuture updateActivity(TurnContext context, Activity activity)

在衍生類別中覆寫時,取代交談中的現有活動。

參數:

context - 回合的內容物件。
activity - 新的取代活動。

傳回:

工作,表示要執行的工作佇列。 如果成功傳送活動,工作結果會包含 ResourceResponse 物件,其中包含指派給活動的接收通道標識碼。

呼叫此專案之前,請將取代活動的標識碼設定為要取代之活動的標識碼。 onUpdateActivity(UpdateActivityHandler handler)

use

public BotAdapter use(Middleware middleware)

將中間件新增至配接器的管線。

參數:

middleware - 要加入的中間件。

傳回:

更新的配接器物件。 中間件會在初始化時新增至配接器。 針對每個回合,配接器會依您新增中間件的順序呼叫中間件。

適用於