Dialogflow と Telegram を統合すると、Dialogflow テクノロジーをベースに、自然言語を理解する Telegram ボットを簡単に作成できます。
制限事項
この統合では、デフォルトのエージェント言語のみがサポートされます。
Telegram の設定
エージェントの Telegram 統合を設定するには、次のものが必要です。
Telegram でボットを作成する
- Telegram にログインし、https://telegram.me/botfather に移動します。
- ウェブ インターフェースで [Start] ボタンをクリックするか、「/start」と入力します。
- [/newbot] をクリックするか入力して、新しく作成するボットの名前を入力します。
- ボットのユーザー名を入力します。この名前は「bot」で終わる必要があります(例: garthsweatherbot)。
- 生成されたアクセス トークンをコピーします。
Dialogflow の設定
- Dialogflow の左側のメニューで [Integrations] に移動します。
- [Telegram] タイルをクリックします。
- [Access Token] に、前の手順でコピーした値を貼り付けます。
- [Start] ボタンをクリックします。
テスト
設定が完了すると、BotFather からボットへのリンクが提供されます。このリンク先に移動してエージェントをテストします。
Telegram トークンを再生成する
Telegram 統合が有効になっているエージェントの Telegram トークンを再生成するには、次の手順を実行します。
- Dialogflow の統合設定に移動し、[STOP] をクリックします。
- Telegram でトークンを再生成します。
- 統合設定で新しい Telegram トークンを入力し、[START] をクリックします。
エージェントと新しい Telegram ボットの統合
Telegram 統合が有効になっているエージェントを、新しい Telegram ボットとリンクさせるには、次の手順を実行します。
- Dialogflow の統合設定に移動し、[STOP] をクリックします。
- 必要に応じて Telegram の古いボットを削除します。
- 統合設定で新しい 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" } ] ] } } }