第26章 Telegram への接続

ビジネスユーザーは Telegram に接続するインテグレーションを作成できます。Telegram へのコネクションは以下の 1 つを行うことができます。

  • 指定の Telegram ボットがメッセージを受信するときにシンプルなインテグレーションの実行をトリガーします。インテグレーションはメッセージをフローの次のステップに渡します。たとえば、シンプルなインテグレーションがメッセージを受信した後に、製品名などのキーワードインスタンスを監視するフィルターステップがあることがあります。これらの製品名が含まれるメッセージを見つけた後、インテグレーションは Gmail コネクションまたは異なる Telegram コネクションの適切な連絡先に通知することができます。
  • メッセージを特定の Telegram チャットに配信します。たとえば、この動作は、インテグレーションが FTP サーバーからファイルをダウンロードし、何らかの方法で処理する場合に便利です。プロセスに成功したことを Telegram チャットに通知する Telegram コネクションを追加できます。

インテグレーションで Telegram に接続するには、Telegram コネクションを作成した後にコネクションをインテグレーションフローに追加します。詳細は以下を参照してください。

26.1. Telegram コネクションの作成

インテグレーションでは、Telegram コネクションは特定のチャットに送信されたメッセージを受信できます。作成したチャットボットはメッセージを Fuse Online に転送します。Telegram コネクションもメッセージをコネクションがアクセスできるチャットに送信することができます。以下で、同じ Telegram コネクションを使用できます。

  • コネクションを使用してメッセージをチャットに送信する任意の数のインテグレーション。
  • さらに、Telegram チャットからメッセージを受信するためにコネクションを使用する 1 つのインテグレーションで使用することができます。

そのため、コネクションが両方のインテグレーションで Telegram チャットメッセージを受信する場合、同じ Telegram コネクションを複数のインテグレーションで使用できません。これが Telegram の制限になります。

前提条件

  • Telegram で、メッセージの取得元となるチャットのボットが作成されている必要があります。ヘルプが必要な場合は「Bots, an introduction for developers」を参照してください。
  • Telegram BotFather からボット承認トークンを取得済みである必要があります。

手順

  1. Fuse Online の左パネルで Connections をクリックし、利用可能なコネクションを表示します。
  2. Create Connection をクリックし、Fuse Online コネクターを表示します。
  3. Telegram コネクターをクリックします。
  4. Authorization Token フィールドに、メッセージの受信元および送信先となるボットの Telegram 承認トークンを入力します。
  5. Next をクリックします。
  6. Name フィールドに、このコネクションを別のコネクションと区別するために使用する名前を入力します。たとえば、Telegram for Product Mentions を入力します。
  7. Description は任意のフィールドで、このコネクションに関する便利な情報を入力します。
  8. Save をクリックし、作成したばかりのコネクションを含む、利用可能なコネクションの更新済みリストを表示します。上記の例の名前を入力した場合は、インテグレーションに追加できるコネクションとして Telegram for Product Mentions が表示されます。このコネクションを任意の数のコネクションに追加できます。

26.2. メッセージの受信時に Telegram コネクションを追加してインテグレーションの実行をトリガー

インテグレーションを開始する Telegram コネクションは、コネクションが指定の Telegram チャットボットからメッセージを受信するたびにインテグレーションの実行をトリガーします。

前提条件

  • Telegram コネクションが作成されている必要があります。
  • シンプルなインテグレーションを作成することになります。Fuse Online はインテグレーションの開始方法の選択を要求します。

手順

  1. インテグレーションの開始に使用する Telegram コネクションをクリックします。
  2. Read Messages アクションを選択し、チャットボットに送信されたすべてのメッセージを受信します。

    コネクション設定は、メッセージの受信元となるチャットボットを特定します。他の設定は必要ありません。

26.3. メッセージを Telegram チャットに送信するため Telegram コネクションを追加

インテグレーションでは、フローの途中でメッセージを Telegram チャットに送信したり、シンプルなインテグレーションを終了するために Telegram チャットを送信することができます。これには、Telegram コネクションをフローの途中に追加するか、シンプルなインテグレーションの最後のコネクションとして追加します。

前提条件

  • Telegram コネクションが作成されている必要があります。
  • フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。または、Fuse Online で最後のコネクションを選択するよう要求されます。

手順

  1. Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
  2. フローに追加する Telegram コネクションをクリックします。
  3. Send a Text Message アクションを選択します。
  4. Chat Id フィールドに、メッセージの送信先となる Telegram チャットの ID を入力します。

    このフィールドを空白のままにし、メッセージを受信する以前の Telegram コネクションがある場合、Fuse Online は受信メッセージにあるチャット ID を使用します。

    チャットの ID を取得するには以下を行います。

    1. Telegram で、ボットをメッセージの送信先となるチャットに追加します。BotFather 応答にはボットアクセストークンが含まれます。
    2. アクセストークンをクリップボードにコピーします。
    3. Telegram で、メッセージを直接そのチャットに送信します。メッセージの送信にボットは使用しないでください。
    4. 以下の形式で curl コマンドを呼び出し、チャットに送信されたメッセージを読み取ります。bot-access-token はクリップボードのアクセストークンに置き換えてください。

      curl https://api.telegram.org/bot-access-token/getUpdates\?offset\=0

      応答は JSON 形式になります。JSON chat オブジェクトにはチャット ID が含まれます。

  5. Next をクリックして、コネクションをフローに追加します。