Telegram Sender Node

Telegram Sender Node 是 TradingFlow 的通知和消息发送节点,用于将工作流的执行结果、交易通知和重要信息发送到 Telegram。节点支持富文本格式、消息前缀和自动重试机制。


节点信息

属性

节点类型

telegram_sender_node

显示名称

Telegram Sender

节点分类

Core(核心功能)

图标

✈️ Telegram 图标

句柄颜色

Rose(玫瑰红)


功能说明

Telegram Sender Node 通过 Telegram Bot API 发送消息到指定的聊天或频道。节点自动格式化消息内容,支持 HTML/Markdown 格式,并具有完善的错误处理和重试机制。

主要用途:

  • 发送交易执行通知

  • 报告工作流执行状态

  • 推送价格预警

  • 发送 AI 分析结果

  • 记录重要事件

核心特性:

  • 📱 Telegram Bot API:官方 API 集成

  • 💬 富文本支持:HTML、Markdown 格式

  • 🔄 自动重试:失败自动重试,指数退避

  • 📝 消息前缀:自定义消息标识

  • ⚙️ 灵活配置:静音、预览等选项


输入参数

参数列表

参数
类型
必填
默认值
说明

bot_token

text

-

Telegram Bot Token

chat_id

text

-

聊天 ID

message

paragraph

-

消息内容

message_prefix

text

""

消息前缀

parse_mode

select

HTML

解析模式

disable_web_page_preview

boolean

true

禁用网页预览

disable_notification

boolean

false

静音发送

timeout

number

30

请求超时(秒)

retry_count

number

3

重试次数

bot_token 参数

获取方式:

  1. 在 Telegram 中搜索 @BotFather

  2. 发送 /newbot 创建新 Bot

  3. 按提示设置 Bot 名称和用户名

  4. 获取 Bot Token(如 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

配置方式:

  • 环境变量TELEGRAM_BOT_TOKEN=your_token_here

  • 参数传递:直接在节点配置中提供

安全建议:

  • 使用环境变量存储

  • 不要将 Token 提交到代码仓库

  • 定期更新 Token

chat_id 参数

获取方式:

方法 1 - 使用 @userinfobot:

  1. 在 Telegram 中搜索 @userinfobot

  2. 点击 Start

  3. Bot 会返回您的 User ID

方法 2 - 使用 getUpdates API:

  1. 向 Bot 发送任意消息

  2. 访问:https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates

  3. 在返回的 JSON 中查找 chat.id

格式:

  • 个人聊天:数字 ID(如 123456789

  • 群组:负数 ID(如 -987654321

  • 频道:@channel_username 或频道 ID

message 参数

来源: 上游节点输出或直接输入

支持格式:

  • 纯文本字符串

  • JSON 对象(自动格式化)

  • 复杂数据结构(自动转换)

最大长度: 4096 字符(Telegram 限制)

parse_mode 参数

支持的模式:

模式
说明
示例

HTML

HTML

HTML 标签格式

<b>Bold</b> <i>Italic</i>

Markdown

Markdown

Markdown 格式

**Bold** *Italic*

MarkdownV2

MarkdownV2

Markdown V2 格式

*Bold* _Italic_

HTML 标签示例:

Markdown 示例:

message_prefix 参数

用途: 为所有消息添加统一前缀

示例:

效果:

disable_web_page_preview 参数

说明: 消息中的链接是否显示预览

选择:

  • true:禁用预览(推荐,保持消息简洁)

  • false:启用预览

disable_notification 参数

说明: 是否静音发送消息

选择:

  • true:静音(接收者不会收到通知音)

  • false:正常通知

使用场景:

  • true:日志、非紧急通知

  • false:重要警报、交易通知


输出参数

输出列表

输出 ID
显示名称
数据类型
说明

result

Result

object

完整的发送结果,包含成功状态、消息信息和错误详情

result 输出

数据类型: object

完整数据结构:

成功示例:

失败示例:

说明:

  • 统一输出:成功和失败都使用同一个 result 输出

  • success 字段:布尔值,指示发送是否成功

  • 条件字段

    • 成功时:message_id 包含 Telegram 返回的消息 ID,errornull

    • 失败时:error 包含详细错误信息,message_idnull

  • 通用字段timestampexecution_timechat_id 始终存在



使用示例

示例 1:交易成功通知

场景: 交易执行后发送成功通知。

工作流结构:

Code Node 输出:

Telegram Sender Node 配置:


示例 2:价格预警

场景: 价格达到目标时发送警报。

工作流结构:

alert_message 示例:


示例 3:AI 分析报告

场景: 发送 AI 分析结果。

工作流结构:

report 示例:


示例 4:工作流执行日志

场景: 记录工作流执行情况。

Code Node 输出:


Bot 配置

1. 创建 Telegram Bot

步骤:

  1. 在 Telegram 中搜索 @BotFather

  2. 发送 /newbot

  3. 设置 Bot 名称(显示名称)

  4. 设置 Bot 用户名(必须以 bot 结尾)

  5. 获取 Bot Token

  6. (可选) 设置 Bot 头像和描述

示例对话:

2. 获取 Chat ID

个人聊天:

  1. 向您的 Bot 发送 /start

  2. 访问:https://api.telegram.org/bot<TOKEN>/getUpdates

  3. 查找 "chat":{"id":123456789}

群组聊天:

  1. 将 Bot 添加到群组

  2. 在群组中发送消息

  3. 使用相同方法获取 Chat ID(负数)

频道:

  1. 将 Bot 添加为频道管理员

  2. Chat ID 为 @channel_username 或频道 ID

3. 配置环境变量


最佳实践

1. 消息格式化

✅ 推荐:

❌ 避免:

2. 错误处理

在 Code Node 中:

3. 消息长度控制

4. 使用表情符号

提高可读性:

  • ✅ 成功

  • ❌ 失败

  • ⚠️ 警告

  • 📊 数据/统计

  • 💰 金钱/交易

  • 🤖 AI/自动化

  • ⏰ 时间


注意事项

⚠️ 重要提示

  1. Bot Token 安全

    • 不要公开 Token

    • 不要提交到代码仓库

    • 使用环境变量配置

  2. 消息长度限制

    • 最大 4096 字符

    • 超长消息会被截断

    • 建议控制在 4000 字符以内

  3. 发送频率限制

    • 每秒最多 30 条消息

    • 同一群组每分钟 20 条消息

    • 超限会被暂时封禁

  4. HTML/Markdown 转义

    • 特殊字符需要转义

    • HTML: <, >, &

    • Markdown: _, *, [, ], (, ), ~, `, >, #, +, -, =, |, {, }, ., !

  5. 重试机制

    • 默认重试 3 次

    • 使用指数退避策略

    • 失败后自动重试


故障排查

Q: 提示 "Bot token is required"?

A:

  1. 确认环境变量 TELEGRAM_BOT_TOKEN 已设置

  2. 或在节点配置中提供 bot_token 参数

  3. 检查 Token 格式是否正确


Q: 提示 "Chat not found"?

A:

  1. 确认 Chat ID 正确

  2. 个人聊天需要先向 Bot 发送 /start

  3. 群组需要将 Bot 添加为成员

  4. 频道需要 Bot 为管理员


Q: 消息格式显示异常?

A:

  1. 检查 parse_mode 设置

  2. 确认 HTML/Markdown 语法正确

  3. 特殊字符需要转义

  4. 尝试使用 parse_mode: "HTML"


Q: 消息发送失败?

A:

  1. 检查网络连接

  2. 确认 Bot Token 有效

  3. 检查消息长度(<4096 字符)

  4. 查看错误日志


Q: 如何发送到多个聊天?

A:


技术规格

规格项

节点版本

1.0.0

API

Telegram Bot API

最大消息长度

4096 字符

默认超时

30 秒

默认重试次数

3 次

重试策略

指数退避

支持格式

HTML, Markdown, MarkdownV2


相关节点

  • Code Node - 格式化消息内容

  • AI Model Node - 生成智能消息

  • Dataset Output Node - 同时保存到 Google Sheets

  • Condition Node - 条件发送通知


相关文档:

Last updated