AI PLAY玩法更新持续收录
← 回到更新流

2026-10-14 · 原文发布日

n8n监控币价异动,OpenAI写点评发Telegram提醒

每6小时从CoinGecko免费公共API(无需密钥)拉取市值前30的币种,筛出24小时涨跌超过阈值(默认5%)的按幅度排序,再由OpenAI用大白话写一段可能的异动原因点评,排成Markdown消息发到Telegram;没有达标异动就静默结束。阈值、币种数量和检查频率都可在配置节点调整,也可把Telegram换成Slack或邮件。

原文要点

原模板定位是给持币和看盘用户免盯盘:每6小时从CoinGecko免费公共API取市值前30币种,无需行情密钥;筛出24小时涨跌幅超过默认5%的币,按波动幅度排序,再由OpenAI写一段大白话可能原因,排成Markdown,先发AI观点再列币种价格和百分比,发到Telegram。无达标异动就安静结束。配置节点可改阈值、币种数量、频率,也可把Telegram换成Slack、Discord或邮件。

这次做成什么

做一条低维护行情异动提醒:定时拉公共行情,本地完成筛选排序,只把少量异动交给OpenAI生成口语点评,最后发一条结构固定Markdown到Telegram。本站用合成行情样例先验证阈值与消息格式,再接真实密钥。

准备什么

  • n8n可访问外网公共API与Telegram Bot API
  • OpenAI API key,添加到AI Market Take类节点
  • 用@BotFather创建的Telegram bot token
  • 通过@userinfobot取得的chat ID
  • 不含真实持仓地址的合成配置与测试行情JSON

具体怎么做

  1. 配置频率、阈值和接收人

    先建Configuration/Set节点,放scheduleEveryHours:6、topN:30、thresholdPct:5、chatId占位、language:zh、maxMoversInMessage:8。把Schedule Trigger间隔也设为6小时;练习阶段可临时接Manual Trigger,按原说明先Execute测试再Activate。

  2. 拉取并标准化CoinGecko行情

    HTTP Request用GET请求CoinGecko markets公共接口,参数包含vs_currency=usd、order=market_cap_desc、per_page={{topN}}、page=1、price_change_percentage=24h;无需API key。随后Code节点把数组统一成{name,symbol,current_price,price_change_percentage_24h,market_cap_rank},过滤null。

  3. 筛选异动并按幅度排序

    在Code节点计算absMove=Math.abs(price_change_percentage_24h),保留absMove>=thresholdPct的币,按absMove降序,再slice(0,maxMoversInMessage)。若数组为空,用IF节点直接结束,不发任何消息,兑现没有达标异动就静默。

  4. 生成克制的大白话点评

    OpenAI节点只输入筛后的movers和asOf时间,粘贴下方提示词,要求中文、先给总览、不承诺收益、不用“一定/暴涨暴跌”等绝对词。输出限制在120字内,失败时Set fallback为“数据源波动较大,先核对盘口与公告再操作”。

  5. 拼装Markdown并发Telegram

    消息顺序固定:标题、AI take、异动列表,每行含排名、symbol、现价、24h百分比。Telegram节点parse_mode设Markdown或MarkdownV2,text引用拼装结果,chat_id用Configuration的chatId。发完把本次命中数量写入执行日志,便于判断是否应该静默。

可直接复制的材料

AI点评提示词

本站独立编写;模型、温度和额度需在自己的OpenAI账号核对,可能产生费用。

你是加密市场行情助理。根据给定JSON写一段不超过120字的中文大白话点评,放在消息最前面。要求:1) 只说可能原因,如宏观风险偏好、板块轮动、项目公告、链上大额转移、衍生品爆仓;2) 不预测价格,不建议买卖,不使用稳赚、必涨、崩盘等词;3) 若数据少于2条,说明样本很少;4) 结尾固定写“先核实来源再行动”。输入:{ "asOf":"{{$json.asOf}}", "thresholdPct":{{$json.thresholdPct}}, "movers":{{$json.movers}} }

练习配置

本站练习配置;chatId必须替换,频率与阈值可按原模板在配置节点调整。

{ "scheduleEveryHours":6, "topN":30, "thresholdPct":5, "quoteCurrency":"usd", "maxMoversInMessage":8, "telegramChatId":"REPLACE_CHAT_ID", "messageLanguage":"zh", "quietWhenNoMovers":true, "fallbackTake":"数据源波动较大,先核对盘口与公告再操作" }

合成CoinGecko样例

虚构练习数据,用于替代真实API响应;字段名对齐CoinGecko常见返回,实际接口以官方文档为准。

[ { "name":"AlphaCoin", "symbol":"ALP", "current_price":12.34, "price_change_percentage_24h":7.82, "market_cap_rank":11 }, { "name":"BetaToken", "symbol":"BET", "current_price":0.4821, "price_change_percentage_24h":-6.15, "market_cap_rank":18 }, { "name":"CalmUSD", "symbol":"CALM", "current_price":1.001, "price_change_percentage_24h":0.21, "market_cap_rank":3 } ]

输入与输出示例

本站虚构演示,输入输出数字一一对应;未真实调用CoinGecko、OpenAI或Telegram。

输入

用上方合成三条行情执行一次,阈值5%、最多列8条、当前时间2026-10-14 20:00,Telegram chatId用REPLACE_CHAT_ID占位。

对应输出

筛选后movers为ALP +7.82%、BET -6.15%,CALM被过滤。消息示例:"🚨 加密异动扫描 2026-10-14 20:00\nAI:两条样本跨过5%阈值,方向相反,更像板块轮动与个别仓位去杠杆,不像全市场单边;先核实来源再行动。\n1. ALP $12.34 +7.82%\n2. BET $0.4821 -6.15%"

做完检查这些

  • 无币跨过thresholdPct时工作流在IF后结束,Telegram没有任何发送记录
  • movers列表严格按absMove降序,且条数不超过maxMoversInMessage
  • AI输出只放在消息前段,列表仍由本地字段生成,不让模型改价格
  • Telegram文本含标题、AI take、至少一行"symbol $price +/-pct",chat_id来自配置节点
  • 把thresholdPct临时改为100后能静默,改回5后同一样例重新触发两条

容易卡住的地方

  • CoinGecko公共接口有限流和字段变动风险,失败应重试或静默,不能伪造行情
  • Telegram MarkdownV2对._*[]()等字符要转义,价格中的小数点可能导致解析失败
  • chat ID与bot token来自不同机器人对象,混用会发不出去
  • 把topN调太大或频率调太高会增加API压力与OpenAI成本,需自行控制
  • AI点评可能把相关性说成因果,提示词必须限制为可能原因
  • 6小时是模板默认频率,不是收益或及时性的保证

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Send crypto price spike alerts with CoinGecko, OpenAI, and Telegram
原作者
Ali Abdullah
原始发布日期
2026-10-14T05:02:08.393Z
来源
https://n8n.io/workflows/20925