依通路分類的活動

適用于: SDK v4APPLIES TO: SDK v4

下表顯示哪些事件 (線上的活動) 會來自於哪些通道。

這是資料表的索引鍵:

符號 意義
Bot 應會收到此活動
Bot 應 永遠不會 收到此活動
目前未決定 Bot 是否會收到此活動

可以將活動有意義地分割成不同的類別。 每個類別中會有一個可能的活動資料表。

對話

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
訊息
MessageReaction
  • 所有的通道均傳送訊息活動。
  • 使用對話方塊時,通常應一律將訊息活動傳遞到對話方塊上。
  • 即使 MessageReaction 是對話很重要的一部分,上述規則可能不適用於 MessageReaction。
  • 邏輯上有兩種類型的 MessageReaction:新增和移除

提示

「訊息反應」就像是之前意見中的「讚」。 可能會隨機發生,因此可以視為與按鈕類似。 此活動目前是由 Teams 通道傳送。

歡迎使用

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
ConversationUpdate
ContactRelationUpdate
  • 通道通常會傳送 ConversationUpdate 活動。
  • 邏輯上有兩種類型的 MessageReaction:新增和移除
  • 如此很容易讓人假設透過連接 ConversationUpdate.Added 即可簡單地實作 Bot「歡迎使用」行為,而這麼做有時的確可行。
  • 不過,這是簡化的方法,為了產生可靠的「歡迎使用」行為,Bot 實作也可能需要使用狀態。

應用程式擴充性

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
Event.*
Event.CreateConversation
Event.ContinueConversation
  • 事件活動是 Direct Line (aka Web Chat) 中的一個擴充性機制。
  • 同時擁有用戶端和伺服器的應用程式,可以選擇使用此事件活動透過服務來打開自己事件的通道。

Microsoft Teams

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
Invoke.TeamsVerification
Invoke.ComposeResponse
  • 除了許多其他類型的活動外,Microsoft Teams 還定義了一些特定叫用活動的小組。
  • 叫用活動是專屬於應用程式,而不是用戶端定義的內容。
  • 活動的「叫用」特定子類型,沒有通用概念。
  • 叫用是 Bot 上目前唯一會觸發要求-回覆行為的活動。

這非常重要:若使用 OAuth 提示的對話方塊,則 Invoke.TeamsVerification 活動必須轉寄給對話方塊。

訊息更新

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
MessageUpdate
MessageDelete
  • 訊息更新目前由 Teams 提供支援。

OAuth

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
Event.TokenResponse

這非常重要:若使用 OAuth 提示的對話方塊,則 Event.TokenResponse Activity 活動必須轉寄給對話方塊。

未分類

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
EndOfConversation
InstallationUpdate
輸入
Handoff

不使用 (包括付款特定叫用)

  • DeleteUserData
  • Invoke.PaymentRequest
  • Invoke.Address
  • Ping

每個通道支援活動的摘要

Cortana

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse
  • EndOfConversation (在視窗關閉時?)

Direct Line

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse
  • Event.*
  • Event.CreateConversation
  • Event.ContinueConversation

電子郵件

  • 訊息

Facebook

  • 訊息
  • Event.TokenResponse

GroupMe

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse

Kik

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse

Teams

  • 訊息
  • ConversationUpdate
  • MessageReaction
  • MessageUpdate
  • MessageDelete
  • Invoke.TeamsVerification
  • Invoke.ComposeResponse

Slack

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse

Skype

  • 訊息
  • ContactRelationUpdate
  • Event.TokenResponse

商務用 Skype

  • 訊息
  • ContactRelationUpdate
  • Event.TokenResponse

Telegram

  • 訊息
  • ConversationUpdate
  • Event.TokenResponse

Twilio

  • 訊息

所有通道的所有活動摘要表

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik Teams Slack Skype 商務用 Skype Telegram Twilio
訊息
MessageReaction
ConversationUpdate
ContactRelationUpdate
Event.*
Event.CreateConversation
Event.ContinueConversation
Invoke.TeamsVerification
Invoke.ComposeResponse
MessageUpdate
MessageDelete
Event.TokenResponse
EndOfConversation
InstallationUpdate
輸入
Handoff

網路聊天

網路聊天將傳送:

  • "message":包含「文字」和/或「附件」
  • "event":包含「名稱」和「值」(如 JSON/字串)
  • "typing":如果使用者設定選項,亦即 "sendTypingIndicator" 網路聊天不會傳送 "contactRelationUpdate"。 而網路聊天不支援 "messageReaction",未明確要求我們支援這項功能。

根據預設,網路聊天會轉譯:

  • "message":會根據活動中的選項轉譯為浮動切換或堆疊
  • "typing":將轉譯 5 秒並隱藏,或直到下一個活動開始
  • "conversationUpdate":會隱藏
  • "event":會隱藏
  • 其他:會顯示警告方塊 (我們從未在生產環境中看到)。您可以將此轉譯管線修改為新增、移除或取代任何自訂轉譯。

您可以使用網路聊天傳送任何活動類型和承載,我們不會以文件記錄也不會建議這項功能。 您應該改為使用 "event" 活動。

依通道的動作支援

下表顯示每個通道支援的建議動作和卡片動作數目上限。 ❌ 表示指定的通道不支援的動作。

\ Cortana Direct Line Direct Line (網路聊天) 電子郵件 Facebook GroupMe Kik 折線圖 Teams Slack Skype 商務用 Skype Telegram Twilio
建議的動作 100 100 10 20 13 10 100
卡片動作 100 100 100 3 20 99 3 100 3

如需上表所示數量的詳細資訊,請參閱此處所列的通道支援碼。

如需 建議動作 的詳細資訊,請參閱 使用按鈕進行輸入一文。

如需 卡片動作 的詳細資訊,請參閱〈將媒體新增至訊息〉 一文中的 傳送主圖卡片一節。

依通道列出的卡片支援

通路 調適型卡片 動畫卡片 音訊卡片 主圖卡片 回條卡 簽到卡 縮圖卡 視訊卡片
Cortana
電子郵件 🔶 🌐 🌐 🌐
Facebook ⚠🔶
GroupMe 🔶 🌐 🌐 🌐 🌐 🌐 🌐 🌐
Kik 🔶 🌐 🌐
折線圖 ⚠🔶 🌐 🌐
Microsoft Teams
Skype
Slack 🔶 🌐 🌐 🌐 🌐
Telegram ⚠🔶 🌐
Twilio 🔶 🌐 🌐 🌐 🌐 🌐
網路聊天

注意:Direct Line 通道在技術上可支援所有卡片,但是否實作卡片則由用戶端決定

  • ✔:支援 - 卡片可受到完全支援,但某些通道僅支援一小部分 CardActions,以及/或可能會限制每張卡片允許的動作數目。 因通道而異。
  • ⚠:部分支援 - 如果卡片包含輸入和/或按鈕,則卡片可能完全不會顯示。 因通道而異。
  • ❌:不支援
  • 🔶:卡片轉換成影像
  • 🌐:卡片轉換成未格式化的文字 - 連結可能無法點按、影像可能不會顯示,以及/或媒體可能無法播放。 因通道而異。

這些類別是刻意設計成範圍廣泛的,而且不會完整說明每個通道中每個卡片功能的支援方式,因為有許多卡片、功能和通道的可能組合。 請使用此資料表作為基底參考,但在所需的通道中測試您的每張卡片。