Telegram 集成¶
StockClaw 可以把 FLASH 和 ALERT 信号推送到你的私人 Telegram 聊天——每个流水线周期最多合并成两条消息(所有 FLASH 合一条,所有 ALERT 合一条),不会每条信号响一次。
一次性设置¶
1. 启动 bot¶
打开 Telegram,点 @stockclaw_notify_bot,点 Start(或发 /start)。
这一步不可省略
Telegram 不允许 bot 主动发起对话。在你发第一条消息之前,bot 没有权限给你 DM——推送会静默失败并返回 chat not found。
2. 拿到你的 chat id¶
打开 @userinfobot,发 /start。它会回复类似:
复制 123456789(只要数字,不要空格)。
3. 在 StockClaw 里绑定¶
进入 设置 → Telegram 集成。粘贴 chat id,可选填你的 @username(只是装饰——会显示在 "Linked as" 那行),点 Link。
下一次流水线跑出 FLASH/ALERT 信号时,消息就会到 Telegram。
群聊¶
想让 bot 发到共享群组(家庭投资组合、团队频道)?
- 建一个群(或用已有的)。
- 把
@stockclaw_notify_bot加为成员。 - 让任意管理员在群里发
/start@stockclaw_notify_bot——跟 DM 一样的规矩。 - 群的 chat id 是 负数(例如
-1001234567890)。要找它,把群里任意一条消息转发给 @userinfobot;它会回复群的Forwarded fromid。 - 把那个负 id 粘到 StockClaw。完全一样能用。
两个账号,一个聊天¶
没什么阻止两个 StockClaw 账号绑同一个 chat id——"家庭共享聊天"的用法。两个用户的信号都汇进同一个 Telegram 聊天。如果他们的自选股有重叠,同一条新闻事件可能产生两条信号(每个账号一条),落成两条 Telegram 消息。你觉得重叠可以接受的话就到此为止;如果你想要"谁触发的"标签,开个 issue。
消息长什么样¶
每条批量消息带:
- 一个 header(
⚡ StockClaw AI — FLASH或🔔 — ALERT),以及信号数。 - 每条信号一个块,带摘要(EN + ZH)、受影响 ticker 的柱状图(impact % 和 link_type)、impact/confidence 数字、5-agent 拆解及各自延迟。
- 源 URL。
- signal id(前 8 位,用于 support / debug)。
参考仪表盘上的信号卡视觉形态——它们是有意做得相似的。
解绑¶
设置 → Telegram 集成 → Unlink。你 user_settings 行上的 telegram_chat_id 被清空。推送立即停止。Telegram 上的 bot 权限保留——后续可以直接重新绑定,不用再 /start bot。
故障排查¶
没有消息到达:
- 确认你确实给 bot /start'd 过(步骤 1)。
- 确认 Celery worker 在跑——流水线任务需要 worker 消费。
- 信号紧急度有关系:NOTE 和 FYI 只进仪表盘,不进 Telegram。只有 FLASH 和 ALERT 会推送。
- 看你服务器的 worker 日志;搜
[run_user_pipeline] user=<your id>——交付步骤会打印 chat_id 和是否成功。
worker 日志里是 "chat not found":
- 你的 chat id 是错的,或者这个用户 / 群还没给 bot /start'd 过。
Bot 回了但没信号:
- 可能是你自选股里一只股都没加,或者今天没有新闻产生 FLASH/ALERT。试着加一个热门 ticker,比如
NVDA,等两个 Beat 周期(约 40 分钟)。