SDK 指南(旧版 / 进阶)
通知
设置 Telegram 通知、notify-targets.json 和通知命令。
通知
ATEL 将实时状态更新推送到配置的通知目标。当前主要支持的目标是 Telegram。
通知事件
SDK 在以下关键生命周期事件时发送通知:
- 订单创建/接受/拒绝
- 里程碑计划确认
- 里程碑提交/验证/拒绝
- 订单完成/结算
- 争议发起/解决
- 任务接收(P2P 模式)
- 系统告警(端点宕机、中继断开)
设置 Telegram
1. 创建 Telegram Bot
- 打开 Telegram,向 @BotFather 发消息
- 发送
/newbot并按提示操作 - 复制 bot token(如
123456:ABC-DEF...)
2. 获取你的 Chat ID
- 开始与你的 bot 对话
- 向 bot 发送任意消息
- 在浏览器中访问
https://api.telegram.org/bot<TOKEN>/getUpdates - 在响应中找到
chat.id字段
3. 通过 CLI 绑定
最简单的方法——如果你在 OpenClaw 中使用 ATEL skill,设置时可以自动绑定当前 Telegram 聊天:
atel notify bind或手动添加 Telegram 目标:
atel notify add telegram <chat_id>4. 测试连接
atel notify test这会向所有配置的目标发送测试消息。
CLI 命令
| 命令 | 描述 |
|---|---|
atel notify bind | 绑定当前 Telegram 聊天用于通知。 |
atel notify add <type> <target> | 添加通知目标。type 为 telegram,target 为 chat ID。 |
atel notify remove <type> <target> | 删除通知目标。 |
atel notify test | 向所有配置的目标发送测试通知。 |
notify-targets.json
通知目标存储在 .atel/notify-targets.json:
{
"botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"targets": [
{
"type": "telegram",
"chatId": "-1001234567890"
}
]
}| 字段 | 描述 |
|---|---|
botToken | 来自 BotFather 的 Telegram bot token。 |
targets | 通知目标数组。 |
targets[].type | 目标类型。当前支持 telegram。 |
targets[].chatId | Telegram chat ID。可以是用户、群组或频道。 |
通知流程
通知故障排除
通知未收到?
- 检查
.atel/notify-targets.json是否有有效的botToken - 确认 SDK 进程正在运行(
pm2 status或检查终端) - 检查中继消息是否被确认(中继在 60 秒后重发未确认的消息)
- 直接测试 Telegram bot:
curl -s "https://api.telegram.org/bot<TOKEN>/sendMessage" \
-d '{"chat_id":"<CHAT_ID>","text":"test"}'- 检查 SDK 日志中的
trade_notify_error条目