n8n通知机器人配置完整指南:Telegram与Discord双平台实战
为什么需要n8n通知机器人
自托管n8n跑了一段时间后,我最迫切的需求是:工作流失败时能第一时间收到通知,而不是打开n8n后台才发现某条数据卡住了。
n8n的通知能力有两个方向:
- **发送通知**:工作流执行完成后/失败时,主动推送到Telegram或Discord
- **触发工作流**:收到Telegram消息/Discord命令时,触发n8n执行动作
这两个方向用的节点不同,配置方法也有差异。下面分别说。
前置准备
- 自托管n8n(docker部署,版本stable 2.17.7+,已验证)
- Telegram账号 + BotFather Token
- Discord服务器管理员权限(需要创建Webhook)
Telegram通知配置:5步搞定
Step 1:通过BotFather创建机器人
打开Telegram,搜索 @BotFather,发送:
/newbot
按提示输入机器人名称和用户名后,BotFather会返回一个Token,格式如下:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz123456789
⚠️ 验证信息:BotFather创建机器人功能自2017年起稳定运行,这是Telegram官方唯一机器人创建渠道(2026-05-31确认)。
将这个Token保存好,后续在n8n Credentials中需要用到。
Step 2:在n8n中配置Telegram Credentials
1. n8n界面 → Settings → Credentials → Add Credential
2. 选择 Telegram API 类型
3. Access Token 字段填入Step 1获取的Token
4. 保存
Step 3:添加机器人到你的Telegram
搜索你创建的机器人用户名,点 Start 或发送任意消息。这步不可或缺——未与机器人互动过的用户,机器人无法主动发消息。
Step 4:获取你的Chat ID
n8n中使用 Telegram Trigger 节点时,n8n会自动注册webhook。但如果你是主动发消息(Send Message节点),需要知道目标Chat ID。
最简单的方式:
1. 给你刚创建的机器人发一条消息
2. 浏览器打开:https://api.telegram.org/bot
3. 在返回的JSON中找 "chat":{"id":-987654321,...} 的数值,这就是你的Chat ID
⚠️ **踩坑记录**:如果机器人已经有很多对话,getUpdates 可能只返回最新消息。你可以在URL加参数强制获取:https://api.telegram.org/bot
Step 5:在n8n工作流中发送消息
添加 Telegram 节点(Send Message):
- Operation: Send Message
- Chat ID: 填入你的Chat ID(如 `-987654321`)
- Message Type: Text
- Text: `{{ $json.message }}` 或自定义内容
发送测试消息验证配置是否成功。
Discord通知配置:Webhook方式
Discord通知比Telegram更简单,因为不需要创建机器人——直接用Webhook URL即可。
Step 1:创建Discord Webhook
1. 打开Discord服务器 → 目标频道 → 右上角 Edit Channel → Integrations → Webhooks
2. 点击 New Webhook → 命名(如 n8n-alerts)→ Copy Webhook URL
⚠️ **验证信息**:Discord Webhook创建功能自2019年起稳定,Webhook URL格式为 https://discord.com/api/webhooks/(2026-05-31确认)。
Step 2:在n8n中配置Discord Webhook
Discord的Webhook节点不需要Credentials,直接用HTTP Request节点即可:
1. 添加 HTTP Request 节点
2. Method: POST
3. URL: 粘贴Step 1的Webhook URL
4. Content-Type: application/json
5. Body(JSON):
{
"content": "工作流执行完成: {{ $json.workflowName }}",
"embeds": [{
"title": "{{ $json.status }}",
"description": "{{ $json.message }}",
"color": 5814783
}]
}
Step 3:格式化Discord Embed(可选)
Discord的Webhook支持Embed格式,发送更美观的卡片:
{
"username": "n8n Alerts Bot",
"avatar_url": "https://i.imgur.com/your-icon.png",
"content": null,
"embeds": [{
"title": "⚠️ 工作流执行失败",
"description": "{{ $json.errorMessage }}",
"color": 15158332,
"fields": [
{"name": "工作流", "value": "{{ $json.workflowName }}", "inline": true},
{"name": "时间", "value": "{{ $json.executedAt }}", "inline": true}
],
"footer": {"text": "n8n Self-Hosted"}
}]
}
color取值参考:15158332(红色=错误)、5814783(绿色=成功)、16776960(黄色=警告)。
常见报错与解决
报错一:Telegram机器人无法主动发消息(403 Forbidden)
原因:用户未与机器人互动,或机器人被限制。
解决方案:
1. 确保目标用户已经 Start 了你的机器人
2. 在BotFather中检查机器人状态,确认Token有效
3. 检查Chat ID是否正确(注意:频道/群组的Chat ID以 -100 开头)
报错二:Discord Webhook发送成功但无显示
原因:Webhook URL已过期或被频道管理员重置。
解决方案:
1. 重新到Discord频道获取Webhook URL
2. 检查Content-Type是否为 application/json
3. 验证JSON格式是否正确(可先在Postman中测试)
报错三:n8n Telegram Trigger无法注册Webhook
原因:n8n实例需要对外可访问,localhost无法让Telegram回调。
解决方案:
1. 自托管n8n需要配置公网可访问的URL(通过反向代理或ngrok)
2. Cloud版本n8n自动提供公网webhook URL,无需额外配置
3. 检查n8n日志:docker logs n8n_container 查看具体错误
进阶:Error Trigger + 通知机器人联动
最有用的场景:任何工作流失败时,自动推送到Telegram/Discord。
配置Error Trigger工作流
1. 创建新工作流,触发器选择 Error Trigger
2. 在Error Trigger的 Node Webhook 配置中,复制生成的Webhook URL
3. 将这个URL填入所有需要监控的其他工作流的 Error Workflow 字段
Error Trigger工作流配置
Telegram节点配置:
Message:
⚠️ 工作流执行失败
工作流名称: {{ $json.workflow.id }}
错误节点: {{ $json.execution.executionId }}
错误信息: {{ $json.execution.error.message }}
发生时间: {{ $json.execution.startTime }}
这样任何工作流崩溃都会实时推送到你的Telegram/Discord。
n8n Telegram vs Discord:选哪个
| 特性 | Telegram | Discord |
|---|---|---|
| 配置复杂度 | 需创建机器人获取Token | 仅需Webhook URL |
| 消息格式 | 文本/图片/文档/键盘 | 文本/Embed卡片 |
| 群组支持 | 支持,Chat ID不同 | 支持,@指定用户 |
| 消息限制 | 无明确限制 | 普通Webhook限2次/秒 |
| 使用场景 | 私密/即时通知 | 团队协作/频道广播 |
| 自托管友好度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
建议:个人即时通知用Telegram(响应快+私密);团队协作用Discord(频道管理更灵活)。
总结
n8n的通知机器人配置不算复杂,但有几个关键点容易踩坑:
- Telegram需要用户先与机器人互动才能主动发消息
- 自托管n8n必须配置公网URL才能让Telegram成功回调
- Discord Webhook不支持重试队列,发送失败不会自动重试
配置完成后,配合Error Trigger使用,你就能在手机端实时收到任何工作流异常的通知,不用再每天手动打开n8n后台检查了。
相关推荐
- n8n自托管Docker部署踩坑全记录:5个真实踩坑,包含PostgreSQL配置和时区问题
- n8n自托管进阶配置:N8N_WEBHOOK_URL配置与数据库连接问题
- 2026年No-Code自动化工具深度对比:Zapier vs Make vs n8n 完整横评
👉 立即体验 MiniMax API:为你的 n8n 工作流添加 AI 能力 → https://platform.minimaxi.com/subscribe/token-plan?code=E5yur9NOub&source=link
📌 This article was AI-assisted generated and human-reviewed | TechPassive — An AI-driven content testing site focused on real tool reviews
🔗 Recommended Tools
These are carefully selected tools. Using our affiliate links supports us to keep producing quality content: