#!/bin/bash
# ============================================================
# 启动多个 NapCat 实例（每个实例登录一个机器人 QQ）
# 用法: ./start-napcat.sh <实例序号>
#   例: ./start-napcat.sh 1    # 第1个机器人（端口 3000/6099）
#   例: ./start-napcat.sh 2    # 第2个机器人（端口 3001/6100）
#   例: ./start-napcat.sh 3    # 第3个机器人（端口 3002/6101）
#
# 启动后打开 http://IP:6100/webui 扫码登录第二个 QQ
# 然后在 agent 后台"绑定机器人"里添加 NapCat 地址：
#   http://napcat2:3000
#   token 填 your_napcat_token
# ============================================================
set -e

IDX="${1}"
if [ -z "$IDX" ]; then
    echo "用法: $0 <实例序号>"
    echo "  例: $0 2"
    exit 1
fi

NAME="dnf-napcat${IDX}"
HTTP_PORT=$((3000 + IDX - 1))
WEBUI_PORT=$((6099 + IDX - 1))

EXIST=$(docker ps -a --filter "name=${NAME}" --format "{{.Names}}" | head -1)
if [ -n "$EXIST" ]; then
    echo "实例 ${IDX} (${NAME}) 已存在，跳过创建。如需重建请先: docker rm -f ${NAME}"
    echo "启动它: docker start ${NAME}"
    exit 0
fi

echo ">>> 创建第 ${IDX} 个 NapCat 实例 ..."
echo "    容器名: ${NAME}"
echo "    HTTP 端口: ${HTTP_PORT}"
echo "    WebUI 端口: ${WEBUI_PORT}"
echo ""

docker run -d \
    --name "${NAME}" \
    --restart unless-stopped \
    -p "${HTTP_PORT}:3000" \
    -p "${WEBUI_PORT}:6099" \
    -v "${NAME}-config:/app/napcat/config" \
    mlikiowa/napcat-docker:latest

echo ""
echo ">>> 启动成功!"
echo ""
echo "1. 打开 http://服务器IP:${WEBUI_PORT}/webui 扫码登录第 ${IDX} 个 QQ"
echo ""
echo "2. 在 agent 后台（http://服务器IP:8081）"
echo "   「绑定机器人」里新增一个，填写:"
echo "   - NapCat 地址: http://napcat${IDX}:3000"
echo "   - Token: your_napcat_token"
echo ""
