#!/bin/bash # WPS Bot Game 启动脚本 # 默认配置 DEFAULT_WEBHOOK_URL="" DEFAULT_HOST="0.0.0.0" DEFAULT_PORT="11000" DEFAULT_WORKERS="1" DEFAULT_LOG_LEVEL="info" # 显示帮助信息 show_help() { echo "WPS Bot Game 启动脚本" echo "" echo "用法: $0 [选项]" echo "" echo "选项:" echo " -w, --webhook-url URL 设置WPS Webhook URL" echo " -H, --host HOST 服务器主机地址 (默认: $DEFAULT_HOST)" echo " -p, --port PORT 服务器端口 (默认: $DEFAULT_PORT)" echo " -W, --workers NUM 工作进程数 (默认: $DEFAULT_WORKERS)" echo " -l, --log-level LEVEL 日志级别 (默认: $DEFAULT_LOG_LEVEL)" echo " -h, --help 显示此帮助信息" echo "" echo "示例:" echo " $0 -w 'https://xz.wps.cn/api/v1/webhook/send?key=your_key'" echo " $0 -w 'https://xz.wps.cn/api/v1/webhook/send?key=your_key' -p 8080" echo " $0 --webhook-url 'https://xz.wps.cn/api/v1/webhook/send?key=your_key' --port 8080 --log-level debug" } # 解析命令行参数 WEBHOOK_URL="$DEFAULT_WEBHOOK_URL" HOST="$DEFAULT_HOST" PORT="$DEFAULT_PORT" WORKERS="$DEFAULT_WORKERS" LOG_LEVEL="$DEFAULT_LOG_LEVEL" while [[ $# -gt 0 ]]; do case $1 in -w|--webhook-url) WEBHOOK_URL="$2" shift 2 ;; -H|--host) HOST="$2" shift 2 ;; -p|--port) PORT="$2" shift 2 ;; -W|--workers) WORKERS="$2" shift 2 ;; -l|--log-level) LOG_LEVEL="$2" shift 2 ;; -h|--help) show_help exit 0 ;; *) echo "未知参数: $1" show_help exit 1 ;; esac done # 检查Python环境 if ! command -v python3 &> /dev/null; then echo "错误: 未找到python3" exit 1 fi # 检查依赖 if ! python3 -c "import fastapi, uvicorn" &> /dev/null; then echo "错误: 缺少必要的Python依赖" echo "请运行: pip install -r requirements.txt" exit 1 fi # 构建启动命令 CMD="python3 app.py --host $HOST --port $PORT --workers $WORKERS --log-level $LOG_LEVEL" if [ -n "$WEBHOOK_URL" ]; then CMD="$CMD --webhook-url '$WEBHOOK_URL'" fi # 显示启动信息 echo "启动WPS Bot Game..." echo "主机: $HOST" echo "端口: $PORT" echo "工作进程: $WORKERS" echo "日志级别: $LOG_LEVEL" if [ -n "$WEBHOOK_URL" ]; then echo "Webhook URL: $WEBHOOK_URL" fi echo "" # 启动应用 eval $CMD