語言

ActivityHandler 類別

定義

介面的實作 IBot ,旨在進一步子類別化。

public class ActivityHandler : Microsoft.Bot.Builder.IBot
type ActivityHandler = class
    interface IBot
Public Class ActivityHandler
Implements IBot
繼承
ActivityHandler
衍生
實作

備註

衍生自這個類別,以插入程式代碼來處理特定活動類型。 物件的前處理與後處理 Activity 可以透過呼叫衍生類別的基底類別實作來加入。

建構函式

名稱 Description
ActivityHandler()

介面的實作 IBot ,旨在進一步子類別化。

方法

名稱 Description
CreateInvokeResponse(Object)

一個 InvokeResponse 工廠會將本體初始化為通過的參數,狀態等於 OK。

OnAdaptiveCardInvokeAsync(ITurnContext<IInvokeActivity>, AdaptiveCardInvokeValue, CancellationToken)

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

OnCommandActivityAsync(ITurnContext<ICommandActivity>, CancellationToken)

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

OnCommandResultActivityAsync(ITurnContext<ICommandResultActivity>, CancellationToken)

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

OnConversationUpdateActivityAsync(ITurnContext<IConversationUpdateActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 基底行為時,從通道接收交談更新活動時叫用。 交談更新活動在回應要新增或從交談中移除的使用者時很有用。 例如,Bot 可以藉由問候用戶來回應所新增的使用者。 根據預設,如果已新增任何使用者,或已移除任何使用者 OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken),則此方法會呼叫 OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)。 方法會檢查成員標識碼,使其只會回應 Bot 本身以外的成員的更新。

OnEndOfConversationActivityAsync(ITurnContext<IEndOfConversationActivity>, CancellationToken)

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

OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 基底行為時,從連接器接收事件活動時叫用。 事件活動可用來傳達許多不同的專案。 預設情況下,這個方法會呼叫OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)活動名稱是否正確tokens/responseOnEventAsync(ITurnContext<IEventActivity>, CancellationToken)。 tokens/response事件可由 OAuthCard觸發。

OnEventAsync(ITurnContext<IEventActivity>, CancellationToken)

當使用基礎OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken)行為時,接收到非tokens/response事件時會被呼叫。 如果 Bot 是要處理其他事件,可以選擇性地覆寫這個方法。 根據預設,此方法不會執行任何動作。

OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在衍生類別中覆寫此參數,以提供特定於活動的 InstallationUpdate 邏輯。

OnInstallationUpdateAddAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在衍生類別中覆寫此設定,以提供特定 InstallationUpdate 於「動作」設為「加」的活動邏輯。

OnInstallationUpdateRemoveAsync(ITurnContext<IInstallationUpdateActivity>, CancellationToken)

在衍生類別中覆寫此設定,以提供針對「action」設為「移除」的活動的 InstallationUpdate 邏輯。

OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken)

當連接器收到呼叫活動且使用了 的 OnTurnAsync(ITurnContext, CancellationToken) 基礎行為時,會被呼叫。 叫用活動可用來傳達許多不同的專案。 預設情況下,若活動名稱為 signin/verifyState 或 signin/tokenExchange,此方法會呼叫 OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken) 。 signin/verifyState A 或 signin/tokenExchange invoke 可以由 OAuthCard觸發。

OnMembersAddedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

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

OnMembersRemovedAsync(IList<ChannelAccount>, ITurnContext<IConversationUpdateActivity>, CancellationToken)

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

OnMessageActivityAsync(ITurnContext<IMessageActivity>, CancellationToken)

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

OnMessageDeleteActivityAsync(ITurnContext<IMessageDeleteActivity>, CancellationToken)

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

OnMessageReactionActivityAsync(ITurnContext<IMessageReactionActivity>, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 基底行為時,從連接器接收事件活動時叫用。 訊息反應會對應至使用者,將「讚」或「悲傷」等(通常是表情符號)新增至先前傳送的活動。 只有少數通道支援訊息反應。 訊息回應所對應的活動會在 replyToId 屬性中指出。 這個屬性的值是先前傳回給 Bot 的活動活動標識碼,做為來自傳送呼叫的回應。

OnMessageUpdateActivityAsync(ITurnContext<IMessageUpdateActivity>, CancellationToken)

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

OnReactionsAddedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

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

OnReactionsRemovedAsync(IList<MessageReaction>, ITurnContext<IMessageReactionActivity>, CancellationToken)

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

OnSearchInvokeAsync(ITurnContext<IInvokeActivity>, SearchInvokeValue, CancellationToken)

在傳送具有 『application/search』 名稱的「叫用」活動時叫用 Bot。

OnSignInInvokeAsync(ITurnContext<IInvokeActivity>, CancellationToken)

當 signin/verifyState 收到 或 signin/tokenExchange 事件且使用了 的 OnInvokeActivityAsync(ITurnContext<IInvokeActivity>, CancellationToken) 基礎行為時,會被呼叫。 如果使用 , OAuthPrompt則覆寫此方法以轉發 Activity 到當前對話框。 根據預設,此方法不會執行任何動作。

OnTokenResponseEventAsync(ITurnContext<IEventActivity>, CancellationToken)

當 tokens/response 事件發生且使用了 的 OnEventActivityAsync(ITurnContext<IEventActivity>, CancellationToken) 基礎行為時,會被呼叫。 如果使用 , OAuthPrompt則覆寫此方法以轉發 Activity 到當前對話框。 根據預設,此方法不會執行任何動作。

OnTurnAsync(ITurnContext, CancellationToken)

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

OnTypingActivityAsync(ITurnContext<ITypingActivity>, CancellationToken)

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

OnUnrecognizedActivityTypeAsync(ITurnContext, CancellationToken)

使用 OnTurnAsync(ITurnContext, CancellationToken) 基底行為時,收到訊息、交談更新或事件以外的活動時叫用。 如果覆寫,這可能會回應任何其他活動類型,例如 ContactRelationUpdate 或 EndOfConversation。 根據預設,此方法不會執行任何動作。

適用於