mirror of
https://github.com/ZHANGTIANYAO1/teamspeak-music-bot.git
synced 2026-10-02 04:52:50 +08:00
Users no longer need to install FFmpeg separately — it is now bundled as an npm dependency (ffmpeg-static). player.ts resolves the bundled binary automatically and falls back to system PATH. start.bat and a new setup.bat script handle dependency installation and project building. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
92 lines
2.6 KiB
Batchfile
92 lines
2.6 KiB
Batchfile
@echo off
|
|
title TSMusicBot Setup
|
|
echo ============================================
|
|
echo TSMusicBot - First-Time Setup (Windows)
|
|
echo ============================================
|
|
echo.
|
|
|
|
:: Resolve project root (one level up from scripts/)
|
|
cd /d "%~dp0.."
|
|
|
|
:: ---- Step 1: Check / install Node.js ----
|
|
where node >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo Node.js not found. Attempting automatic installation...
|
|
echo.
|
|
|
|
:: Try winget first (available on Windows 10 1709+ and Windows 11)
|
|
where winget >nul 2>&1
|
|
if %errorlevel% equ 0 (
|
|
echo Installing Node.js via winget...
|
|
winget install OpenJS.NodeJS.LTS --accept-source-agreements --accept-package-agreements
|
|
if %errorlevel% neq 0 (
|
|
echo winget installation failed. Please install Node.js manually from https://nodejs.org
|
|
pause
|
|
exit /b 1
|
|
)
|
|
:: Refresh PATH so node is available in this session
|
|
call refreshenv >nul 2>&1
|
|
:: If refreshenv is not available, ask user to restart
|
|
where node >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo.
|
|
echo Node.js was installed but is not yet available in this terminal.
|
|
echo Please close this window and run setup.bat again.
|
|
pause
|
|
exit /b 0
|
|
)
|
|
) else (
|
|
echo winget is not available on this system.
|
|
echo Please install Node.js 20 LTS manually from https://nodejs.org
|
|
echo After installing, close this window and run setup.bat again.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
) else (
|
|
echo [OK] Node.js found.
|
|
node --version
|
|
)
|
|
echo.
|
|
|
|
:: ---- Step 2: Install npm dependencies ----
|
|
echo Installing dependencies (this may take a few minutes)...
|
|
call npm install
|
|
if %errorlevel% neq 0 (
|
|
echo.
|
|
echo npm install failed. Check the error messages above.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] Dependencies installed.
|
|
echo.
|
|
|
|
:: ---- Step 3: Build the project ----
|
|
echo Building TypeScript project...
|
|
call npx tsc
|
|
if %errorlevel% neq 0 (
|
|
echo.
|
|
echo Build failed. Check the error messages above.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
echo [OK] Build succeeded.
|
|
echo.
|
|
|
|
:: ---- Step 4: Create default config if missing ----
|
|
if not exist "config.json" (
|
|
echo Creating default config.json...
|
|
echo Please edit config.json with your TeamSpeak server details before starting the bot.
|
|
) else (
|
|
echo [OK] config.json already exists.
|
|
)
|
|
echo.
|
|
|
|
:: ---- Done ----
|
|
echo ============================================
|
|
echo Setup complete!
|
|
echo ============================================
|
|
echo.
|
|
echo To start the bot, run: scripts\start.bat
|
|
echo.
|
|
pause
|