跳至主要內容

Telegram

Telegram 頻道可讓 Mastra Agent 接收來自 Telegram 的私訊、群組訊息與機器人提及。Mastra 會處理 Agent 串接與 webhook 路由;Chat SDK Telegram adapter 文件則涵蓋機器人設定、webhook 註冊與輪詢行為。

安裝 adapter
「安裝 adapter」的直接連結

從 Chat SDK 安裝 Telegram adapter:

npm install @chat-adapter/telegram

Agent 設定
「Agent 設定」的直接連結

createTelegramAdapter() 加入 Agent 的 channels.adapters 物件:

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 instance 上註冊 Agent:

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

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

Adapter 設定
「Adapter 設定」的直接連結

請依照 Chat SDK Telegram adapter 文件完成 Telegram 專屬設定,包括 BotFather、webhook 註冊、秘密 token 與輪詢模式。

Adapter 會從下列環境變數讀取 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 與 adapter key 產生 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 adapter 文件要求填入 webhook URL 時,請使用此 URL。Telegram 也支援輪詢模式;若想在本機開發時使用輪詢,請依照 Chat SDK adapter 文件操作。