jadikan file .bat
@echo off
setlocal EnableDelayedExpansion
:: ================================================================
:: install_nodejs_openclaw.bat (v4 - Telegram Allowlist)
:: Install Node.js + OpenClaw
:: Jalankan sebagai Administrator.
:: ================================================================
title Setup OpenClaw - Telegram (Allowlist) + DeepSeek
set "NODE_VERSION=22.16.0"
set "NODE_ARCH=x64"
set "NODE_MSI=node-v%NODE_VERSION%-%NODE_ARCH%.msi"
set "NODE_URL=https://nodejs.org/dist/v%NODE_VERSION%/%NODE_MSI%"
set "NODE_INSTALLER=%TEMP%\%NODE_MSI%"
set "NODE_DIR=%ProgramFiles%\nodejs"
set "NPM_GLOBAL=%APPDATA%\npm"
set "OC=%NPM_GLOBAL%\openclaw.cmd"
cls
echo.
echo ================================================================
echo OpenClaw Installer
echo ================================================================
echo.
:: ================================================================
:: [0] Cek Administrator
:: ================================================================
net session >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo [ERROR] Harus dijalankan sebagai Administrator.
echo Klik kanan file ini -^> "Run as administrator"
echo.
pause & exit /b 1
)
:: ================================================================
:: [1] Cek / Install Node.js
:: ================================================================
echo.
echo [1/7] Memeriksa Node.js...
where node >nul 2>&1
if %ERRORLEVEL% equ 0 (
for /f "tokens=*" %%V in ('node --version 2^>nul') do echo Sudah ada: %%V - dilewati.
set "PATH=%NODE_DIR%;%NPM_GLOBAL%;%PATH%"
goto :install_openclaw
)
echo Mengunduh Node.js v%NODE_VERSION%...
where curl >nul 2>&1
if %ERRORLEVEL% equ 0 (
curl -L --ssl-no-revoke --progress-bar -o "%NODE_INSTALLER%" "%NODE_URL%"
if %ERRORLEVEL% equ 0 goto :node_dl_ok
echo curl gagal, beralih ke bitsadmin...
)
bitsadmin /transfer "NodeJSDownload" /download /priority normal "%NODE_URL%" "%NODE_INSTALLER%" >nul
if %ERRORLEVEL% neq 0 ( echo [ERROR] Gagal download Node.js. & goto :error_exit )
:node_dl_ok
if not exist "%NODE_INSTALLER%" ( echo [ERROR] File installer tidak ditemukan. & goto :error_exit )
echo Menginstall Node.js...
msiexec.exe /i "%NODE_INSTALLER%" /qn /norestart ADDLOCAL=ALL
if %ERRORLEVEL% neq 0 ( echo [ERROR] Instalasi Node.js gagal (code %ERRORLEVEL%). & del /f /q "%NODE_INSTALLER%" >nul 2>&1 & goto :error_exit )
del /f /q "%NODE_INSTALLER%" >nul 2>&1
set "PATH=%NODE_DIR%;%NPM_GLOBAL%;%PATH%"
echo Node.js berhasil diinstall.
:: ================================================================
:: [2] Install OpenClaw
:: ================================================================
:install_openclaw
echo.
echo [2/7] Menginstall OpenClaw...
if not exist "%NODE_DIR%\npm.cmd" ( echo [ERROR] npm tidak ditemukan. & goto :error_exit )
call "%NODE_DIR%\npm.cmd" install -g openclaw --silent
if %ERRORLEVEL% neq 0 ( echo [ERROR] Gagal install OpenClaw. & goto :error_exit )
if not exist "%OC%" if exist "%NODE_DIR%\openclaw.cmd" set "OC=%NODE_DIR%\openclaw.cmd"
if not exist "%OC%" ( echo [ERROR] openclaw.cmd tidak ditemukan: %OC% & goto :error_exit )
echo OpenClaw berhasil diinstall.
:: ================================================================
:: [3] Onboarding
:: ================================================================
echo.
echo [3/7] Inisialisasi OpenClaw...
call "%OC%" onboard --non-interactive --skip-health >nul 2>&1
echo Selesai.
pause
save, jalankan.