共用方式為


ActivityHandler class

Bot 的事件發出活動處理常式。 擴充 ActivityHandlerBase

Extends

備註

這提供可延伸類別,以事件驅動的方式來處理傳入活動。 您可以為每個事件種類註冊一組任意的處理常式。

若要註冊事件的處理常式,請使用對應的 事件 方法。 如果為事件註冊多個處理常式,則會依註冊的循序執行它們。

此物件會在處理傳入活動時發出一系列 事件 。 處理常式可以藉由不呼叫接續函式來停止事件的傳播。

事件類型 描述
轉動 針對每個活動先發出。
類型特定 針對特定活動類型發出,再針對任何子類型發出事件。
子類型 根據活動內容,針對特定特製化事件發出。
對話 發出為最終活動處理事件。

例如:

const bot = new ActivityHandler();

server.post('/api/messages', (req, res) => {
    adapter.processActivity(req, res, async (context) => {
        // Route to bot's activity logic.
        await bot.run(context);
    });
});

bot.onTurn(async (context, next) => {
        // Handle a "turn" event.
        await context.sendActivity(`${ context.activity.type } activity received.`);
        // Continue with further processing.
        await next();
    })
    .onMessage(async (context, next) => {
        // Handle a message activity.
        await context.sendActivity(`Echo: ${ context.activity.text }`);
        // Continue with further processing.
        await next();
    });

另請參閱

方法

onCommand(BotHandler)

註冊 命令 活動的活動事件處理常式。

onCommandResult(BotHandler)

註冊 CommandResult 活動的活動事件處理常式。

onConversationUpdate(BotHandler)

註冊 交談更新 事件的活動事件處理常式,針對每個傳入的交談更新活動發出。

onDialog(BotHandler)

註冊 對話 事件的活動事件處理常式,發出為傳入活動的最後一個事件。

onEndOfConversation(BotHandler)

註冊 對話活動結束的活動 事件處理常式。

onEvent(BotHandler)

註冊 事件 事件的活動事件處理常式,針對每個傳入事件活動發出。

onInstallationUpdate(BotHandler)

註冊 安裝更新 活動的活動事件處理常式。

onInstallationUpdateAdd(BotHandler)

註冊 安裝更新新增 活動的活動事件處理常式。

onInstallationUpdateRemove(BotHandler)

註冊 安裝更新移除 活動的活動事件處理常式。

onMembersAdded(BotHandler)

加入的成員註冊 活動事件處理常式,針對包含新增至交談的成員的任何傳入交談更新活動發出。

onMembersRemoved(BotHandler)

已移除的成員 註冊活動事件處理常式,針對包含從交談中移除的成員的任何傳入交談更新活動發出。

onMessage(BotHandler)

註冊 訊息 事件的活動事件處理常式,針對每個傳入訊息活動發出。

onMessageReaction(BotHandler)

註冊 訊息反應 事件的活動事件處理常式,針對每個傳入訊息反應活動發出。

onReactionsAdded(BotHandler)

針對 加入之反應 的事件註冊活動事件處理常式,針對描述新增至訊息之反應的任何傳入訊息反應活動發出。

onReactionsRemoved(BotHandler)

針對 已移除之反應 的事件註冊活動事件處理常式,針對描述從訊息中移除之反應的任何傳入訊息反應活動發出。

onTokenResponseEvent(BotHandler)

註冊 權杖回應 事件的活動事件處理常式,針對任何傳入 tokens/response 事件活動發出。 這些會在 OAuth 驗證流程中產生。

onTurn(BotHandler)

針對 回合 事件註冊活動事件處理常式,不論類型為何,都會針對每個傳入活動發出。

onTyping(BotHandler)

註冊 輸入 活動的活動事件處理常式。

onUnrecognizedActivityType(BotHandler)

無法辨識的活動類型 事件註冊活動事件處理常式,針對內送活動發出,其類型為 ActivityHandler 未提供事件處理常式。

run(TurnContext)

呼叫 以起始事件發出進程。

方法詳細資料

onCommand(BotHandler)

註冊 命令 活動的活動事件處理常式。

function onCommand(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

若要處理 Command 事件,請使用 onCommand 類型特定事件處理常式。

onCommandResult(BotHandler)

註冊 CommandResult 活動的活動事件處理常式。

function onCommandResult(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

若要處理 CommandResult 事件,請使用 onCommandResult 類型特定事件處理常式。

onConversationUpdate(BotHandler)

註冊 交談更新 事件的活動事件處理常式,針對每個傳入的交談更新活動發出。

function onConversationUpdate(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

交談更新活動描述交談中繼資料的變更,例如標題、參與者或其他頻道特定資訊。

若要在交談中新增或移除成員時處理,請使用 onMembersAddedonMembersRemoved 子類型事件處理常式。

onDialog(BotHandler)

註冊 對話 事件的活動事件處理常式,發出為傳入活動的最後一個事件。

function onDialog(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

onEndOfConversation(BotHandler)

註冊 對話活動結束的活動 事件處理常式。

function onEndOfConversation(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

此活動通常會從技能傳送至技能呼叫端,指出該特定子對話的結尾。

若要處理交談結束,請使用 onEndOfConversation 類型特定事件處理常式。

onEvent(BotHandler)

註冊 事件 事件的活動事件處理常式,針對每個傳入事件活動發出。

function onEvent(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

事件活動會將程式設計資訊從用戶端或通道傳遞給 Bot。 事件活動的意義是由活動 的名稱 屬性所定義,這在通道的範圍內有意義。 事件活動的設計訴求是傳達互動式資訊 (例如按鈕點選) 和 非互動式資訊 (例如用戶端自動更新內嵌語音模型的的通知)。

若要處理 tokens/response 事件事件,請使用 onTokenResponseEvent 子類型事件處理常式。 若要處理其他具名事件,請將邏輯新增至此處理程式。

onInstallationUpdate(BotHandler)

註冊 安裝更新 活動的活動事件處理常式。

function onInstallationUpdate(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

若要處理 InstallationUpdate 事件,請使用 onInstallationUpdate 類型特定事件處理常式。

onInstallationUpdateAdd(BotHandler)

註冊 安裝更新新增 活動的活動事件處理常式。

function onInstallationUpdateAdd(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。 若要處理 InstallationUpdateAdd 事件,請使用 onInstallationUpdateAdd 類型特定事件處理常式。

onInstallationUpdateRemove(BotHandler)

註冊 安裝更新移除 活動的活動事件處理常式。

function onInstallationUpdateRemove(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

若要處理 InstallationUpdateRemove 事件,請使用 onInstallationUpdateRemove 類型特定事件處理常式。

onMembersAdded(BotHandler)

加入的成員註冊 活動事件處理常式,針對包含新增至交談的成員的任何傳入交談更新活動發出。

function onMembersAdded(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

活動的 membersAdded 屬性包含新增至交談的成員,其中包含 Bot。

若要一般處理交談更新事件,請使用 onConversationUpdate 類型特定事件處理常式。

onMembersRemoved(BotHandler)

已移除的成員 註冊活動事件處理常式,針對包含從交談中移除的成員的任何傳入交談更新活動發出。

function onMembersRemoved(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

活動的 membersRemoved 屬性包含從交談中移除的成員,其中包含 Bot。

若要一般處理交談更新事件,請使用 onConversationUpdate 類型特定事件處理常式。

onMessage(BotHandler)

註冊 訊息 事件的活動事件處理常式,針對每個傳入訊息活動發出。

function onMessage(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

訊息活動代表要顯示在交談介面內的內容,並可包含文字、語音、互動式卡片,以及二進位或未知附件。 並非所有訊息活動都包含文字,活動的 文字 屬性可以是 nullundefined

onMessageReaction(BotHandler)

註冊 訊息反應 事件的活動事件處理常式,針對每個傳入訊息反應活動發出。

function onMessageReaction(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

訊息回應活動代表對話內現有訊息活動上的社交互動。 原始活動是由訊息反應活動的 replyToId 屬性所參考。 from屬性代表反應的來源,例如回應訊息的使用者。

若要在交談中新增或移除回應時處理回應,請使用 onReactionsAddedonReactionsRemoved 子類型事件處理常式。

onReactionsAdded(BotHandler)

針對 加入之反應 的事件註冊活動事件處理常式,針對描述新增至訊息之反應的任何傳入訊息反應活動發出。

function onReactionsAdded(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

活動的 反應Added 屬性包含一或多個已加入的回應。

若要一般處理訊息反應事件,請使用 onMessageReaction 類型特定事件處理常式。

onReactionsRemoved(BotHandler)

針對 已移除之反應 的事件註冊活動事件處理常式,針對描述從訊息中移除之反應的任何傳入訊息反應活動發出。

function onReactionsRemoved(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

活動的 回應Removed 屬性包含一或多個已移除的回應。

若要一般處理訊息反應事件,請使用 onMessageReaction 類型特定事件處理常式。

onTokenResponseEvent(BotHandler)

註冊 權杖回應 事件的活動事件處理常式,針對任何傳入 tokens/response 事件活動發出。 這些會在 OAuth 驗證流程中產生。

function onTokenResponseEvent(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

活動的 value 屬性包含使用者權杖。

如果您的 Bot 會在對話方塊中使用 OAuthPrompt 處理驗證,則對話方塊必須接收此活動才能完成驗證流程。

若要一般處理其他具名事件和事件事件,請使用 onEvent 類型特定事件處理常式。

onTurn(BotHandler)

針對 回合 事件註冊活動事件處理常式,不論類型為何,都會針對每個傳入活動發出。

function onTurn(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

onTyping(BotHandler)

註冊 輸入 活動的活動事件處理常式。

function onTyping(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

若要處理 Type 事件,請使用 onTyping 類型特定的事件處理常式。

onUnrecognizedActivityType(BotHandler)

無法辨識的活動類型 事件註冊活動事件處理常式,針對內送活動發出,其類型為 ActivityHandler 未提供事件處理常式。

function onUnrecognizedActivityType(handler: BotHandler): this

參數

handler
BotHandler

事件處理常式。

傳回

this

ActivityHandler物件的參考。

備註

ActivityHandler不會針對Bot Framework 活動架構中定義的所有活動類型定義事件。 此外,通道和自訂配接器可以建立類型不在架構中的 活動 。 當活動處理常式收到這類事件時,它會發出無法辨識的活動類型事件。

活動的 type 屬性包含活動類型。

run(TurnContext)

呼叫 以起始事件發出進程。

function run(context: TurnContext): Promise<void>

參數

context
TurnContext

目前回合的內容物件。

傳回

Promise<void>

備註

一般而言,您會提供這個方法做為函式處理常式,讓配接器在配接器預先處理接收的活動之後呼叫來執行 Bot 的邏輯,並透過任何中介軟體路由傳送。

例如:

 server.post('/api/messages', (req, res) => {
     adapter.processActivity(req, res, async (context) => {
         // Route to bot's activity logic.
         await bot.run(context);
     });
});

另請參閱