目录
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日