概述
MagicTradeBot 的 Broadcast 功能允许您在多个消息平台接收交易信号。您可以根据偏好配置一个或所有平台。
配置结构
BroadCast:
# WhatsApp 通知
whatsapp_token: null
whatsapp_phone_id: null
# Discord 通知
discord_webhook_url: null
# Instagram 通知
instagram_token: null
# Telegram 通知
telegram_bot_token: null
telegram_chat_id: null
1. WhatsApp 配置
WhatsApp 通知使用 Meta 的 WhatsApp Business API。
前提条件
- Meta(Facebook)商业账户
- 已验证的商业电话号码
- Meta Developer 平台访问权限
逐步配置
步骤 1:创建 Meta 应用
- 访问 Meta for Developers
- 点击“My Apps” → “Create App”
- 选择“Business”作为应用类型
- 填写应用详情并创建
步骤 2:添加 WhatsApp 产品
- 在应用仪表板中,点击“Add Product”
- 找到“WhatsApp”并点击“Set Up”
- 选择或创建商业组合
步骤 3:获取凭据
- 导航到 WhatsApp → API 设置
- 您将看到两个重要值:
临时访问令牌 (whatsapp_token):
- 复制显示的临时访问令牌
- 注意: 用于生产环境,请生成永久令牌:
- 转到商业设置中的系统用户
- 创建系统用户
- 使用 whatsapp_business_messaging 权限生成令牌
电话号码 ID (whatsapp_phone_id):
- 列在“Phone Number ID”下
- 这不是您的电话号码,是唯一标识符
步骤 4:在 MagicTradeBot 中配置
BroadCast:
whatsapp_token: "EAAxxxxxxxxxxxxxxxxxxxxxxxx"
whatsapp_phone_id: "123456789012345"
步骤 5:验证接收者号码
- 在 WhatsApp API 设置页面,将您的个人 WhatsApp 号码添加为接收者
- 通过 WhatsApp 发送的 OTP 验证号码
重要提示
- 免费套餐允许每月 1,000 条对话
- 测试模式下必须验证接收者号码
- 生产环境需要完成商业验证
2. Discord 配置
Discord 使用 Webhook 进行通知——最简单的方法。
逐步配置
步骤 1:访问服务器设置
- 打开 Discord 并转到您的服务器
- 右键单击您希望接收通知的频道
- 选择“编辑频道”
步骤 2:创建 Webhook
- 转到“集成”选项卡
- 点击“Webhook” → “创建 Webhook”
- 为 Webhook 命名(例如“MagicTradeBot Signals”)
- (可选)上传自定义头像
步骤 3:复制 Webhook URL
- 点击“复制 Webhook URL”
- URL 格式:
https://discord.com/api/webhooks/XXXXX/YYYYY
步骤 4:在 MagicTradeBot 中配置
BroadCast:
discord_webhook_url: "https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOpQrStUvWxYz"
重要提示
- 任何拥有 Webhook URL 的人都可以在您的频道中发布
- 请安全保存 URL
- 可以为不同机器人创建多个 Webhook
- 不需要 Discord 开发者账户
3. Instagram 配置
Instagram 通知使用 Instagram Graph API(Meta)。
前提条件
- Instagram 商业或创作者账户
- 与您的 Instagram 账户关联的 Facebook 页面
- Meta 开发者账户
逐步配置
步骤 1:转换为商业账户
- 在 Instagram 应用中:设置 → 账户
- 选择“切换到专业账户”
- 选择“商业”或“创作者”
步骤 2:关联 Facebook 页面
- 转到设置 → 账户 → 关联账户
- 将 Instagram 与 Facebook 页面关联
步骤 3:创建 Meta 应用
- 访问 Meta for Developers
- 创建新应用(如果尚未创建)
- 添加“Instagram”产品
步骤 4:生成访问令牌
- 转到 Instagram → Basic Display 或 Instagram Graph API
- 对于 Instagram Graph API:
- 转到工具 → Graph API Explorer
- 选择您的应用
- 选择您的 Instagram 账户
- 添加权限:instagram_basic, instagram_manage_messages
- 点击“生成访问令牌”
步骤 5:获取长期令牌
短期令牌 1 小时后过期。转换为长期令牌(60 天):
curl -i -X GET "https://graph.facebook.com/v18.0/oauth/access_token?grant_type=fb_exchange_token&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&fb_exchange_token=SHORT_LIVED_TOKEN"
步骤 6:在 MagicTradeBot 中配置
BroadCast:
instagram_token: "IGQVJxxxxxxxxxxxxxxxxxxxxxxxxxx"
重要提示
- Instagram API 主要用于商业功能
- 通过 API 发送直接消息有限制
- 对于简单用例,请考虑使用 Instagram Basic Display
- 令牌需要定期更新
4. Telegram 配置
Telegram 在所有平台中提供最简单的机器人配置。
逐步配置
步骤 1:创建机器人
- 打开 Telegram 并搜索 @BotFather
- 开始聊天并发送 /newbot
- 按照说明操作:
- 选择机器人名称(例如“My Trading Signals”)
- 选择以“bot”结尾的用户名(例如“mytrading_signals_bot”)
步骤 2:获取机器人令牌
- BotFather 将提供机器人令牌
- 格式:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz - 安全保存此令牌
步骤 3:获取您的聊天 ID
方法 1:使用 IDBot
- 在 Telegram 中搜索 @myidbot 或 @userinfobot
- 开始聊天并发送 /start
- 机器人将回复您的聊天 ID
方法 2:手动方法
- 向您创建的机器人发送消息
- 访问:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates - 查找 "chat":{"id":123456789}
- 该数字即为您的 chat_id
方法 3:用于群组聊天
- 将机器人添加到群组
- 在群组中发送消息
- 访问:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates - 查找聊天 ID(群组为负数:-123456789)
步骤 4:启动机器人
- 在 Telegram 中搜索您的机器人
- 点击“Start”或发送 /start
步骤 5:在 MagicTradeBot 中配置
BroadCast:
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
重要提示
- 机器人无法发起对话;您必须先启动
- 对于群组,需添加机器人,chat_id 为负数
- 无需验证或批准
- 完全免费,无消息限制
- 个人使用最可靠的选择
多平台配置示例
您可以同时启用多个平台:
BroadCast:
# WhatsApp
whatsapp_token: "EAAxxxxxxxxxxxxxxxxxxxxxxxx"
whatsapp_phone_id: "123456789012345"
# Discord
discord_webhook_url: "https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOp"
# Instagram
instagram_token: "IGQVJxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Telegram
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
或者仅启用您需要的:
BroadCast:
# 仅启用 Telegram
whatsapp_token: null
whatsapp_phone_id: null
discord_webhook_url: null
instagram_token: null
telegram_bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"
telegram_chat_id: "987654321"
平台比较
| 平台 | 配置难度 | 成本 | 可靠性 | 最适合 |
|---|---|---|---|---|
| Telegram | ⭐ 简单 | 免费 | 优秀 | 个人、群组 |
| Discord | ⭐ 简单 | 免费 | 优秀 | 社区、团队 |
| ⭐⭐⭐ 复杂 | 有限免费套餐 | 良好 | 商业通信 | |
| ⭐⭐⭐⭐ 非常复杂 | 免费 | 一般 | 社交集成 |
故障排除
WhatsApp 问题
- “无效令牌”:令牌已过期;生成永久令牌
- “电话号码未验证”:在 Meta 仪表板中添加并验证接收者
- 消息未发送:检查 API 速率限制和计费
Discord 问题
- “无效 Webhook”:URL 可能已重新生成;获取新的
- 403 Forbidden:Webhook 已删除;创建新的
- 未找到频道:Webhook 频道可能已被删除
Instagram 问题
- 令牌已过期:Instagram 令牌会过期;生成新的长期令牌
- 权限被拒绝:确保已授予所有必需权限
- 账户不符合条件:必须是商业或创作者账户
Telegram 问题
- “未找到聊天”:您尚未启动机器人;先发送 /start
- “未授权”:检查机器人令牌是否正确
- 未接收消息:确保机器人未被屏蔽
安全最佳实践
- 切勿将令牌提交到版本控制
- 使用环境变量
- 将配置文件添加到 .gitignore
- 定期轮换令牌
- 特别是 WhatsApp 和 Instagram
- Telegram 令牌不会过期,但可重新生成
- 使用特定于环境的配置
- 测试和生产使用不同令牌
- 限制 Webhook 访问
- Discord:使用访问受限的专用频道
- WhatsApp:验证接收者号码
- 监控使用情况
- 定期检查 API 配额
- 设置失败交付警报
快速入门建议
初学者:从 Telegram 开始
- 最简单的配置(5 分钟)
- 无需验证
- 完全免费
- 最可靠
团队:使用 Discord
- 简单的 Webhook 配置
- 适合群组通知
- 免费且可靠
企业:考虑 WhatsApp
- 专业外观
- 直接发送至手机
- 需要更多配置工作
支持与资源
最终说明
- 在上线前使用简单消息测试配置
- 在安全的密码管理器中备份所有令牌
- 考虑使用多个平台以实现冗余
- 根据预期消息量检查速率限制
- 从一个平台开始,根据需要扩展