@echo off setlocal DisableDelayedExpansion title Telegram Gifts Downloader Setup echo ====================================================== echo Telegram Gifts and NFT Downloader Setup (Windows) echo ====================================================== :: 1. Initialize npm package.json if not exist "package.json" ( echo [-] Initializing package.json... call npm init -y >nul 2>&1 ) :: 2. Install dependencies silently echo [-] Installing dependencies... call npm install teleproto input socks dotenv --loglevel=error --no-audit --no-fund >nul 2>&1 :: 3. Setup .gitignore if not exist ".gitignore" ( ( echo .env echo *.session echo regular_gifts/ echo nft_models/ echo node_modules/ ) > .gitignore echo [-] Created .gitignore ) :: 4. Prompt for .env setup if missing if exist ".env" goto run_node echo. echo ====================================================== echo API CREDENTIALS REQUIRED echo ====================================================== echo Obtain your credentials from https://my.telegram.org echo under 'API development tools'. echo. echo --- TIP FOR RUSSIAN NUMBERS (+7) --- echo Telegram requires your IP to match your phone country. echo If my.telegram.org fails to open due to DNS blocks: echo 1. Turn OFF VPN echo 2. Open Notepad as Admin: C:\Windows\System32\drivers\etc\hosts echo 3. Add line: 149.154.167.220 my.telegram.org echo 4. Save and open my.telegram.org echo ====================================================== echo. set /p "INPUT_API_ID=Enter API_ID: " if "%INPUT_API_ID%"=="" ( echo [!] API_ID cannot be empty. Aborting setup. pause exit /b 1 ) set /p "INPUT_API_HASH=Enter API_HASH: " if "%INPUT_API_HASH%"=="" ( echo [!] API_HASH cannot be empty. Aborting setup. pause exit /b 1 ) set /p "PHONE_NUMBER=Enter Phone Number (e.g. +79...): " set /p "PASSWORD_2FA=Enter 2FA Password (leave empty if none): " set /p "USE_PROXY_CHOICE=Use SOCKS5 Proxy? (y/N) [default: N]: " set "USE_PROXY=false" set "INPUT_PROXY_IP=127.0.0.1" set "INPUT_PROXY_PORT=1080" if /i "%USE_PROXY_CHOICE%"=="y" ( set "USE_PROXY=true" set /p "INPUT_PROXY_IP=Enter Proxy IP [default: 127.0.0.1]: " if "%INPUT_PROXY_IP%"=="" set "INPUT_PROXY_IP=127.0.0.1" set /p "INPUT_PROXY_PORT=Enter Proxy Port [default: 1080]: " if "%INPUT_PROXY_PORT%"=="" set "INPUT_PROXY_PORT=1080" ) ( echo API_ID=%INPUT_API_ID% echo API_HASH=%INPUT_API_HASH% echo PHONE_NUMBER=%PHONE_NUMBER% echo PASSWORD_2FA=%PASSWORD_2FA% echo USE_PROXY=%USE_PROXY% echo PROXY_IP=%INPUT_PROXY_IP% echo PROXY_PORT=%INPUT_PROXY_PORT% echo DOWNLOAD_MODE=3 echo SESSION_STRING= ) > .env echo [-] Saved credentials to .env :run_node echo. echo [-] Starting downloader... node fetch.js pause