ActivityHandler 類別

處理活動,且應該進行子類別化。

建構函式

ActivityHandler()

備註

衍生自這個類別以處理特定活動類型。 Yon 可以藉由呼叫衍生類別中的基類,來新增活動的前置和後置處理。

方法

on_adaptive_card_invoke

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

當on_invoke_activity方法收到 Invoke,且 Activity.name adaptiveCard/action時,它會呼叫此方法。

on_conversation_update_activity

使用 on_turn 基底行為時,從通道接收交談更新活動時叫用。

on_end_of_conversation_activity

從通道接收交談結束活動時叫用。

on_event

當使用 的基底行為時,收到 on_event_activity 以外的事件時叫用。

on_event_activity

使用 on_turn 基底行為時,從連接器接收事件活動時叫用。

on_installation_update

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

on_installation_update_add

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

on_installation_update_remove

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

on_invoke_activity

註冊針對每個傳入事件活動活動發出之 叫用 事件的活動事件處理程式。

on_members_added_activity

覆寫衍生類別中的這個方法,以提供 Bot 加入交談以外的成員時的邏輯。 您可以新增 Bot 的歡迎邏輯。

交談更新活動 :type members_added:List :p aram turn_context:這個回合的內容物件:type turn_context:TurnContext

on_members_removed_activity

覆寫衍生類別中的這個方法,以提供 Bot 以外的成員離開交談時的邏輯。 您可以新增 Bot 的良好邏輯。

交談更新活動 :type members_added:List :p aram turn_context:這個回合的內容物件:type turn_context:TurnContext

on_message_activity

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

on_message_reaction_activity

使用 on_turn 基底行為時,從連接器接收事件活動時叫用。

on_reactions_added

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

on_reactions_removed

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

on_sign_in_invoke

當使用 on_invoke_activity(TurnContext{InvokeActivity}) 的基本行為時,收到 signin/verifyState 或 signin/tokenExchange 事件時叫用。 如果使用 OAuthPrompt,請覆寫此方法,將這個活動」/ 轉送至目前的對話方塊。 根據預設,此方法不會執行任何動作。

on_token_response_event

使用 的基底行為時,收到 on_event_activity 事件時叫用。 如果使用 oauth_prompt,請覆寫此方法,將此活動轉送至目前的對話方塊。

on_turn

在執行時間由配接器呼叫(例如,<xref:botbuilder.core.activity_handler.BotFrameworkAdapter>),以處理輸入 Activity

on_typing_activity

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

on_unrecognized_activity_type

使用 on_turn 基底行為時,收到訊息、交談更新或事件以外的活動時叫用。 如果覆寫,這個方法可能會回應任何其他活動類型。

on_adaptive_card_invoke

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

當on_invoke_activity方法收到 Invoke,且 Activity.name adaptiveCard/action時,它會呼叫此方法。

async on_adaptive_card_invoke(turn_context: TurnContext, invoke_value: AdaptiveCardInvokeValue) -> AdaptiveCardInvokeResponse

參數

名稱 Description
turn_context
必要

這個回合的內容物件。

invoke_value
必要
<xref:botframework.schema.models.AdaptiveCardInvokeValue>

來自傳入活動值的字串型別物件。

傳回

類型 Description

HealthCheckResponse 物件

on_conversation_update_activity

使用 on_turn 基底行為時,從通道接收交談更新活動時叫用。

async on_conversation_update_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

on_turn 方法收到交談更新活動時,它會呼叫此方法。 也

  • 如果交談更新活動指出 Bot 以外的成員已加入交談,則會呼叫 on_members_added_activity 方法。
  • 如果交談更新活動指出 Bot 以外的成員離開交談,則會呼叫 on_members_removed_activity 方法。
  • 在衍生類別中,覆寫此方法以新增套用至所有交談更新活動的邏輯。 在呼叫這個基類方法之前,新增要套用的成員之前所要套用的邏輯。

on_end_of_conversation_activity

從通道接收交談結束活動時叫用。

async on_end_of_conversation_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_event

當使用 的基底行為時,收到 on_event_activity 以外的事件時叫用。

async on_event(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

使用 on_event_activity 方法時,會使用活動名稱以外的活動名稱 token/response,它會呼叫此方法。 如果 Bot 是要處理其他事件,可以選擇性地覆寫這個方法。

on_event_activity

使用 on_turn 基底行為時,從連接器接收事件活動時叫用。

async on_event_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

on_turn 方法收到事件活動時,它會呼叫此方法。 如果活動名稱是 token/response,則會呼叫 on_token_response_event;否則,它會呼叫 on_event

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

事件活動會將程式設計資訊從用戶端或通道傳達給 Bot。 事件活動的意義是由事件活動名稱屬性所定義,此屬性在通道範圍內有意義。

on_installation_update

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

async on_installation_update(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_installation_update_add

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

async on_installation_update_add(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_installation_update_remove

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

async on_installation_update_remove(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_invoke_activity

註冊針對每個傳入事件活動活動發出之 叫用 事件的活動事件處理程式。

async on_invoke_activity(turn_context: TurnContext) -> InvokeResponse | None

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_members_added_activity

覆寫衍生類別中的這個方法,以提供 Bot 加入交談以外的成員時的邏輯。 您可以新增 Bot 的歡迎邏輯。

交談更新活動 :type members_added:List :p aram turn_context:這個回合的內容物件:type turn_context:TurnContext

async on_members_added_activity(members_added: List[ChannelAccount], turn_context: TurnContext)

參數

名稱 Description
members_added
必要
turn_context
必要

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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

on_members_removed_activity

覆寫衍生類別中的這個方法,以提供 Bot 以外的成員離開交談時的邏輯。 您可以新增 Bot 的良好邏輯。

交談更新活動 :type members_added:List :p aram turn_context:這個回合的內容物件:type turn_context:TurnContext

async on_members_removed_activity(members_removed: List[ChannelAccount], turn_context: TurnContext)

參數

名稱 Description
members_removed
必要
turn_context
必要

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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

on_message_activity

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

async on_message_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_message_reaction_activity

使用 on_turn 基底行為時,從連接器接收事件活動時叫用。

async on_message_reaction_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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

只有少數通道支援訊息反應。 訊息反應所對應的活動會在回復 Id 屬性中指出。 這個屬性的值是先前傳回給 Bot 的活動活動標識碼,做為來自傳送呼叫的回應。 當 on_turn 方法收到訊息反應活動時,它會呼叫此方法。

  • 如果訊息反應指出已將回應新增至訊息,則會呼叫

<xref:botbuilder.core.activity_handler.ActivityHandler.on_reaction_added>。

  • 如果訊息反應指出已從訊息中移除回應,則會呼叫 <xref:botbuilder.core.activity_handler.ActivityHandler.on_reaction_removed>。

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

on_reactions_added

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

async on_reactions_added(message_reactions: List[MessageReaction], turn_context: TurnContext)

參數

名稱 Description
message_reactions
必要

新增的反應清單

turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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

on_reactions_removed

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

async on_reactions_removed(message_reactions: List[MessageReaction], turn_context: TurnContext)

參數

名稱 Description
message_reactions
必要

已移除的反應清單

turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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

on_sign_in_invoke

當使用 on_invoke_activity(TurnContext{InvokeActivity}) 的基本行為時,收到 signin/verifyState 或 signin/tokenExchange 事件時叫用。 如果使用 OAuthPrompt,請覆寫此方法,將這個活動」/ 轉送至目前的對話方塊。 根據預設,此方法不會執行任何動作。

async on_sign_in_invoke(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_token_response_event

使用 的基底行為時,收到 on_event_activity 事件時叫用。 如果使用 oauth_prompt,請覆寫此方法,將此活動轉送至目前的對話方塊。

async on_token_response_event(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

on_event 方法收到活動名稱為 token/response的事件時,它會呼叫此方法。 如果您的 Bot 使用 oauth_prompt,請將傳入活動轉送至目前的對話方塊。

on_turn

在執行時間由配接器呼叫(例如,<xref:botbuilder.core.activity_handler.BotFrameworkAdapter>),以處理輸入 Activity

async on_turn(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

它會根據要處理的活動類型呼叫此類別中的其他方法,讓衍生類別能夠以受控制的方式提供特定類型的邏輯。 在衍生類別中,覆寫此方法以新增適用於所有活動類型的邏輯。 也

  • 在型別特定邏輯之前,以及在呼叫 on_turn之前,新增要套用的邏輯。
  • 在呼叫 on_turn之後,新增要套用的類型特定邏輯。

on_typing_activity

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

async on_typing_activity(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

on_unrecognized_activity_type

使用 on_turn 基底行為時,收到訊息、交談更新或事件以外的活動時叫用。 如果覆寫,這個方法可能會回應任何其他活動類型。

async on_unrecognized_activity_type(turn_context: TurnContext)

參數

名稱 Description
turn_context
必要

這個回合的內容物件

傳回

類型 Description

工作,表示要執行的工作排入佇列

備註

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