Telegram

Dialogflow Telegram 整合能讓您以 Dialogflow 技術為基礎,輕鬆建立具有自然語言理解能力的 Telegram 機器人。

限制

這個整合作業僅支援預設的服務機器人語言

設定 Telegram

如要為您的代理程式設定 Telegram 整合,您必須符合以下條件:

在 Telegram 中建立機器人

  1. 登入 Telegram 並前往 https://telegram.me/botfather
  2. 在網頁介面中按一下 [Start] 按鈕,或輸入 /start
  3. 按一下或輸入 /newbot,然後輸入名稱
  4. 為機器人輸入使用者名稱,結尾必須為「bot」(例如 garthsweatherbot)
  5. 複製系統產生的存取權杖

設定 Dialogflow

  1. 在 Dialogflow 的左側選單中,按一下 [Integrations] (整合)
  2. 按一下 [Telegram] 圖塊
  3. 存取憑證貼到相關欄位中
  4. 按一下「Start」按鈕

測試

設定完成後,BotFather 會提供機器人連結,前往這個連結即可測試您的代理程式。

重新產生 Telegram 權杖

如要為已啟用 Telegram 整合的服務專員重新產生 Telegram 權杖,請按照下列步驟操作:

  1. 前往 Dialogflow 整合設定,然後按一下「停止」
  2. 在 Telegram 中重新產生權杖。
  3. 在整合設定中輸入新的 Telegram 權杖,然後按一下「開始」

將代理程式與新的 Telegram 機器人整合

如要將已啟用 Telegram 整合的代理程式連結至新的 Telegram 機器人,請按照下列步驟操作:

  1. 前往 Dialogflow 整合設定,然後按一下「停止」
  2. 視需要刪除 Telegram 中的舊機器人。
  3. 在整合設定中輸入新的 Telegram 權杖,然後按一下「開始」

事件

以下事件會由這項整合功能觸發:

活動 說明
TELEGRAM_WELCOME 使用者和您的 Telegram 機器人開啟對話或鍵入 /start 時,就會觸發這個事件。
TELEGRAM_HELP 使用者與您的 Telegram 機器人對話時輸入 /help,就會觸發這個事件。
TELEGRAM_SETTINGS 使用者與您的 Telegram 機器人對話時輸入 /settings,就會觸發這個事件。

複合式回應訊息

系統支援下列複合式回應訊息

圖片回應

支援的格式和大小:

  • 大小上限為 5 MB

資訊卡回覆

必須填入圖片網址欄位或標題欄位。

系統支援含有網址和文字回傳的按鈕。點選含有網址的按鈕會開啟網頁,而點選含有文字的按鈕則會將文字傳送為使用者查詢。

快速回覆

一鍵整合 Telegram 的快速回覆功能,會對應到 Telegram 中的鍵盤按鈕

當使用者點選其中一個按鈕時,按鈕就會關閉。這可避免使用者按下對話中舊訊息附帶的按鈕。

自訂酬載回應

單鍵整合的 Telegram 中,已設定格式的文字和超連結

Telegram 機器人可以傳送已設定格式的文字和超連結。

以下範例會使用 Markdown 剖析模式傳送含有超連結的格式化文字:

{
  "telegram": {
    "text": "You can read about *entities* [here](/docs/concept-entities).",
    "parse_mode": "Markdown"
  }
}

請參閱 Telegram 說明文件

內嵌式鍵盤按鈕

以下範例說明如何在自訂酬載元素中定義內嵌式鍵盤按鈕

{
  "telegram": {
    "text": "Pick a color",
    "reply_markup": {
      "inline_keyboard": [
        [
          {
            "text": "Red",
            "callback_data": "Red"
          }
        ],
        [
          {
            "text": "Green",
            "callback_data": "Green"
          }
        ],
        [
          {
            "text": "Yellow",
            "callback_data": "Yellow"
          }
        ],
        [
          {
            "text": "Blue",
            "callback_data": "Blue"
          }
        ],
        [
          {
            "text": "Pink",
            "callback_data": "Pink"
          }
        ]
      ]
    }
  }
}