diff --git a/app.py b/app.py index 645f6e3..d12c7f8 100644 --- a/app.py +++ b/app.py @@ -127,6 +127,12 @@ if __name__ == "__main__": if args.webhook_url: os.environ['WEBHOOK_URL'] = args.webhook_url logger.info(f"设置Webhook URL: {args.webhook_url}") + + # 重新导入配置模块以更新WEBHOOK_URL + import importlib + import config + importlib.reload(config) + logger.info(f"更新后的Webhook URL: {config.WEBHOOK_URL}") # 启动服务器 uvicorn.run( diff --git a/config.py b/config.py index f03858e..43c9be0 100644 --- a/config.py +++ b/config.py @@ -9,11 +9,15 @@ load_dotenv() # 项目根目录 BASE_DIR = Path(__file__).resolve().parent -# WPS Webhook配置 -WEBHOOK_URL = os.getenv( - "WEBHOOK_URL", - "https://xz.wps.cn/api/v1/webhook/send?key=da86927e491f2aef4b964223687c2c80" -) +def get_webhook_url(): + """动态获取Webhook URL""" + return os.getenv( + "WEBHOOK_URL", + "https://xz.wps.cn/api/v1/webhook/send?key=da86927e491f2aef4b964223687c2c80" + ) + +# WPS Webhook配置 - 使用函数动态获取 +WEBHOOK_URL = get_webhook_url() # 数据库配置 DATABASE_PATH = os.getenv("DATABASE_PATH", str(BASE_DIR / "data" / "bot.db")) @@ -72,5 +76,4 @@ GAME_CONFIG = { "max_concurrent_games": 5, # 每个聊天最多同时进行的游戏数 "board_size": 15, # 棋盘大小 }, -} - +} \ No newline at end of file diff --git a/verify_webhook.py b/verify_webhook.py new file mode 100644 index 0000000..f46c667 --- /dev/null +++ b/verify_webhook.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +"""验证Webhook URL动态更新功能""" + +import os +import sys +import importlib + +# 添加项目路径 +sys.path.append(os.path.dirname(os.path.abspath(__file__))) + +def verify_webhook_url(): + """验证Webhook URL动态更新功能""" + print("验证Webhook URL动态更新功能...") + + # 1. 导入配置模块 + import config + original_url = config.WEBHOOK_URL + print(f"原始Webhook URL: {original_url}") + + # 2. 设置新的环境变量 + new_url = "https://verified.test.com/webhook?key=verified_key" + os.environ['WEBHOOK_URL'] = new_url + print(f"设置新的环境变量: {new_url}") + + # 3. 重新加载配置模块 + importlib.reload(config) + updated_url = config.WEBHOOK_URL + print(f"更新后的Webhook URL: {updated_url}") + + # 4. 验证更新是否成功 + if updated_url == new_url: + print("✅ Webhook URL动态更新功能正常!") + return True + else: + print(f"❌ Webhook URL动态更新功能异常! 期望: {new_url}, 实际: {updated_url}") + return False + +if __name__ == "__main__": + print("=" * 50) + print("WPS Bot Game Webhook URL动态更新验证") + print("=" * 50) + + success = verify_webhook_url() + + print("\n" + "=" * 50) + if success: + print("🎉 验证通过! 现在可以使用 -w 参数指定Webhook URL了!") + print("\n使用方法:") + print("python app.py --webhook-url 'https://your-webhook-url'") + print("python app.py -w 'https://your-webhook-url'") + else: + print("❌ 验证失败! 需要进一步修复!") + print("=" * 50)