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. [Access Token] に、前の手順でコピーした値を貼り付けます。
  4. [Start] ボタンをクリックします。

テスト

設定が完了すると、BotFather からボットへのリンクが提供されます。このリンク先に移動してエージェントをテストします。

Telegram トークンを再生成する

Telegram 統合が有効になっているエージェントの Telegram トークンを再生成するには、次の手順を実行します。

  1. Dialogflow の統合設定に移動し、[STOP] をクリックします。
  2. Telegram でトークンを再生成します。
  3. 統合設定で新しい Telegram トークンを入力し、[START] をクリックします。

エージェントと新しい Telegram ボットの統合

Telegram 統合が有効になっているエージェントを、新しい Telegram ボットとリンクさせるには、次の手順を実行します。

  1. Dialogflow の統合設定に移動し、[STOP] をクリックします。
  2. 必要に応じて Telegram の古いボットを削除します。
  3. 統合設定で新しい Telegram トークンを入力し、[START] をクリックします。

イベント

この統合によって、次のイベントがトリガーされます。

イベント 説明
TELEGRAM_WELCOME Telegram ボットでユーザーが会話を開始したとき、または /start と入力した時点でトリガーされます。
TELEGRAM_HELP ユーザーが Telegram ボットとの会話中に /help を入力するとトリガーされます。
TELEGRAM_SETTINGS ユーザーが Telegram ボットとの会話中に /settings を入力するとトリガーされます。

リッチ レスポンス メッセージ

次のリッチ レスポンス メッセージがサポートされています。

画像のレスポンス

サポートされている形式とサイズ:

  • 最大サイズ 5 MB

カード形式のレスポンス

画像 URL フィールドまたはタイトル フィールドが必須です。

URL とテキスト ポストバック付きのボタンがサポートされています。URL 付きのボタンをタップするとウェブページが開き、テキスト付きのボタンをタップするとユーザーのクエリとしてテキストが送信されます。

クイック返信のレスポンス

ワンクリックの Telegram の統合でのクイック返信は、Telegram のキーボード ボタンに対応しています。

ユーザーがいずれかのボタンをクリックすると、ボタンが閉じられます。これにより、ユーザーが会話の古いメッセージに付いているボタンをクリックする問題を防ぐことができます。

カスタム ペイロードのレスポンス

ワンクリックの Telegram の統合で書式設定されたテキストとハイパーリンク

Telegram の bot は、書式設定されたテキストやハイパーリンクを送信できます。

次の例では、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"
          }
        ]
      ]
    }
  }
}