LangBot Docs
n8n

n8n を Telegram に接続する

LangBot で n8n アプリを Telegram のボットとして動かす手順:n8n の設定、ボットの認証情報、ネットワーク、テスト、トラブルシューティング。

このレシピではお使いの n8n アプリを Telegram のボットにつなぎます。LangBot が Telegram のメッセージを受け取り、パイプラインで処理して返信するので、プラットフォーム連携のコードは不要です。

n8n がワークフローを実行し、LangBot がチャットプラットフォーム、セッション、配信を担当します。メッセージごとに Webhook でワークフローを呼び出します。

必要なもの

  • 稼働中の LangBot:LangBot Cloud(サーバー不要)、または Docker や uvx langbot によるセルフホスト。
  • LangBot からネットワーク経由で到達できる n8n のアカウントまたはインスタンス。
  • @BotFather で取得したボットトークン(/newbot を送り、bot で終わるユーザー名を付けます)。

ネットワーク

Telegram はロングポーリングを使うため、LangBot から api.telegram.org へ外向きに接続できれば十分です。公開 Webhook URL は不要で、手元の PC や自宅サーバーでも動きます。

1. n8n を準備する

  1. ワークフローを Webhook または On chat message トリガーで開始します。ストリーミング返信には Response Mode を Streaming にします。
  2. AI Agent ノード(ストリーミング)か Respond to Webhook ノードで応答し、応答キー名を LangBot の出力キー名と一致させます。
  3. Active でワークフローを有効にし、本番用 Webhook URL をコピーします。

2. パイプラインを作成する

LangBot WebUI の パイプライン でパイプラインを作成(または既定のものを編集)し、AI を次のように設定します。ランナーが一覧にない場合は、プラグイン または LangBot Space マーケット から公式ランナープラグインをインストールします。

項目設定値
ランナーn8n(公式 n8n ワークフローランナープラグイン)
Webhook URLワークフローの本番用 Webhook URL
認証方式なし、Basic Auth、JWT、Header のいずれか(トリガーノードと同じ設定)

3. Telegram のボットを作成する

  1. ボット で新しいボットを作成し、Telegram アダプター(LangBot 4.11 の新しいアダプター。非推奨の旧版は選ばない)を選びます。
  2. トークンを貼り付け、必要に応じて Markdown とストリーミングを有効にし、ボットを有効化して保存します。

4. 紐付けてテストする

ボットを開いて作成したパイプラインを選び、保存してボットが有効になっていることを確認します。

ボットとの個人チャットで Start を押してからメッセージを送ります。グループではパイプラインのトリガー条件(ボットへのメンションや返信など)を満たす必要があります。

トラブルシューティング

  • 返信が空の場合は、Respond to Webhook のキー名が LangBot の出力キー名と一致しているか確認します。
  • テスト URL はエディターが待ち受けている間しか使えません。有効化したワークフローの本番 URL を使います。
  • 1 つのトークンをポーリングできるのは 1 インスタンスだけです。返信がない場合は、同じボットを別の LangBot インスタンスやスクリプトで有効にしていないか確認してください。
  • WebUI の モニタリング に、すべてのメッセージ、パイプラインの実行、エラーが記録されます。

よくある質問

Telegram には公開 IP のあるサーバーが必要ですか?

いいえ。Telegram はロングポーリングを使うため、LangBot から api.telegram.org へ外向きに接続できれば十分です。公開 Webhook URL は不要で、手元の PC や自宅サーバーでも動きます。

Telegram のボットはストリーミング返信に対応していますか?

はい。ボットでストリーミングを有効にし、AI 側もストリーミングに対応している必要があります。詳しくはプラットフォーム機能一覧をご覧ください。

同じ n8n の設定を他のプラットフォームでも使えますか?

はい。1 つのパイプラインを複数のボットに紐付けられるので、同じ設定で複数のプラットフォームに同時に応答できます。

関連ガイド

On this page