主要更新: - ✨ 新增 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>
6.1 KiB
6.1 KiB
Telegram Bot 部署指南
🚀 快速开始 (推荐)
1. 获取 Telegram Bot Token
- 在 Telegram 中找到 @BotFather
- 发送
/newbot创建新机器人 - 按提示设置名称和用户名
- 复制获得的 Bot Token (格式:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)
2. 获取你的 User ID (可选,用于访问控制)
- 在 Telegram 中找到 @userinfobot
- 发送
/start - 复制显示的
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 无响应
-
检查 Token 是否正确:
echo $TELEGRAM_BOT_TOKEN -
检查网络连接:
curl -X POST https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe -
查看日志:
# Docker docker logs -f openai-bot # Systemd sudo journalctl -u telegram-bot -f # 直接运行 python3 tg_bot.py
注册失败
- 检查
config.py中的临时邮箱配置 - 确认临时邮箱服务可用
- 查看详细错误信息 (bot 会返回)
权限被拒
- 确认你的 User ID 在
ALLOWED_USER_IDS中 - 获取 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()
📞 支持
如有问题:
- 检查日志查看详细错误
- 确认所有配置正确
- 提交 Issue 到项目仓库
📄 License
MIT License - 请遵守 OpenAI 服务条款