ActivityHandler 類別

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

實作

Bot


public class ActivityHandler
implements Bot

用於進一步子類別化之 Bot 介面的實作。 衍生自這個類別,以插入程式代碼來處理特定 Activity 型別。 活動的前置和後置處理可以藉由衍生和呼叫基類實作來插入。

建構函式摘要

建構函式 Description
ActivityHandler()

方法摘要

修飾詞與類型 方法與描述
protected InvokeResponse createInvokeResponse(Object body)

使用指定的本文建立成功的 InvokeResponse。

protected java.util.concurrent.CompletableFuture<AdaptiveCardInvokeResponse> onAdaptiveCardInvoke(TurnContext turnContext, AdaptiveCardInvokeValue invokeValue)

當 Bot 傳送調適型卡片動作執行時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onCommandActivity(TurnContext turnContext)

當使用 onTurn(TurnContext turnContext) 的基底行為時,收到命令活動時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onCommandResultActivity(TurnContext turnContext)

使用命令結果活動 onTurn(TurnContext turnContext) 時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onConversationUpdateActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從通道接收交談更新活動時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEndOfConversationActivity(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes 特有的邏輯。END_OF_CONVERSATION 活動。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEvent(TurnContext turnContext)

當使用 onEventActivity(TurnContext turnContext) 的基底行為時,收到標記/回應以外的事件時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onEventActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從連接器接收事件活動時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdate(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes 特有的邏輯。安裝更新活動。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdateAdd(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes 特有的邏輯。安裝將 [動作] 設定為 [新增] 的更新活動。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onInstallationUpdateRemove(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes 特有的邏輯。安裝將 [動作] 設定為 [移除] 的更新活動。

protected java.util.concurrent.CompletableFuture<InvokeResponse> onInvokeActivity(TurnContext turnContext)

當使用Turn 的基礎行為時,從連接器接收叫用活動時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMembersAdded(List<ChannelAccount> membersAdded, TurnContext turnContext)

在衍生類別中覆寫此專案,以提供 Bot 加入交談以外的成員時的邏輯,例如 Bot 的歡迎邏輯。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMembersRemoved(List<ChannelAccount> membersRemoved, TurnContext turnContext)

在衍生類別中覆寫此專案,以在 Bot 以外的成員離開交談時提供邏輯,例如 Bot 的告別邏輯。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMessageActivity(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes#MESSAGE 活動的特定邏輯,例如交談邏輯。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onMessageReactionActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從連接器接收事件活動時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onReactionsAdded(List<MessageReaction> messageReactions, TurnContext turnContext)

在衍生類別中覆寫這個 ,以提供邏輯,以在將先前活動的反應新增至交談時提供邏輯。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onReactionsRemoved(List<MessageReaction> messageReactions, TurnContext turnContext)

在衍生類別中覆寫這個 ,以提供邏輯,以在對先前活動的反應從交談中移除時提供邏輯。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onSignInInvoke(TurnContext turnContext)

當使用InvokeActivity 的基底行為時,叫用 'signin/verifyState' 或 'signin/tokenExchange' 事件時叫用。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onTokenResponseEvent(TurnContext turnContext)

當使用 onEventActivity(TurnContext turnContext) 的基底行為時,收到「令牌/回應」事件時叫用。

java.util.concurrent.CompletableFuture<java.lang.Void> onTurn(TurnContext turnContext)

在執行時間由配接器呼叫(例如,BotFrameworkAdapter),以處理輸入 Activity

protected java.util.concurrent.CompletableFuture<java.lang.Void> onTypingActivity(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes 特有的邏輯。輸入活動。

protected java.util.concurrent.CompletableFuture<java.lang.Void> onUnrecognizedActivityType(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,收到訊息、交談更新或事件以外的活動時叫用。

方法繼承來源 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

建構函式詳細資料

ActivityHandler

public ActivityHandler()

方法詳細資料

createInvokeResponse

protected InvokeResponse createInvokeResponse(Object body)

使用指定的主體建立成功的 InvokeResponse。

參數:

body - 叫用回應中要傳回的主體。

傳回:

InvokeResponse 物件。

onAdaptiveCardInvoke

protected CompletableFuture onAdaptiveCardInvoke(TurnContext turnContext, AdaptiveCardInvokeValue invokeValue)

當 Bot 傳送調適型卡片動作執行時叫用。

參數:

turnContext - 這個回合的強型別內容物件。
invokeValue - 來自傳入活動 Value 的字串型別物件。

傳回:

工作,表示要執行的工作佇列。 當 {@link OnInvokeActivity(TurnContext(InvokeActivity)} 方法收到具有 adaptiveCard/actionInvokeActivity.name 的 Invoke 時,它會呼叫此方法。

onCommandActivity

protected CompletableFuture onCommandActivity(TurnContext turnContext)

當使用 onTurn(TurnContext turnContext) 的基底行為時,收到命令活動時叫用。 命令是執行動作的要求,而接收者通常會以一或多個 commandResult 活動回應。 接收者也應該明確拒絕不支援的命令活動。

參數:

turnContext - 這個回合的強型別內容物件。

傳回:

工作,表示要執行的工作佇列。 當 onTurn(TurnContext turnContext) 方法收到命令活動時,它會呼叫此方法。 在衍生類別中,覆寫此方法以新增適用於所有 comand 活動的邏輯。 在呼叫基類 onCommandActivity(TurnContext turnContext) 方法之前,新增要套用至特定命令處理邏輯的邏輯。 在呼叫基類 onCommandActivity(TurnContext turnContext) 方法之後,新增要套用的特定命令處理邏輯。 命令活動會將程式設計資訊從用戶端或通道傳達給 Bot。 命令活動的意義是由 name 屬性所定義,這個屬性在通道範圍內有意義。

onCommandResultActivity

protected CompletableFuture onCommandResultActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,收到 CommandResult 活動時叫用。 CommandResult 活動可用來傳達命令執行的結果。

參數:

turnContext - 這個回合的強型別內容物件。

傳回:

工作,表示要執行的工作佇列。 當 onTurn(TurnContext turnContext) 方法收到 CommandResult 活動時,它會呼叫此方法。 在衍生類別中,覆寫此方法以新增適用於所有 comand 活動的邏輯。 在呼叫基類 onCommandResultActivity(TurnContext turnContext) 方法之前,新增要套用至特定 CommandResult 處理邏輯的邏輯。 在呼叫基類 onCommandResultActivity(TurnContext turnContext) 方法之後,新增要套用的特定 CommandResult 處理邏輯。 CommandResult 活動會將程式設計資訊從用戶端或通道傳達給 Bot。 CommandResult 活動的意義是由 name 屬性所定義,這個屬性在通道範圍內有意義。

onConversationUpdateActivity

protected CompletableFuture onConversationUpdateActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從通道接收交談更新活動時叫用。

交談更新活動在回應要新增或從交談中移除的使用者時很有用。

例如,Bot 可以藉由問候用戶來回應所新增的使用者。 根據預設,如果已新增任何使用者,或已移除任何使用者 onMembersRemoved(List<ChannelAccount> membersRemoved, TurnContext turnContext),則此方法會呼叫 onMembersAdded(List<ChannelAccount> membersAdded, TurnContext turnContext)。 方法會檢查成員標識碼,使其只會回應 Bot 本身以外的成員的更新。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onEndOfConversationActivity

protected CompletableFuture onEndOfConversationActivity(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供ActivityTypes.END_OF_CONVERSATION活動特有的邏輯。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onEvent

protected CompletableFuture onEvent(TurnContext turnContext)

當使用 onEventActivity(TurnContext turnContext) 的基底行為時,收到標記/回應以外的事件時叫用。

如果 Bot 是要處理其他事件,可以選擇性地覆寫這個方法。

根據預設,此方法不會執行任何動作。

onEventActivity(TurnContext turnContext) 方法收到具有 'token/response' 以外 Activity#getName() 的事件時,它會呼叫此方法。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onEventActivity

protected CompletableFuture onEventActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從連接器接收事件活動時叫用。

事件活動可用來傳達許多不同的專案。

根據預設,如果活動的名稱是「令牌/回應」或 onEvent(TurnContext turnContext),這個方法會呼叫 onTokenResponseEvent(TurnContext turnContext)。 「令牌/回應」事件可由 com.microsoft.bot.schema.OAuthCard觸發。

onTurn(TurnContext turnContext) 方法收到事件活動時,它會呼叫此方法。

如果事件 Activity#getName 為「token/response」,則會呼叫 onTokenResponseEvent(TurnContext turnContext),否則會呼叫 onEvent(TurnContext turnContext)

在衍生類別中,覆寫此方法以新增適用於所有事件活動的邏輯。 在呼叫基類方法之前,新增要套用至特定事件處理邏輯的邏輯。 在呼叫基類方法之後,新增要套用的特定事件處理邏輯。

事件活動會將程式設計資訊從用戶端或通道傳達給 Bot。 事件活動的意義是由 Activity#getName 屬性所定義,此屬性在通道範圍內有意義。 「令牌/回應」事件可由 com.microsoft.bot.schema.OAuthCard 或 OAuth 提示觸發。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onInstallationUpdate

protected CompletableFuture onInstallationUpdate(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes.InstallationUpdate 活動特有的邏輯。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onInstallationUpdateAdd

protected CompletableFuture onInstallationUpdateAdd(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes.InstallationUpdate 活動特有的邏輯,並將 'action' 設定為 'add'。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onInstallationUpdateRemove

protected CompletableFuture onInstallationUpdateRemove(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes.InstallationUpdate 活動特有的邏輯,並將 'action' 設定為 'remove'。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onInvokeActivity

protected CompletableFuture onInvokeActivity(TurnContext turnContext)

使用 onTurn 的基底行為時,從連接器接收叫用活動時叫用。

叫用活動可用來傳達許多不同的專案。 根據預設,如果活動的名稱是 'signin/verifyState' 或 'signin/tokenExchange',這個方法將會呼叫 onSignInInInvokeAsync。

OAuthCard 可以觸發 'signin/verifyState' 或 'signin/tokenExchange' 叫用。

參數:

turnContext - 目前的 TurnContext。

傳回:

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

onMembersAdded

protected CompletableFuture onMembersAdded(List membersAdded, TurnContext turnContext)

在衍生類別中覆寫此專案,以提供 Bot 加入交談以外的成員時的邏輯,例如 Bot 的歡迎邏輯。

onConversationUpdateActivity(TurnContext turnContext) 方法收到交談更新活動,指出bo以外的一或多個使用者正在加入交談時,它會呼叫此方法。

參數:

membersAdded - 已新增至交談的所有成員清單,如交談更新活動所述。
turnContext - 這個回合的內容物件。

傳回:

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

onMembersRemoved

protected CompletableFuture onMembersRemoved(List membersRemoved, TurnContext turnContext)

在衍生類別中覆寫此專案,以在 Bot 以外的成員離開交談時提供邏輯,例如 Bot 的告別邏輯。

onConversationUpdateActivity(TurnContext turnContext) 方法收到交談更新活動,指出 Bot 以外的一或多個使用者離開交談時,它會呼叫此方法。

參數:

membersRemoved - 從交談中移除的所有成員清單,如交談更新活動所述。
turnContext - 這個回合的內容物件。

傳回:

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

onMessageActivity

protected CompletableFuture onMessageActivity(TurnContext turnContext)

覆寫衍生類別中的這個 ,以提供 ActivityTypes#MESSAGE 活動的特定邏輯,例如交談邏輯。

onTurn(TurnContext turnContext) 方法收到訊息活動時,它會呼叫此方法。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onMessageReactionActivity

protected CompletableFuture onMessageReactionActivity(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,從連接器接收事件活動時叫用。

訊息反應會對應至使用者,將「讚」或「悲傷」等(通常是表情符號)新增至先前傳送的活動。 只有少數通道支援訊息反應。

訊息回應所對應的活動會在 replyToId 屬性中指出。 這個屬性的值是先前傳回給 Bot 的活動活動標識碼,做為來自傳送呼叫的回應。

onTurn(TurnContext turnContext) 方法收到訊息反應活動時,它會呼叫此方法。 如果訊息反應指出已將回應新增至訊息,則會呼叫 onReactionsAdded(List<MessageReaction> messageReactions, TurnContext turnContext)。 如果訊息反應指出已從訊息中移除回應,則會呼叫 onReactionsRemoved(List<MessageReaction> messageReactions, TurnContext turnContext)

在衍生類別中,覆寫此方法以新增套用至所有訊息反應活動的邏輯。 在呼叫基類方法之前新增或移除邏輯之前,新增要套用的邏輯。 在呼叫基類之後新增或移除邏輯之後,新增要套用的邏輯。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onReactionsAdded

protected CompletableFuture onReactionsAdded(List messageReactions, TurnContext turnContext)

在衍生類別中覆寫這個 ,以提供邏輯,以在將先前活動的反應新增至交談時提供邏輯。

訊息反應會對應至使用者將「喜歡」或「悲傷」等(通常是表情符號)新增至先前在交談中傳送的訊息。 只有少數通道支援訊息反應。 訊息回應的活動是由活動的 Activity#getReplyToId() 屬性所識別。 這個屬性的值是先前傳送之活動的活動標識碼。 當 Bot 傳送活動時,通道會將識別碼指派給它,該標識碼可在結果的 com.microsoft.bot.schema.ResourceResponse#getId 中使用。

參數:

messageReactions - 新增的反應清單。
turnContext - 這個回合的內容物件。

傳回:

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

onReactionsRemoved

protected CompletableFuture onReactionsRemoved(List messageReactions, TurnContext turnContext)

在衍生類別中覆寫這個 ,以提供邏輯,以在對先前活動的反應從交談中移除時提供邏輯。

訊息反應會對應至使用者將「喜歡」或「悲傷」等(通常是表情符號)新增至先前在交談中傳送的訊息。 只有少數通道支援訊息反應。 訊息回應的活動是由活動的 Activity#getReplyToId() 屬性所識別。 這個屬性的值是先前傳送之活動的活動標識碼。 當 Bot 傳送活動時,通道會將識別碼指派給它,該標識碼可在結果的 com.microsoft.bot.schema.ResourceResponse#getId 中使用。

參數:

messageReactions - 已移除的反應清單。
turnContext - 這個回合的內容物件。

傳回:

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

onSignInInvoke

protected CompletableFuture onSignInInvoke(TurnContext turnContext)

使用 onInvokeActivity 的基底行為時,叫用 'signin/verifyState' 或 'signin/tokenExchange' 事件。

如果使用 OAuthPrompt,請覆寫此方法,將此活動轉送至目前的對話方塊。 根據預設,此方法不會執行任何動作。

當 onInvokeActivity 方法收到名稱為 'token/response' 的 Invoke 時,它會呼叫此方法。

如果您的 Bot 使用 OAuthPrompt,請將傳入的活動轉送至目前的對話方塊。

參數:

turnContext - 目前的 TurnContext。

傳回:

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

onTokenResponseEvent

protected CompletableFuture onTokenResponseEvent(TurnContext turnContext)

當使用 onEventActivity(TurnContext turnContext) 的基底行為時,收到「令牌/回應」事件時叫用。

如果使用 OAuthPrompt,請覆寫此方法,將這個 Activity 轉送至目前的對話方塊。

根據預設,此方法不會執行任何動作。

onEventActivity(TurnContext turnContext) 方法收到具有 'token/response' Activity#getName() 的事件時,它會呼叫此方法。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onTurn

public CompletableFuture onTurn(TurnContext turnContext)

在執行時間由配接器呼叫(例如,BotFrameworkAdapter),以處理輸入 Activity

這個方法會根據要處理的活動類型呼叫此類別中的其他方法,這可讓衍生類別以受控制的方式提供特定類型邏輯。

在衍生類別中,覆寫此方法以新增適用於所有活動類型的邏輯。 在呼叫基類 onTurn(TurnContext turnContext) 方法之前,新增要套用至類型特定邏輯的邏輯。 在呼叫基類 onTurn(TurnContext turnContext) 方法之後,新增要套用的類型特定邏輯。

參數:

turnContext - 這個回合的內容物件。 提供傳入活動的相關信息,以及處理活動所需的其他數據。

傳回:

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

onTypingActivity

protected CompletableFuture onTypingActivity(TurnContext turnContext)

在衍生類別中覆寫此專案,以提供 ActivityTypes.Typing 活動特有的邏輯。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

onUnrecognizedActivityType

protected CompletableFuture onUnrecognizedActivityType(TurnContext turnContext)

使用 onTurn(TurnContext turnContext) 基底行為時,收到訊息、交談更新或事件以外的活動時叫用。

如果覆寫,這可能會回應任何其他活動類型,例如 com.microsoft.bot.schema.ActivityTypes#CONTACT_RELATION_UPDATEcom.microsoft.bot.schema.ActivityTypes#END_OF_CONVERSATION

根據預設,此方法不會執行任何動作。

onTurn(TurnContext turnContext) 方法收到不是訊息、交談更新、訊息反應或事件活動的活動時,它會呼叫此方法。

參數:

turnContext - 這個回合的內容物件。

傳回:

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

適用於