@foo.bar >NUL 2>&1
@ECHO OFF
@setlocal enableextensions ENABLEDELAYEDEXPANSION
@pushd %~dp0
chcp 65001
set stime=1
set live=live event

SET /P URL="[Enter video URL] "

:again
(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "live event"') do (set "stime=%%i")
set "stime=!stime:~6,10!"
echo !stime!

if "!stime!" EQU "!live!" (goto record)

:skip
timeout /t 1800
goto again




:record
::checks if its not a live chat room
(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "years"') do (set "stime=%%i")
set "stime=!stime:~-6!"
echo Years=!stime!
if !stime! EQU years. goto skip

(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "months"') do (set "stime=%%i")
set "stime=!stime:~-7!"
echo Months=!stime!
if !stime! EQU months. goto skip

(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "days"') do (set "stime=%%i")
set "stime=!stime:~-5!"
echo Days=!stime!
if !stime! EQU days. goto skip


(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "hours"') do (set "stime=%%i")
set "stime=!stime:~30,3!"
echo Hours=!stime!
set /a "stime=!stime! * 60 * 60"
timeout /t !stime!


(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "minutes"') do (set "stime=%%i")
set "stime=!stime:~30,3!"
echo Mins=!stime!
set /a "stime=!stime! * 60"
timeout /t !stime!

:retry
(youtube-dl -o "[%%(upload_date)s]%%(title)s(%%(id)s).%%(ext)s" "%URL%/live" --match-filter "is_live"  --playlist-end 1 --hls-use-mpegts --no-part --no-overwrites --write-annotations --write-thumbnail -i --sub-lang en --write-auto-sub --write-sub --add-metadata --embed-subs --cookies "youtube.com_cookies.txt")2>Time.txt
for /f "tokens=2 delims=:" %%i  in ('type Time.txt^|find "live event"') do (set "stime=%%i")
set "stime=!stime:~6,10!"
echo !stime!
timeout /t 5
if "!stime!" EQU "!live!" goto retry

goto again


