diff --git a/config.py b/config.py index c4fc8eb..eebe3dc 100644 --- a/config.py +++ b/config.py @@ -265,9 +265,7 @@ def reload_config() -> dict: _gptmail = _cfg.get("gptmail", {}) GPTMAIL_PREFIX = _gptmail.get("prefix", "") GPTMAIL_DOMAINS = _gptmail.get("domains", []) - _gptmail_api_key = _gptmail.get("api_key", "") - _gptmail_api_keys = _gptmail.get("api_keys", []) - GPTMAIL_API_KEYS = _gptmail_api_keys if _gptmail_api_keys else ([_gptmail_api_key] if _gptmail_api_key else ["gpt-test"]) + GPTMAIL_API_KEYS = _gptmail.get("api_keys", []) or ["gpt-test"] # 代理配置 _proxy_enabled_top = _cfg.get("proxy_enabled") @@ -333,11 +331,8 @@ GPTMAIL_API_BASE = _gptmail.get("api_base", "https://mail.chatgpt.org.uk") GPTMAIL_PREFIX = _gptmail.get("prefix", "") GPTMAIL_DOMAINS = _gptmail.get("domains", []) -# GPTMail API Keys 支持多个 Key 轮询 -# 兼容旧配置: api_key (单个) 和新配置: api_keys (列表) -_gptmail_api_key = _gptmail.get("api_key", "") -_gptmail_api_keys = _gptmail.get("api_keys", []) -GPTMAIL_API_KEYS = _gptmail_api_keys if _gptmail_api_keys else ([_gptmail_api_key] if _gptmail_api_key else ["gpt-test"]) +# GPTMail API Keys (支持多个 Key 轮询) +GPTMAIL_API_KEYS = _gptmail.get("api_keys", []) or ["gpt-test"] # GPTMail Keys 文件 (用于动态管理) GPTMAIL_KEYS_FILE = BASE_DIR / "gptmail_keys.json" @@ -554,7 +549,6 @@ TEAM_TRACKER_FILE = _files.get("tracker_file", str(BASE_DIR / "team_tracker.json # Telegram Bot 配置 _telegram = _cfg.get("telegram", {}) -TELEGRAM_ENABLED = _telegram.get("enabled", False) TELEGRAM_BOT_TOKEN = _telegram.get("bot_token", "") TELEGRAM_ADMIN_CHAT_IDS = _telegram.get("admin_chat_ids", []) TELEGRAM_NOTIFY_ON_COMPLETE = _telegram.get("notify_on_complete", True) diff --git a/config.toml.example b/config.toml.example index 1186ad7..6c5c129 100644 --- a/config.toml.example +++ b/config.toml.example @@ -12,8 +12,8 @@ email_provider = "gptmail" # 选择使用的授权服务: "crs" / "cpa" / "s2a" # - crs: 原有 CRS 系统,需手动添加账号到 CRS # - cpa: CPA (Codex/Copilot Authorization) 系统,后台自动处理账号 -# - s2a: Sub2API 系统,支持 OAuth 授权和账号入库 -auth_provider = "cpa" +# - s2a: Sub2API 系统,支持 OAuth 授权和账号入库 (推荐) +auth_provider = "s2a" # 是否将 team.json 中的 Team Owner 也添加到授权服务 # 开启后,运行时会自动将 team.json 中的 Owner 账号也进行授权入库 @@ -67,20 +67,14 @@ web_url = "https://your-email-service.com" # API 接口地址 api_base = "https://mail.chatgpt.org.uk" -# API 密钥配置 (支持两种方式) -# 方式1: 单个 Key (兼容旧配置) -api_key = "gpt-test" - -# 方式2: 多个 Key 轮询 (推荐,可分散请求限制) -# api_keys = ["key1", "key2", "key3"] - -# 注意: 也可以通过 Telegram Bot 的 /gptmail_add 命令动态添加 Key +# API 密钥列表 (支持多个 Key 轮询,可分散请求限制) +# 也可以通过 Telegram Bot 的 /gptmail_add 命令动态添加 Key +api_keys = ["gpt-test"] # 邮箱前缀 (留空则自动生成 {8位随机字符}-oaiteam 格式) prefix = "" # 可用域名列表,生成邮箱时随机选择 # 这些域名已配置 MX 记录指向 GPTMail 服务器 -# 下面域名是可用的 domains = [ "29thnewport.org.uk", "2ndwhartonscoutgroup.org.uk", "abrahampath.org.uk", "aiccministry.com", @@ -120,6 +114,7 @@ domains = [ # ==================== CRS 服务配置 ==================== # CRS (Central Registration Service) 用于管理注册账号的中心服务 +# 仅当 auth_provider = "crs" 时生效 [crs] # CRS API 接口地址 api_base = "https://your-crs-service.com" @@ -213,8 +208,6 @@ tracker_file = "team_tracker.json" # ==================== Telegram Bot 配置 ==================== # 通过 Telegram Bot 远程控制和监控任务 [telegram] -# 是否启用 Telegram Bot -enabled = false # Bot Token (通过 @BotFather 创建获取) bot_token = "your-bot-token" # 授权管理员的 Chat ID 列表 (通过 @userinfobot 获取) diff --git a/telegram_bot.py b/telegram_bot.py index adbdf01..8932985 100644 --- a/telegram_bot.py +++ b/telegram_bot.py @@ -19,7 +19,6 @@ from telegram.ext import ( from config import ( TELEGRAM_BOT_TOKEN, TELEGRAM_ADMIN_CHAT_IDS, - TELEGRAM_ENABLED, TEAMS, AUTH_PROVIDER, TEAM_JSON_FILE, @@ -1332,16 +1331,12 @@ class ProvisionerBot: async def main(): """主函数""" - if not TELEGRAM_ENABLED: - print("Telegram Bot is disabled. Set telegram.enabled = true in config.toml") - sys.exit(1) - if not TELEGRAM_BOT_TOKEN: - print("Telegram Bot Token not configured. Set telegram.bot_token in config.toml") + print("Telegram Bot Token 未配置,请在 config.toml 中设置 telegram.bot_token") sys.exit(1) if not TELEGRAM_ADMIN_CHAT_IDS: - print("No admin chat IDs configured. Set telegram.admin_chat_ids in config.toml") + print("管理员 Chat ID 未配置,请在 config.toml 中设置 telegram.admin_chat_ids") sys.exit(1) bot = ProvisionerBot() @@ -1349,7 +1344,7 @@ async def main(): # 处理 Ctrl+C import signal def signal_handler(sig, frame): - log.info("Shutting down...") + log.info("正在关闭...") bot.request_shutdown() signal.signal(signal.SIGINT, signal_handler)