通道參考
適用於: SDK v4
本文概述各種 Bot Framework 功能的通道支援:
- 每個通道都可以傳送或接收的活動類型。
- 每個通道都可以顯示的卡片類型,包括調適型卡片。
- 卡片動作和每個通道上建議的動作支援。
- 不同活動類型的一般分類。
如需通訊協定層級活動和卡片結構的詳細資訊,請參閱 Bot Framework 活動和卡片架構。
調適型卡片是個別的技術。 如需詳細資訊,請參閱 adaptivecards.io。
通道支持的活動
下表指出指定的通道是否可以將指定的活動類型傳送至 Bot。 在數據表中,下列詞彙具有下列意義。
術語 | 意義 |
---|---|
Yes | Bot 可以從通道接收此活動。 |
No | Bot 無法從通道接收此活動。 |
未決定 | 目前尚未確定。 |
通道 | 聯繫人關係更新 | 對話更新 | 結束交談 | 活動 | 安裝更新 | Invoke | 訊息 | 訊息反應 | 訊息更新 | 訊息刪除 | 輸入 |
---|---|---|---|---|---|---|---|---|---|---|---|
Alexa | No | 無 | .是 | 是 | 無 | 無 | .是 | 無 | 無 | 無 | No |
Azure 通訊服務 | No | .是 | 無 | .是 | 無 | 無 | .是 | 無 | .是 | .是 | Yes |
Direct Line | No | .是 | .是 | .是 | 是 | 無 | .是 | 無 | 無 | 無 | Yes |
Direct Line Speech | Yes | ||||||||||
電子郵件 | No | 無 | No | 未決定 | No | 無 | .是 | 無 | 無 | 無 | No |
No | .是 | 無 | .是 | 無 | 無 | .是 | 是 | 無 | 無 | No | |
GroupMe | No | .是 | No | 未決定 | No | 無 | .是 | 無 | 無 | 無 | No |
LINE | No | .是 | 無 | .是 | 無 | 無 | .是 | 無 | 無 | 無 | No |
Microsoft Teams | No | .是 | No | 未決定 | No | .是 | .是 | .是 | .是 | 是 | No |
全通路 | Yes | ||||||||||
Outlook (預覽) | Yes | ||||||||||
搜尋 (預覽) | Yes | ||||||||||
Slack | No | .是 | No | 未決定 | No | 無 | .是 | 無 | .是 | 是 | No |
Telegram | No | .是 | No | 未決定 | No | 無 | .是 | 無 | Yes | 未決定 | No |
Twilio (SMS) | No | 無 | No | 未決定 | No | 無 | .是 | 無 | 無 | 無 | No |
網路聊天 | No | .是 | .是 | .是 | 是 | 無 | .是 | 無 | 無 | 無 | Yes |
event
和 invoke
活動的支援會依活動的名稱而有所不同,而且會因通道而異。
管道的卡片支援
下表指出指定的通道是否可以轉譯指定的卡片類型。 即使通道可以轉譯卡片類型,通道可能不支援卡片上的所有功能。 發行 Bot 之前,請先測試 Bot 可以傳送的每個卡片的行為。
在數據表中,下列詞彙具有下列意義。
術語 | 意義 |
---|---|
Yes | 此通道支援卡片;不過,任何指定的通道都只能支援卡片動作的子集,或可能會限制每個卡片上允許的動作數目。 |
No | 此通道不支援卡片。 |
Partial | 部分支援。 如果卡片包含輸入或按鈕,此通道可能不會顯示卡片。 支援層級會因通道而異。 |
映像 | 卡片會轉換成影像。 |
Text | 卡片會轉換成未格式化的文字。 連結可能無法點選、影像可能無法顯示,且媒體可能無法播放。 支援層級會因通道而異。 |
通道 | 調適型卡片 | 動畫卡片 | 音訊卡 | 主圖卡 | 回條卡片 | 登入卡片 | 縮圖卡 | 視訊卡 |
---|---|---|---|---|---|---|---|---|
Alexa | No | 無 | 無 | .是 | 無 | .是 | 無 | No |
Azure 通訊服務 | 是* | Yes | .是 | .是 | .是 | .是 | .是 | Yes |
電子郵件 | 映像 | Text | Text | Yes | .是 | .是 | Yes | Text |
影像,部分 | Yes | .是 | .是 | .是 | .是 | .是 | Yes | |
GroupMe | 映像 | Text | Text | Text | Text | Text | Text | Text |
LINE | 影像,部分 | Yes | Text | Yes | .是 | .是 | Yes | Text |
Microsoft Teams | 是 | 無 | 無 | .是 | .是 | .是 | 是 | No |
全通路 | ||||||||
Outlook (預覽) | ||||||||
搜尋 (預覽) | ||||||||
Slack | 映像 | Yes | Text | Text | Yes | Yes | Text | Text |
Telegram | 影像,部分 | Yes | Text | Yes | .是 | .是 | .是 | Yes |
Twilio (SMS) | 映像 | Text | No | Text | Text | Text | Text | No |
網路聊天 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 |
注意
- Direct Line 通道在技術上支援所有卡片,但由客戶端來實作這些卡片。
- *對於 Azure 通訊服務 聊天,調適型卡片僅支援 Azure 通訊服務 使用案例,不適用於Teams使用案例 Azure 通訊服務。
通道支援的卡片動作
下表顯示指定通道所支持的建議動作和卡片動作數目上限。 值 「None」 表示通道中不支援動作類型。
通道 | 建議的動作 | 卡片動作 |
---|---|---|
Alexa | 無 | 無 |
Azure 通訊服務 | ||
Direct Line | 100 | 100 |
Direct Line Speech | 100 | 100 |
電子郵件 | 無 | 無 |
11 | 3 | |
GroupMe | 無 | 無 |
LINE | 13 | 99 |
Microsoft Teams | 無 | 3 |
全通路 | ||
Outlook (預覽) | ||
搜尋 (預覽) | ||
Slack | 無 | 100 |
Telegram | 100 | 100 |
Twilio (SMS) | 無 | 無 |
網路聊天 | 100 | 100 |
- 如需卡片動作的詳細資訊,請參閱將媒體新增至訊息一文中的處理豐富卡片內的事件。
- 如需建議動作的詳細資訊,請參閱如何使用 按鈕進行輸入。
活動類別
活動可以分割成不同的類別。 如需每種活動類型的詳細描述,以及每種活動類型所包含的資訊,請參閱 Bot Framework 活動架構。
歡迎使用
此類別包含 conversationUpdate
和 contactRelationUpdate
活動。
- 許多通道都會傳送交談更新活動。
- 聊天機器人 歡迎 行為通常是由對話更新活動觸發。 不過,產生可靠的歡迎行為可能需要使用交談或用戶狀態。
- 某些通道會傳送聯繫人關係更新活動。
- 如果您的 Bot 使用這些通道,您可能需要在 Bot 的歡迎行為中包含此活動的邏輯。
交談
此類別包含 message
、 messageReaction
和 endOfConversation
活動。
- 所有通道都可以傳送和接收訊息活動。
- 對於使用對話的 Bot,訊息活動通常應該傳遞至對話。
- 某些通道可以傳送和接收訊息反應活動。
- 視 Bot 的設計而定,您可能會將訊息反應活動傳遞至對話。
- 訊息反應活動會依標識元參考先前的訊息。
- 交談活動的結束會從寄件人的觀點發出交談結束的訊號。
- 對話活動的結束會用於 Bot 對 Bot 通訊中的技能。
提示
訊息反應包含類似先前批注的拇指等專案。 它們可能會依序發生,因此可以視為類似按鈕。 此活動類型可由Teams頻道傳送。
訊息更新和刪除
此類別包含 messageUpdate
和 messageDelete
活動。
- Teams 支援訊息更新和刪除活動。
應用程式擴充性
此類別包含 event
和 invoke
活動。
活動的意義是由其 name
欄位所定義,這在通道範圍內有意義。
- 擁有客戶端和伺服器的應用程式可以使用事件活動,在用戶端和伺服器之間通訊程式設計資訊。
- 事件活動,例如大部分的活動類型,都是異步的。
- Direct Line 和 網路聊天 使用事件活動作為擴充性機制。
- 叫用活動專屬於應用程式,而不是用戶端會定義的專案。
- 叫用活動與其他活動類型不同,是同步的。 (Invoke 目前是唯一觸發 Bot 上要求-回復行為的活動類型。
- Microsoft Teams 會使用叫用活動,並定義一些 Teams 特定的叫用活動。
驗證
若要讓 OAuth 提示使用對話, TeamsVerification
則必須將叫用活動轉送至對話方塊。
未分類
installationUpdate
、 typing
和 handoff
活動不會有意義地納入其他類別。
- 安裝更新活動代表通道組織單位內的 Bot 安裝或卸載。
- 輸入活動代表使用者或 Bot 的持續輸入。
- 交接活動要求或發出 Bot 內元素之間焦點變更的訊號。 交接活動與名稱為 「handoff」 的事件活動不同。
使用不足 (包括付款特定叫用)
這些活動類型不再使用中:
deleteUserData
handoff
ping
Address
調用PaymentRequest
調用
其他資訊
所有通道都可以傳送和接收 message
活動。
提示
將通道的支援新增至 Bot 時,請熟悉通道的開發人員檔。每個頻道在交談的各個層面都有不同的限制。 其中一些差異包括:
- Bot 必須處理每個 HTTP 要求的時間。
- Bot 是否可以傳送不回應特定用戶活動的活動。
- Bot 可以在指定的時間範圍內傳送多少個訊息。
- 卡片如何轉譯及支援哪些卡片。