Files
PolyHermes/docs/telegram-bot-setup.md
T
WrBug 777710c2ed feat: 完善 Telegram 推送通知功能
- 推送模板优化:
  - 优先使用账户名称而不是钱包地址
  - 使用市场标题而不是16进制ID
  - 添加可点击的市场链接(支持 slug 和 conditionId)
  - 添加市场方向(outcome)显示
  - 数量和价格从订单详情API获取实际值
  - 失败通知只显示后端返回的msg,不显示完整堆栈

- 多语言支持:
  - 后端推送消息支持多语言(使用前端最后请求的语言)
  - 添加所有 ErrorCode 的多语言资源文件(中文简体、繁体、英文)
  - 通知消息文本全部使用多语言资源

- 功能改进:
  - 从订单详情获取实际的 side、price、size、outcome
  - 支持买入/卖出方向的多语言显示
  - 错误信息优化,只显示后端返回的错误消息
2025-12-05 02:20:46 +08:00

3.1 KiB
Raw Blame History

Telegram 机器人申请和配置指南

1. 申请 Telegram 机器人

步骤 1: 创建机器人

  1. 打开 Telegram,搜索 @BotFather
  2. 点击开始对话,发送 /newbot 命令
  3. 按照提示设置机器人名称(例如:Polymarket Bot
  4. 设置机器人用户名(必须以 bot 结尾,例如:polymarket_notification_bot
  5. BotFather 会返回一个 Bot Token,格式类似:123456789:ABCdefGHIjklMNOpqrsTUVwxyz

步骤 2: 获取 Chat ID

有两种方式获取 Chat ID

方式 1: 通过 @userinfobot

  1. 在 Telegram 中搜索 @userinfobot
  2. 点击开始对话,它会自动返回你的 Chat ID(例如:123456789

方式 2: 通过 API 获取

  1. 使用你的 Bot Token,访问以下 URL
    https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
    
  2. 向你的机器人发送一条消息(例如:/start
  3. 再次访问上面的 URL,在返回的 JSON 中找到 chat.id 字段

步骤 3: 配置环境变量

将 Bot Token 和 Chat ID 配置到系统环境变量或配置文件中:

# Telegram Bot 配置
telegram.bot.token=YOUR_BOT_TOKEN
telegram.bot.chat-id=YOUR_CHAT_ID

2. 测试机器人

使用 curl 测试机器人是否正常工作:

curl -X POST "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "<YOUR_CHAT_ID>",
    "text": "测试消息"
  }'

如果返回 {"ok":true,"result":{...}},说明配置成功。

3. 分享机器人给其他用户

3.1 分享方式

机器人创建后是公开的,可以通过以下方式分享:

  1. 分享用户名@your_bot_name
  2. 分享链接https://t.me/your_bot_name
  3. 分享二维码:在 Telegram 中生成机器人二维码

3.2 用户添加步骤

其他用户需要:

  1. 点击分享的链接或搜索机器人用户名
  2. 点击"开始"按钮或发送 /start 命令
  3. 向机器人发送任意消息(如:hello
  4. 获取用户的 Chat ID(见下方说明)

3.3 获取其他用户的 Chat ID

方式 1: 通过 @userinfobot(推荐)

  • 让用户搜索 @userinfobot 并开始对话
  • 机器人会自动返回用户的 Chat ID

方式 2: 通过你的机器人获取

  • 用户向你的机器人发送消息后
  • 访问:https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
  • 在返回的 JSON 中找到 message.chat.id 字段

方式 3: 在代码中实现获取(高级)

  • 实现 Webhook 接收用户消息
  • 从消息中提取 chat.id

3.4 多用户配置

支持多个用户接收通知,配置方式:

# 单个用户(旧方式,兼容)
telegram.bot.chat-id=123456789

# 多个用户(新方式,推荐)
telegram.bot.chat-ids=123456789,987654321,111222333

多个 Chat ID 用逗号分隔。

4. 安全建议

  • 不要将 Bot Token 提交到 Git:使用环境变量或配置文件(不提交到版本控制)
  • 限制机器人权限:只允许特定用户使用
  • 定期更换 Token:如果 Token 泄露,可以通过 BotFather 重新生成
  • 保护 Chat ID:Chat ID 是私密信息,不要公开分享