90 lines
2.2 KiB
Bash
Executable File
90 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# QQBot 一键更新并启动脚本
|
||
|
||
set -e
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||
cd "$SCRIPT_DIR"
|
||
|
||
# 解析命令行参数
|
||
APPID=""
|
||
SECRET=""
|
||
|
||
while [[ $# -gt 0 ]]; do
|
||
case $1 in
|
||
--appid)
|
||
APPID="$2"
|
||
shift 2
|
||
;;
|
||
--secret)
|
||
SECRET="$2"
|
||
shift 2
|
||
;;
|
||
-h|--help)
|
||
echo "用法: $0 [选项]"
|
||
echo ""
|
||
echo "选项:"
|
||
echo " --appid <appid> QQ机器人 AppID"
|
||
echo " --secret <secret> QQ机器人 Secret"
|
||
echo " -h, --help 显示帮助信息"
|
||
echo ""
|
||
echo "也可以通过环境变量设置:"
|
||
echo " QQBOT_APPID QQ机器人 AppID"
|
||
echo " QQBOT_SECRET QQ机器人 Secret"
|
||
exit 0
|
||
;;
|
||
*)
|
||
echo "未知选项: $1"
|
||
echo "使用 --help 查看帮助信息"
|
||
exit 1
|
||
;;
|
||
esac
|
||
done
|
||
|
||
# 使用命令行参数或环境变量
|
||
APPID="${APPID:-$QQBOT_APPID}"
|
||
SECRET="${SECRET:-$QQBOT_SECRET}"
|
||
|
||
echo "========================================="
|
||
echo " QQBot 一键更新启动脚本"
|
||
echo "========================================="
|
||
|
||
# 1. 移除老版本
|
||
echo ""
|
||
echo "[1/4] 移除老版本..."
|
||
if [ -f "./scripts/upgrade.sh" ]; then
|
||
bash ./scripts/upgrade.sh
|
||
else
|
||
echo "警告: upgrade.sh 不存在,跳过移除步骤"
|
||
fi
|
||
|
||
# 2. 安装当前版本
|
||
echo ""
|
||
echo "[2/4] 安装当前版本..."
|
||
openclaw plugins install .
|
||
|
||
# 3. 配置机器人通道
|
||
echo ""
|
||
echo "[3/4] 配置机器人通道..."
|
||
|
||
# 构建 token(如果提供了 appid 和 secret)
|
||
if [ -n "$APPID" ] && [ -n "$SECRET" ]; then
|
||
QQBOT_TOKEN="${APPID}:${SECRET}"
|
||
echo "使用提供的 AppID 和 Secret 配置..."
|
||
else
|
||
# 默认 token,可通过环境变量 QQBOT_TOKEN 覆盖
|
||
QQBOT_TOKEN="${QQBOT_TOKEN:-appid:secret}"
|
||
echo "使用默认或环境变量中的 Token..."
|
||
fi
|
||
|
||
openclaw channels add --channel qqbot --token "$QQBOT_TOKEN"
|
||
# 启用 markdown 支持
|
||
openclaw config set channels.qqbot.markdownSupport true
|
||
|
||
# 4. 启动 openclaw
|
||
echo ""
|
||
echo "[4/4] 启动 openclaw..."
|
||
echo "========================================="
|
||
openclaw gateway --verbose
|