通道參考

適用于: SDK v4

本文概述各種 Bot Framework 功能的通道支援:

  • 每個通道都可以傳送或接收的活動類型。
  • 每個通道都可以顯示的卡片類型,包括調適型卡片。
  • 卡片動作和每個通道上建議的動作支援。
  • 不同活動類型的一般分類。

如需通訊協定層級活動和卡片結構的詳細資訊,請參閱 Bot Framework 活動和 卡片 架構。

調適型卡片是個別的技術。 如需詳細資訊,請參閱 adaptivecards.io

通道支援的活動

下表指出指定的通道是否可以將指定的活動類型傳送至 Bot。 在資料表中,下列詞彙具有下列意義。

詞彙 意義
Yes Bot 可以從通道接收此活動。
No Bot 無法從通道接收此活動。
未決定 目前尚未確定。
管道 連絡人關係更新 交談更新 結束交談 Event 安裝更新 叫用 訊息 訊息反應 訊息更新 郵件刪除 輸入
Alexa No .是 No
Azure Communication Services Chat No .是 Yes
Direct Line No .是 .是 .是 Yes
Direct Line Speech Yes
電子郵件 No No 未決定 No No
Facebook 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

eventinvoke 活動的支援會依活動的名稱而有所不同,而且會因通道而異。

管道的卡片支援

下表指出指定的通道是否可以轉譯指定的卡片類型。 即使通道可以轉譯卡片類型,通道可能不支援卡片上的所有功能。 發行 Bot 之前,請先測試 Bot 可以傳送的每個卡片的行為。

在資料表中,下列詞彙具有下列意義。

詞彙 意義
Yes 此通道支援卡片;不過,任何指定的通道都只能支援卡片動作的子集,或可能會限制每個卡片上允許的動作數目。
No 此通道不支援卡片。
Partial 部分支援。 如果卡片包含輸入或按鈕,此通道可能不會顯示卡片。 支援層級會因通道而異。
映像 卡片會轉換成影像。
Text 卡片會轉換成未格式化的文字。 連結可能無法點選、影像可能無法顯示,且媒體可能無法播放。 支援層級會因通道而異。
管道 調適型卡片 動畫卡片 音訊卡 主圖卡 回條卡片 登入卡片 縮圖卡 視訊卡
Alexa No No
Azure Communication Services Chat 是* Yes .是 .是 .是 .是 .是 Yes
電子郵件 映像 Text Text Yes .是 .是 Yes Text
Facebook 影像,部分 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 Communication Services Chat
Direct Line 100 100
Direct Line Speech 100 100
電子郵件
Facebook 11 3
GroupMe
LINE 13 99
Microsoft Teams 3
全通路
Outlook (預覽)
搜尋 (預覽)
Slack 100
Telegram 100 100
Twilio (SMS)
網路聊天 100 100

活動類別

活動可以分割成不同的類別。 如需每種活動類型的詳細描述,以及每種活動類型所包含的資訊,請參閱 Bot Framework 活動架構

歡迎使用

此類別包含 conversationUpdatecontactRelationUpdate 活動。

  • 許多通道都會傳送交談更新活動。
    • 聊天機器人 歡迎 行為通常是由對話更新活動觸發。 不過,產生可靠的歡迎行為可能需要使用交談或使用者狀態。
  • 某些通道會傳送連絡人關係更新活動。
    • 如果您的 Bot 使用這些通道,您可能需要在 Bot 的歡迎行為中包含此活動的邏輯。

交談

此類別包含 messagemessageReactionendOfConversation 活動。

  • 所有通道都可以傳送和接收訊息活動。
    • 對於使用對話的 Bot,訊息活動通常應該傳遞至對話。
  • 某些通道可以傳送和接收訊息反應活動。
    • 視 Bot 的設計而定,您可能會將訊息反應活動傳遞至對話。
    • 訊息反應活動會依識別碼參考先前的訊息。
  • 交談活動的結束會從寄件者的觀點發出交談結束的訊號。
    • 對話活動的結束會用於 Bot 對 Bot 通訊中的技能。

提示

訊息反應 包含類似 先前批註的拇指 等專案。 它們可能會依序發生,因此可以視為類似按鈕。 此活動類型可由 Teams 頻道傳送。

訊息更新和刪除

此類別包含 messageUpdatemessageDelete 活動。

  • Teams 支援訊息更新和刪除活動。

應用程式擴充性

此類別包含 eventinvoke 活動。 活動的意義是由其 name 欄位所定義,這在通道範圍內有意義。

  • 擁有用戶端和伺服器的應用程式可以使用事件活動,在用戶端和伺服器之間通訊程式設計資訊。
    • 事件活動,例如大部分的活動類型,都是非同步。
    • Direct Line 和 網路聊天使用事件活動作為擴充性機制。
  • 叫用活動專屬於應用程式,而不是用戶端會定義的專案。
    • 叫用活動與其他活動類型不同,是同步的。 (Invoke 目前是唯一觸發 Bot 上要求-回復行為的活動類型。
    • Microsoft Teams 會使用叫用活動,並定義一些 Teams 特定的叫用活動。

驗證

若要讓 OAuth 提示使用對話, TeamsVerification 則必須將叫用活動轉送至對話方塊。

未分類

installationUpdatetypinghandoff 活動不會有意義地納入其他類別。

  • 安裝更新活動代表通道組織單位內的 Bot 安裝或卸載。
  • 輸入活動代表使用者或 Bot 的持續輸入。
  • 交接活動要求或發出 Bot 內元素之間焦點變更的訊號。 交接活動與名稱為 「handoff」 的事件活動不同。

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

這些活動類型不再使用中:

  • deleteUserData
  • handoff
  • ping
  • Address 調用
  • PaymentRequest 調用

其他資訊

所有通道都可以傳送和接收 message 活動。

提示

將通道的支援新增至 Bot 時,請熟悉通道的開發人員檔。每個頻道在交談的各個層面都有不同的限制。 其中一些差異包括:

  • Bot 必須處理每個 HTTP 要求的時間。
  • Bot 是否可以傳送不回應特定用戶活動的活動。
  • Bot 可以在指定的時間範圍內傳送多少個訊息。
  • 卡片如何轉譯及支援哪些卡片。