依通路分類的活動
下表顯示哪些事件 (線上的活動) 會來自於哪些通道。
這是資料表的索引鍵:
符號 | 意義 |
---|---|
✅ | Bot 應會收到此活動 |
❌ | Bot 應 永遠不會 收到此活動 |
⬜ | 目前未決定 Bot 是否會收到此活動 |
可以將活動有意義地分割成不同的類別。 每個類別中會有一個可能的活動資料表。
對話
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | GroupMe | Kik | Teams | Slack | Skype | 商務用 Skype | Telegram | Twilio | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
訊息 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
MessageReaction | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
- 所有的通道均傳送訊息活動。
- 使用對話方塊時,通常應一律將訊息活動傳遞到對話方塊上。
- 即使 MessageReaction 是對話很重要的一部分,上述規則可能不適用於 MessageReaction。
- 邏輯上有兩種類型的 MessageReaction:新增和移除
提示
「訊息反應」就像是之前意見中的「讚」。 可能會隨機發生,因此可以視為與按鈕類似。 此活動目前是由 Teams 通道傳送。
歡迎使用
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | GroupMe | Kik | Teams | Slack | Skype | 商務用 Skype | Telegram | Twilio | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ConversationUpdate | ✅ | ✅ | ✅ | ❌ | ⬜ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
ContactRelationUpdate | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
- 通道通常會傳送 ConversationUpdate 活動。
- 邏輯上有兩種類型的 MessageReaction:新增和移除
- 如此很容易讓人假設透過連接 ConversationUpdate.Added 即可簡單地實作 Bot「歡迎使用」行為,而這麼做有時的確可行。
- 不過,這是簡化的方法,為了產生可靠的「歡迎使用」行為,Bot 實作也可能需要使用狀態。
應用程式擴充性
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | 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 (網路聊天) | 電子郵件 | GroupMe | Kik | Teams | Slack | Skype | 商務用 Skype | Telegram | Twilio | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Invoke.TeamsVerification | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Invoke.ComposeResponse | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
- 除了許多其他類型的活動外,Microsoft Teams 還定義了一些特定叫用活動的小組。
- 叫用活動是專屬於應用程式,而不是用戶端定義的內容。
- 活動的「叫用」特定子類型,沒有通用概念。
- 叫用是 Bot 上目前唯一會觸發要求-回覆行為的活動。
這非常重要:若使用 OAuth 提示的對話方塊,則 Invoke.TeamsVerification 活動必須轉寄給對話方塊。
訊息更新
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | GroupMe | Kik | Teams | Slack | Skype | 商務用 Skype | Telegram | Twilio | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MessageUpdate | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ⬜ | ❌ | ❌ | ❌ | ❌ |
MessageDelete | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ⬜ | ❌ | ❌ | ❌ | ❌ |
- 訊息更新目前由 Teams 提供支援。
OAuth
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | GroupMe | Kik | Teams | Slack | Skype | 商務用 Skype | Telegram | Twilio | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Event.TokenResponse | ⬜ | ✅ | ✅ | ❌ | ⬜ | ⬜ | ⬜ | ❌ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
這非常重要:若使用 OAuth 提示的對話方塊,則 Event.TokenResponse Activity 活動必須轉寄給對話方塊。
未分類
\ | Cortana | Direct Line | Direct Line (網路聊天) | 電子郵件 | 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
電子郵件
- 訊息
- 訊息
- 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 (網路聊天) | 電子郵件 | 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 (網路聊天) | 電子郵件 | 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 | ✔ | ❌ | ❌ | ❌ | ✔ | ✔ | ✔ | ❌ |
電子郵件 | 🔶 | 🌐 | 🌐 | ✔ | ✔ | ✔ | ✔ | 🌐 |
⚠🔶 | ✔ | ❌ | ✔ | ✔ | ✔ | ✔ | ❌ | |
GroupMe | 🔶 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 | 🌐 |
Kik | 🔶 | ✔ | ✔ | ❌ | 🌐 | ❌ | ✔ | 🌐 |
折線圖 | ⚠🔶 | ✔ | 🌐 | ✔ | ✔ | ✔ | ✔ | 🌐 |
Microsoft Teams | ✔ | ❌ | ❌ | ✔ | ✔ | ✔ | ✔ | ❌ |
Skype | ❌ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Slack | 🔶 | ✔ | 🌐 | 🌐 | ✔ | ✔ | 🌐 | 🌐 |
Telegram | ⚠🔶 | ✔ | 🌐 | ✔ | ✔ | ✔ | ✔ | ✔ |
Twilio | 🔶 | 🌐 | ❌ | 🌐 | 🌐 | 🌐 | 🌐 | ❌ |
網路聊天 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
注意:Direct Line 通道在技術上可支援所有卡片,但是否實作卡片則由用戶端決定
- ✔:支援 - 卡片可受到完全支援,但某些通道僅支援一小部分 CardActions,以及/或可能會限制每張卡片允許的動作數目。 因通道而異。
- ⚠:部分支援 - 如果卡片包含輸入和/或按鈕,則卡片可能完全不會顯示。 因通道而異。
- ❌:不支援
- 🔶:卡片轉換成影像
- 🌐:卡片轉換成未格式化的文字 - 連結可能無法點按、影像可能不會顯示,以及/或媒體可能無法播放。 因通道而異。
這些類別是刻意設計成範圍廣泛的,而且不會完整說明每個通道中每個卡片功能的支援方式,因為有許多卡片、功能和通道的可能組合。 請使用此資料表作為基底參考,但在所需的通道中測試您的每張卡片。