CoinDaily 是一个用 Go 语言编写的工具,它会每天自动获取加密货币价格数据并生成精美的报表,发送到您的邮箱和/或 Discord 频道。
- 🚀 自动获取 CoinGecko API 的加密货币价格数据
- 📊 生成美观的 HTML 格式报表(邮件)和 Embed 格式报表(Discord)
- 📧 支持邮件自动发送
- 🤖 支持 Discord Bot 消息推送
- ⏰ 支持定时任务调度
- 🔧 灵活的 YAML 配置文件
- 💰 支持多种加密货币追踪
- 🔀 支持多通知渠道(邮件和 Discord 可独立配置)
参见 config.yaml.example 编辑 config.yaml 文件:
# 编译项目
go build -o coindaily
# 运行(持续运行,按计划发送)
./coindaily
# 单次运行(立即发送一次报表)
./coindaily -once
# 指定配置文件
./coindaily -config /path/to/config.yaml-config: 指定配置文件路径(默认:config.yaml)-once: 单次运行模式,生成报表后退出(默认:false)
您可以在配置文件中添加任何 CoinGecko 支持的加密货币 ID,常见的包括:
- bitcoin
- ethereum
- binancecoin
- cardano
- solana
- polkadot
- dogecoin
- avalanche-2
- polygon-token
- chainlink
注意:CoinGecko 网站的 URL 和 API ID 不一定相同(例如 BNB 的网址是 /coins/bnb,但 API ID 是 binancecoin)。查找正确 ID 有两种方式:
方法一:查询完整币种列表
在浏览器访问以下地址(无需 API key),搜索币种名称或 symbol 即可找到对应的 id:
https://api.coingecko.com/api/v3/coins/list
方法二:查看币种页面底部
在 CoinGecko 每个币种页面(从此处点击进入)滚动到底部,找到 "API ID" 字段,该值即为配置文件中应填写的 ID。
完整列表请参考 CoinGecko API 文档
如果使用 Gmail,需要:
- 启用两步验证
- 生成应用密码(不是您的常规密码)
- 在配置文件中使用应用密码
要使用 Discord 通知功能,需要:
- 在 Discord Developer Portal 创建应用
- 在应用中创建 Bot,获取 Bot Token
- 将 Bot 添加到您的服务器(需要 "Send Messages" 和 "Embed Links" 权限)
- 获取目标频道的 ID(在 Discord 中启用开发者模式,右键频道复制 ID)
- 在配置文件中添加:
discord:
bot_token: "your_bot_token"
channel_id: "your_channel_id"注意:至少需要配置邮件或 Discord 其中一个通知渠道。两者可以同时配置,也可以只配置其中一个。
每日报表包含以下信息:
- 币种名称和符号
- 当前价格(USD)
- 24小时价格变化
- 24小时价格变化率
- 市值
- 24小时交易量