105 lines
2.6 KiB
Bash
105 lines
2.6 KiB
Bash
|
|
#!/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
|