# Telegram Bot 部署指南 ## 🚀 快速开始 (推荐) ### 1. 获取 Telegram Bot Token 1. 在 Telegram 中找到 [@BotFather](https://t.me/BotFather) 2. 发送 `/newbot` 创建新机器人 3. 按提示设置名称和用户名 4. 复制获得的 Bot Token (格式: `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`) ### 2. 获取你的 User ID (可选,用于访问控制) 1. 在 Telegram 中找到 [@userinfobot](https://t.me/userinfobot) 2. 发送 `/start` 3. 复制显示的 `Id` 数字 ### 3. 克隆并配置 ```bash # 克隆项目 git clone cd autoreg # 配置临时邮箱 (编辑 config.py) nano config.py # 设置 Bot Token export TELEGRAM_BOT_TOKEN='your_bot_token_here' # 可选: 设置允许的用户 (多个用户用逗号分隔) export ALLOWED_USER_IDS='123456789,987654321' ``` ### 4. 安装依赖并启动 ```bash # 安装依赖 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 (最简单) ```bash # 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 ```bash # 构建镜像 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. 创建系统服务 ```bash # 编辑服务文件 sudo nano /etc/systemd/system/telegram-bot.service ``` 复制以下内容 (修改路径和用户名): ```ini [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. 启动服务 ```bash # 重载 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: ```bash # 设置允许的用户 ID (多个用户用逗号分隔) export ALLOWED_USER_IDS='123456789,987654321' ``` ### 2. 使用 .env 文件 (推荐) ```bash # 创建 .env 文件 cp .env.example .env nano .env # 内容: TELEGRAM_BOT_TOKEN=your_token_here ALLOWED_USER_IDS=123456789,987654321 ``` 然后使用 `python-dotenv`: ```bash pip install python-dotenv # 在 tg_bot.py 顶部添加: from dotenv import load_dotenv load_dotenv() ``` ### 3. 防火墙配置 (服务器) ```bash # 允许 Telegram API 访问 sudo ufw allow out 443/tcp sudo ufw allow out 80/tcp ``` --- ## 🔧 常见问题 ### Bot 无响应 1. 检查 Token 是否正确: ```bash echo $TELEGRAM_BOT_TOKEN ``` 2. 检查网络连接: ```bash curl -X POST https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe ``` 3. 查看日志: ```bash # 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](https://t.me/userinfobot) ### 依赖安装失败 ```bash # 升级 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 状态 ```bash # Systemd sudo systemctl status telegram-bot # Docker docker ps | grep openai-bot # 查看进程 ps aux | grep tg_bot.py ``` ### 日志管理 ```bash # 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 ```bash # 拉取最新代码 git pull # Docker Compose docker-compose down docker-compose build --no-cache docker-compose up -d # Systemd sudo systemctl restart telegram-bot ``` --- ## 💡 进阶配置 ### 环境变量完整列表 ```bash # 必需 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()` 中添加: ```python application = Application.builder() \ .token(BOT_TOKEN) \ .proxy_url('http://proxy.example.com:1080') \ .build() ``` --- ## 📞 支持 如有问题: 1. 检查日志查看详细错误 2. 确认所有配置正确 3. 提交 Issue 到项目仓库 ## 📄 License MIT License - 请遵守 OpenAI 服务条款