目錄
用 n8n 打造 Telegram AI 聊天機器人
這一節我們做一個 Telegram AI 助理:使用者傳訊息給機器人,n8n 用 AI 產生回覆,並且記得每位使用者的對話內容。
[Telegram Trigger] ─▶ [AI Agent] ─▶ [Telegram:傳送訊息]
├ Chat Model
└ Memory(以使用者 ID 區分)
1. 建立 Telegram Bot
- 在 Telegram 搜尋 @BotFather。
- 傳送
/newbot。 - 依指示輸入機器人的顯示名稱,以及結尾為
bot的使用者名稱(例如my_helper_bot)。 - BotFather 會回傳 Bot Token,請妥善保存,不要外流。
2. 建立憑證
在 n8n 中新增 Telegram API 憑證,貼上 Bot Token。
3. Telegram Trigger
新增工作流程,第一個節點選擇 Telegram Trigger:
- Trigger On:Message
Telegram Trigger 使用 Webhook 接收訊息,所以:
- n8n 必須能從網際網路以 HTTPS 連線(見 自架部署)。
- 本機測試時可以用 Cloudflare Tunnel 等工具暫時對外公開。
按 Listen for test event,然後在 Telegram 中傳一則訊息給你的機器人,節點會收到類似這樣的資料:
{
"message": {
"message_id": 42,
"from": { "id": 123456789, "first_name": "小明" },
"chat": { "id": 123456789, "type": "private" },
"text": "你好"
}
}
一個 Bot 只能設定一個 Webhook。同一個 Bot 在測試流程與正式流程之間切換時,最後一個啟用的會生效。
4. AI Agent
新增 AI Agent 節點:
- Source for Prompt:Define below
- Prompt (User Message):
{{ $json.message.text }} - System Message:
你是一個友善的 Telegram 助理,名字叫「小幫手」。
請使用台灣慣用的繁體中文,回答簡潔,適合在手機上閱讀。
接上 Chat Model(OpenAI,或 Ollama 本機模型)。
5. 依使用者記住對話
新增 Simple Memory(正式使用建議 Postgres / Redis Chat Memory):
- Session ID:Define below
- Key:
{{ $('Telegram Trigger').item.json.message.chat.id }}
以 chat ID 當作 Session Key,每位使用者(或每個群組)都有自己的對話記憶,不會互相混在一起。
6. 傳送回覆
新增 Telegram 節點,操作 Send Message:
- Chat ID:
{{ $('Telegram Trigger').item.json.message.chat.id }} - Text:
{{ $json.output }}
AI Agent 的回答在 output 欄位中。
在 Additional Fields 中可以設定 Parse Mode。如果模型的回答含有 Markdown 符號導致傳送失敗,可以先不設定 Parse Mode,以純文字傳送。
7. 測試並發布
- 按 Execute workflow,傳訊息給機器人測試。
- 確認沒問題後 Save 並 Publish。
進階功能
只允許特定使用者
在 Telegram Trigger 後面加上 If 節點:
{{ $json.message.from.id }} 等於 123456789
不符合的走另一條路,回覆「此機器人僅供內部使用」或直接忽略。也可以在 Telegram Trigger 的設定中限制使用者 ID(依版本提供)。你自己的 ID 可以從 Trigger 收到的資料中找到。
處理指令
用 Switch 節點依照訊息內容分流:
| 條件 | 處理 |
|---|---|
text 等於 /start | 傳送歡迎訊息與使用說明 |
text 等於 /reset | 清除記憶 |
| 其他 | 交給 AI Agent |
處理非文字訊息
使用者傳的是圖片、貼圖或語音時,message.text 會是空的。在 AI Agent 前用 If 判斷 {{ $json.message.text }} 是否存在,避免出錯。
處理圖片:用 Telegram 節點的 Get File 下載圖片,再交給支援視覺的模型分析。
加上工具
把 AI Agent 入門 中介紹的工具(Google 試算表、HTTP Request、計算機)接到這個 Agent 上,機器人就能查詢資料、執行動作。
主動推送
不只回覆訊息,任何工作流程都可以用 Telegram 節點主動傳訊息給你,例如每日報表、錯誤通知、訂單通知。只要知道你的 Chat ID 即可。
更新於 2026年10月12日