TeamsActivityHandler class
新增Microsoft Teams 特定事件和互動的支援。
- Extends
-
ActivityHandler
備註
開發人員可以透過兩種方法處理從 Microsoft Teams 傳送的交談更新活動:
- 覆寫開頭為
on..
和 的方法,而不是 以..Event()
結束(例如onTeamsMembersAdded()
),或 - 將回呼傳遞至開頭為
on..
和 以...Event()
結束的方法(例如onTeamsMembersAddedEvent()
),以與舊版 {@see ActivityHandler} 實作保持一致。
開發人員應該針對所有對話更新活動使用 #1 或 #2,而不是針對相同活動同時 #2 和 #3 onTeamsMembersAdded()
,而不同時使用 onTeamsMembersAdded()
和 onTeamsMembersAddedEvent()
。
想要處理叫用活動 的開發人員必須從 handle...()
開始 覆寫方法(例如 handleTeamsTaskModuleFetch()
)。
方法
繼承的方法
on |
為 命令 活動註冊活動事件處理程式。 |
on |
為 CommandResult 活動註冊活動事件處理程式。 |
on |
針對每個傳入對話更新活動發出 對話更新 事件,註冊活動事件處理程式。 |
on |
註冊 對話框的活動事件處理程式, 事件發出為傳入活動的最後一個事件。 |
on |
為交談 活動的 |
on |
註冊針對每個傳入事件活動活動發出之 事件 事件的活動事件處理程式。 |
on |
註冊 安裝更新 活動的活動事件處理程式。 |
on |
註冊 安裝的活動事件處理程式update 新增 活動。 |
on |
註冊 安裝更新 活動的活動事件處理程式。 |
on |
為加入 事件之 |
on |
為已移除 事件 |
on |
註冊針對每個傳入訊息活動發出之 訊息 事件的活動事件處理程式。 |
on |
針對每個傳入訊息反應活動所發出的 訊息反應 事件,註冊活動事件處理程式。 |
on |
針對加入 事件之 |
on |
為已移除 事件 |
on |
針對任何傳入 |
on |
註冊 回合 事件的活動事件處理程式,不論類型為何,都會針對每個傳入活動發出。 |
on |
為輸入 活動 |
on |
為 無法辨識的活動類型 事件註冊活動事件處理程式,針對具有 ActivityHandler 未提供事件處理程式的類型的連入活動發出。 |
run(Turn |
呼叫 以起始事件發出程式。 |
方法詳細資料
onTeamsChannelCreatedEvent((channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsChannelCreated 事件的處理程式,例如建立頻道時。
function onTeamsChannelCreatedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組頻道已建立事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsChannelDeletedEvent((channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsChannelDeleted 事件的處理程式,例如刪除頻道時。
function onTeamsChannelDeletedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理 Teams 頻道已刪除事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsChannelRenamedEvent((channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsChannelRenamed 事件的處理程式,例如當頻道重新命名時。
function onTeamsChannelRenamedEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組頻道重新命名事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsChannelRestoredEvent((channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsChannelRestored 事件的處理程式,例如還原通道時。
function onTeamsChannelRestoredEvent(handler: (channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(channelInfo: ChannelInfo, teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理 Teams 頻道還原事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsMeetingEndEvent((meeting: MeetingEndEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 Teams 會議結束時的處理程式。
function onTeamsMeetingEndEvent(handler: (meeting: MeetingEndEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(meeting: MeetingEndEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理會議結束事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsMeetingStartEvent((meeting: MeetingStartEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 Teams 會議啟動時的處理程式。
function onTeamsMeetingStartEvent(handler: (meeting: MeetingStartEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(meeting: MeetingStartEventDetails, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理會議開始事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsMembersAddedEvent((membersAdded: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsMembersAdded 事件的處理程式,例如 Bot 加入頻道以外的成員時,例如 Bot 的歡迎邏輯。
function onTeamsMembersAddedEvent(handler: (membersAdded: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(membersAdded: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
用來處理小組成員新增事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsMembersRemovedEvent((membersRemoved: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsMembersRemoved 事件的處理程式,例如當 Bot 以外的成員離開頻道時,例如 Bot 的好轉邏輯。
function onTeamsMembersRemovedEvent(handler: (membersRemoved: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(membersRemoved: TeamsChannelAccount[], teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
用來處理小組成員已移除事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsReadReceiptEvent((receiptInfo: ReadReceiptInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊傳送讀取回條時的處理程式。
function onTeamsReadReceiptEvent(handler: (receiptInfo: ReadReceiptInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(receiptInfo: ReadReceiptInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理讀取回條事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamArchivedEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamArchived 事件的處理程式,例如封存小組時。
function onTeamsTeamArchivedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組封存事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamDeletedEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamDeleted 事件的處理程式,例如刪除小組時。
function onTeamsTeamDeletedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組已刪除事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamHardDeletedEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamHardDeleted 事件的處理程式,例如當小組遭到硬式刪除時。
function onTeamsTeamHardDeletedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組硬式刪除事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamRenamedEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamRenamed 事件的處理程式,例如當小組重新命名時。
function onTeamsTeamRenamedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組已重新命名事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamRestoredEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamRestored 事件的處理程式,例如當小組還原時。
function onTeamsTeamRestoredEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組還原事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
onTeamsTeamUnarchivedEvent((teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>)
註冊 TeamsTeamUnarchived 事件的處理程式,例如當小組未封存時。
function onTeamsTeamUnarchivedEvent(handler: (teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>): this
參數
- handler
-
(teamInfo: TeamInfo, context: TurnContext, next: () => Promise<void>) => Promise<void>
處理小組未封存事件的回呼。
傳回
this
表示已排入佇列工作的承諾。
繼承的方法的詳細資料
onCommand(BotHandler)
為 命令 活動註冊活動事件處理程式。
function onCommand(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
若要處理 Command 事件,請使用 onCommand 類型特定的事件處理程式。
繼承自 ActivityHandler.onCommand
onCommandResult(BotHandler)
為 CommandResult 活動註冊活動事件處理程式。
function onCommandResult(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
若要處理 CommandResult 事件,請使用 onCommandResult 類型特定的事件處理程式
繼承自 ActivityHandler.onCommandResult
onConversationUpdate(BotHandler)
針對每個傳入對話更新活動發出 對話更新 事件,註冊活動事件處理程式。
function onConversationUpdate(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
交談更新活動描述交談元數據的變更,例如標題、參與者或其他通道特定資訊。
若要處理在交談中新增或移除成員時,請使用 onMembersAdded
繼承自 ActivityHandler.onConversationUpdate
onDialog(BotHandler)
註冊 對話框的活動事件處理程式, 事件發出為傳入活動的最後一個事件。
function onDialog(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
繼承自 ActivityHandler.onDialog
onEndOfConversation(BotHandler)
為交談 活動的
function onEndOfConversation(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
此活動通常會從技能傳送至技能呼叫端,指出該特定子交談的結尾。
若要處理對話結束,請使用 onEndOfConversation 類型特定的事件處理程式
繼承自 ActivityHandler.onEndOfConversation
onEvent(BotHandler)
註冊針對每個傳入事件活動活動發出之 事件 事件的活動事件處理程式。
function onEvent(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
事件活動會將程式設計資訊從用戶端或通道傳達給 Bot。 事件活動的意義是由活動 名稱 屬性所定義,此屬性在通道範圍內有意義。 事件活動的設計訴求是同時攜帶互動式資訊(例如按鈕點選)和非互動式資訊(例如客戶端自動更新內嵌語音模型的通知)。
若要處理 tokens/response
事件事件,請使用 onTokenResponseEvent 子類型事件處理程式。 若要處理其他具名事件,請將邏輯新增至這個處理程式。
繼承自 ActivityHandler.onEvent
onInstallationUpdate(BotHandler)
註冊 安裝更新 活動的活動事件處理程式。
function onInstallationUpdate(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
若要處理 InstallationUpdate 事件,請使用 onInstallationUpdate 類型特定的事件處理程式
繼承自 ActivityHandler.onInstallationUpdate
onInstallationUpdateAdd(BotHandler)
註冊 安裝的活動事件處理程式update 新增 活動。
function onInstallationUpdateAdd(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
若要處理 InstallationUpdateAdd 事件,請使用 onInstallationUpdateAdd 類型特定事件處理程式上的
繼承自 ActivityHandler.onInstallationUpdateAdd
onInstallationUpdateRemove(BotHandler)
註冊 安裝更新 活動的活動事件處理程式。
function onInstallationUpdateRemove(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
若要處理 InstallationUpdateRemove 事件,請使用 onInstallationUpdateRemove 類型特定的事件處理程式。
繼承自 ActivityHandler.onInstallationUpdateRemove
onMembersAdded(BotHandler)
為加入 事件之
function onMembersAdded(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
活動的 membersAdded 屬性包含新增至交談的成員,其中可包含 Bot。
若要處理一般交談更新事件,請使用 onConversationUpdate 類型特定的事件處理程式
繼承自 ActivityHandler.onMembersAdded
onMembersRemoved(BotHandler)
為已移除 事件
function onMembersRemoved(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
活動的 membersRemoved 屬性包含從交談中移除的成員,其中包含 Bot。
若要處理一般交談更新事件,請使用 onConversationUpdate 類型特定的事件處理程式
繼承自 ActivityHandler.onMembersRemoved
onMessage(BotHandler)
註冊針對每個傳入訊息活動發出之 訊息 事件的活動事件處理程式。
function onMessage(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
訊息活動代表要顯示在交談介面內的內容,並可包含文字、語音、互動式卡片和二進位或未知附件。
並非所有訊息活動都包含文字,活動的 文字 屬性可以是 null
或 undefined
。
繼承自 ActivityHandler.onMessage
onMessageReaction(BotHandler)
針對每個傳入訊息反應活動所發出的 訊息反應 事件,註冊活動事件處理程式。
function onMessageReaction(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
訊息反應活動代表對話內現有訊息活動上的社交互動。 原始活動是由訊息反應活動的 replyToId 屬性所參考。 來自 屬性的
若要處理在交談中新增或移除訊息的反應時,請使用 onReactionsAdded 和 onReactionsRemoved 子類型事件處理程式。
繼承自 ActivityHandler.onMessageReaction
onReactionsAdded(BotHandler)
針對加入 事件之
function onReactionsAdded(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
活動的 反應新增 屬性包含一或多個已新增的反應。
若要處理一般訊息反應事件,請使用 onMessageReaction 類型特定的事件處理程式。
繼承自 ActivityHandler.onReactionsAdded
onReactionsRemoved(BotHandler)
為已移除 事件
function onReactionsRemoved(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
活動的 reactionsRemoved 屬性包含一或多個已移除的反應。
若要處理一般訊息反應事件,請使用 onMessageReaction 類型特定的事件處理程式。
繼承自 ActivityHandler.onReactionsRemoved
onTokenResponseEvent(BotHandler)
針對任何傳入 tokens/response
事件活動活動發出之 token-response 事件,註冊活動事件處理程式。 這些會在 OAuth 驗證流程中產生。
function onTokenResponseEvent(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
活動 值 屬性包含使用者令牌。
如果您的 Bot 使用對話方塊內的 OAuthPrompt 來處理驗證,則對話必須接收此活動才能完成驗證流程。
若要一般處理其他具名事件和事件事件,請使用 onEvent 類型特定的事件處理程式。
繼承自 ActivityHandler.onTokenResponseEvent
onTurn(BotHandler)
註冊 回合 事件的活動事件處理程式,不論類型為何,都會針對每個傳入活動發出。
function onTurn(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
繼承自 ActivityHandler.onTurn
onTyping(BotHandler)
為輸入 活動
function onTyping(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
若要處理 Type 事件,請使用 onTyping 類型特定的事件處理程式。
繼承自 ActivityHandler.onTyping
onUnrecognizedActivityType(BotHandler)
為 無法辨識的活動類型 事件註冊活動事件處理程式,針對具有 ActivityHandler 未提供事件處理程式的類型的連入活動發出。
function onUnrecognizedActivityType(handler: BotHandler): this
參數
- handler
-
BotHandler
事件處理程式。
傳回
this
ActivityHandler 對象的參考。
備註
ActivityHandler
不會針對 Bot Framework 活動架構中所定義的所有活動類型定義事件。 此外,通道和自定義配接器可以建立 活動,且類型不在架構中。 當活動處理程式收到這類事件時,它會發出無法辨識的活動類型事件。
活動 類型 屬性包含活動類型。
繼承自 ActivityHandler.onUnrecognizedActivityType
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);
});
});
另請參閱
繼承自 ActivityHandler.run