メインコンテンツへ移動

Telegram

Telegram channel を使用すると、Mastra Agent は Telegram のダイレクトメッセージ、グループメッセージ、Bot へのメンションを受信できます。Mastra は Agent の接続と Webhook ルートを処理します。Bot の設定、Webhook の登録、ポーリングの動作については、Chat SDK の Telegram アダプターのドキュメントを参照してください。

アダプターのインストール
アダプターのインストールへの直接リンク

Chat SDK から Telegram アダプターをインストールします。

npm install @chat-adapter/telegram

Agent の設定
Agent の設定への直接リンク

Agent の channels.adapters オブジェクトに createTelegramAdapter() を追加します。

src/mastra/agents/telegram-agent.ts
import { Agent } from '@mastra/core/agent'
import { createTelegramAdapter } from '@chat-adapter/telegram'

export const telegramAgent = new Agent({
id: 'telegram-agent',
name: 'Telegram Agent',
instructions: 'Answer questions and help with tasks in Telegram.',
model: 'openai/gpt-5.6-sol',
channels: {
adapters: {
telegram: createTelegramAdapter(),
},
},
})

Mastra インスタンスに Agent を登録します。

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { telegramAgent } from './agents/telegram-agent'

export const mastra = new Mastra({
agents: { telegramAgent },
})

アダプターの設定
アダプターの設定への直接リンク

BotFather、Webhook の登録、シークレットトークン、ポーリングモードなど、Telegram 固有の設定については、Chat SDK Telegram アダプターのドキュメントに従ってください。

アダプターは、次のような環境変数から Telegram の認証情報を読み取ります。

.env
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_WEBHOOK_SECRET_TOKEN=your-webhook-secret-token
TELEGRAM_BOT_USERNAME=your_bot_username

Webhook URL
Webhook URLへの直接リンク

Mastra は、Agent ID とアダプターキーから Telegram の Webhook ルートを生成します。

/api/agents/telegram-agent/channels/telegram/webhook

公開されている Mastra サーバーの URL をベース URL として使用します。

https://your-app.example.com/api/agents/telegram-agent/channels/telegram/webhook

Telegram アダプターのドキュメントで Webhook URL が求められる箇所には、この URL を使用します。Telegram はポーリングモードもサポートしています。ローカル開発でポーリングを使用する場合は、Chat SDK アダプターのドキュメントに従ってください。