修复webhook url指定无效的问题

This commit is contained in:
2025-10-29 12:11:28 +08:00
parent 38e81dbfe6
commit d36bb2de83
3 changed files with 69 additions and 7 deletions

6
app.py
View File

@@ -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(

View File

@@ -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, # 棋盘大小
},
}
}

53
verify_webhook.py Normal file
View File

@@ -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)