Files
AutoDoneTeam/docs/TELEGRAM_BOT_GUIDE.md
dela d146ad9ebd feat: 添加完整的 Telegram Bot 和欧洲账单生成功能
主要更新:
-  新增 Telegram Bot 交互界面
-  新增欧洲账单自动生成功能
- 📦 整理项目结构,部署文件移至 deployment/ 目录
- 📝 完善文档,新增 CHANGELOG 和 Bot 部署指南
- 🔧 统一使用 pyproject.toml 管理依赖(支持 uv)
- 🛡️  增强 .gitignore,防止敏感配置泄露

新增文件:
- tg_bot.py: Telegram Bot 主程序
- generate_billing.py: 独立账单生成工具
- modules/billing.py: 欧洲账单生成模块
- deployment/: Docker、systemd 等部署配置
- docs/: 完整的文档和更新日志

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-11 09:59:13 +08:00

6.1 KiB

Telegram Bot 部署指南

🚀 快速开始 (推荐)

1. 获取 Telegram Bot Token

  1. 在 Telegram 中找到 @BotFather
  2. 发送 /newbot 创建新机器人
  3. 按提示设置名称和用户名
  4. 复制获得的 Bot Token (格式: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)

2. 获取你的 User ID (可选,用于访问控制)

  1. 在 Telegram 中找到 @userinfobot
  2. 发送 /start
  3. 复制显示的 Id 数字

3. 克隆并配置

# 克隆项目
git clone <your-repo-url>
cd autoreg

# 配置临时邮箱 (编辑 config.py)
nano config.py

# 设置 Bot Token
export TELEGRAM_BOT_TOKEN='your_bot_token_here'

# 可选: 设置允许的用户 (多个用户用逗号分隔)
export ALLOWED_USER_IDS='123456789,987654321'

4. 安装依赖并启动

# 安装依赖
pip install -r requirements.txt -r requirements_bot.txt

# 或者使用快速启动脚本
./start_bot.sh

📱 使用 Bot

启动后,在 Telegram 中找到你的 bot 并发送 /start

可用命令:

  • /start - 开始使用
  • /register - 注册单个账号
  • /batch 5 - 批量注册 5 个账号
  • /help - 查看帮助

功能:

  • 自动注册 OpenAI 账号
  • 自动邮箱验证
  • 获取 Access Token
  • 生成欧洲账单 URL

🐳 Docker 部署 (推荐用于服务器)

方法 1: Docker Compose (最简单)

# 1. 配置环境变量
cp .env.example .env
nano .env  # 填入你的 TELEGRAM_BOT_TOKEN

# 2. 确保 config.py 已配置

# 3. 启动
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止
docker-compose down

方法 2: 纯 Docker

# 构建镜像
docker build -t openai-reg-bot .

# 运行容器
docker run -d \
  --name openai-bot \
  --restart unless-stopped \
  -e TELEGRAM_BOT_TOKEN='your_token' \
  -e ALLOWED_USER_IDS='123456789' \
  -v $(pwd)/config.py:/app/config.py:ro \
  openai-reg-bot

# 查看日志
docker logs -f openai-bot

# 停止
docker stop openai-bot
docker rm openai-bot

🖥️ Systemd 服务部署 (Linux 服务器)

1. 创建系统服务

# 编辑服务文件
sudo nano /etc/systemd/system/telegram-bot.service

复制以下内容 (修改路径和用户名):

[Unit]
Description=OpenAI Registration Telegram Bot
After=network.target

[Service]
Type=simple
User=your_username
WorkingDirectory=/home/your_username/autoreg
Environment="TELEGRAM_BOT_TOKEN=your_bot_token_here"
Environment="ALLOWED_USER_IDS=123456789"
ExecStart=/usr/bin/python3 /home/your_username/autoreg/tg_bot.py
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

2. 启动服务

# 重载 systemd
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start telegram-bot

# 设置开机自启
sudo systemctl enable telegram-bot

# 查看状态
sudo systemctl status telegram-bot

# 查看日志
sudo journalctl -u telegram-bot -f

# 停止服务
sudo systemctl stop telegram-bot

🔐 安全配置

1. 访问控制 (强烈推荐)

限制只有特定用户可以使用 bot:

# 设置允许的用户 ID (多个用户用逗号分隔)
export ALLOWED_USER_IDS='123456789,987654321'

2. 使用 .env 文件 (推荐)

# 创建 .env 文件
cp .env.example .env
nano .env

# 内容:
TELEGRAM_BOT_TOKEN=your_token_here
ALLOWED_USER_IDS=123456789,987654321

然后使用 python-dotenv:

pip install python-dotenv

# 在 tg_bot.py 顶部添加:
from dotenv import load_dotenv
load_dotenv()

3. 防火墙配置 (服务器)

# 允许 Telegram API 访问
sudo ufw allow out 443/tcp
sudo ufw allow out 80/tcp

🔧 常见问题

Bot 无响应

  1. 检查 Token 是否正确:

    echo $TELEGRAM_BOT_TOKEN
    
  2. 检查网络连接:

    curl -X POST https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe
    
  3. 查看日志:

    # Docker
    docker logs -f openai-bot
    
    # Systemd
    sudo journalctl -u telegram-bot -f
    
    # 直接运行
    python3 tg_bot.py
    

注册失败

  1. 检查 config.py 中的临时邮箱配置
  2. 确认临时邮箱服务可用
  3. 查看详细错误信息 (bot 会返回)

权限被拒

  1. 确认你的 User ID 在 ALLOWED_USER_IDS
  2. 获取 User ID: 发送 /start@userinfobot

依赖安装失败

# 升级 pip
pip install --upgrade pip

# 使用清华镜像
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt -r requirements_bot.txt

# 安装 brotli (解决账单生成问题)
pip install brotli

🎯 性能优化

批量注册建议

  • 单次最多 20 个账号 (防止超时)
  • 服务器建议配置: 2核4G+ (批量注册时)
  • 网络要求: 稳定的国际网络连接

资源占用

  • 内存: 约 200MB (单个账号注册)
  • CPU: 注册时 10-30%
  • 网络: 约 1-2MB/账号

📊 监控

查看 Bot 状态

# Systemd
sudo systemctl status telegram-bot

# Docker
docker ps | grep openai-bot

# 查看进程
ps aux | grep tg_bot.py

日志管理

# Systemd 日志
sudo journalctl -u telegram-bot --since "1 hour ago"

# Docker 日志
docker logs --tail 100 -f openai-bot

# 导出日志
docker logs openai-bot > bot.log 2>&1

🔄 更新 Bot

# 拉取最新代码
git pull

# Docker Compose
docker-compose down
docker-compose build --no-cache
docker-compose up -d

# Systemd
sudo systemctl restart telegram-bot

💡 进阶配置

环境变量完整列表

# 必需
TELEGRAM_BOT_TOKEN=your_token

# 可选
ALLOWED_USER_IDS=123,456,789  # 用户白名单
LOG_LEVEL=INFO                # 日志级别: DEBUG, INFO, WARNING, ERROR
DEBUG=True                    # 开启调试模式

使用代理 (中国大陆)

编辑 tg_bot.py,在 Application.builder() 中添加:

application = Application.builder() \
    .token(BOT_TOKEN) \
    .proxy_url('http://proxy.example.com:1080') \
    .build()

📞 支持

如有问题:

  1. 检查日志查看详细错误
  2. 确认所有配置正确
  3. 提交 Issue 到项目仓库

📄 License

MIT License - 请遵守 OpenAI 服务条款