;~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*; ; YouTube Video Searcher ; ; Made by MountainDew ; ; IRC.DeltaAnime.net » #Lindrian ; ; IRC.UnderNet.org » #Hawkee.com ; ; IRC.SwiftIRC.net » #mSL ; ;*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~; on $*:text:/^[!@.](y(ou)?tube|yt)\b/Si:#:{ youtube $+($ticks,$chr(1),$chan,$chr(1),$2-) } alias youtube { if ($numtok($1-,1) >= 2) { tokenize 1 $1- var %y.sock $1 var %y.chan $2 var %y.text $3- } else { var %y.sock $ticks var %y.text $1- } if (!%y.text) { $iif(%y.chan,msg $v1,echo -a) Syntax: $iif(%y.chan,!,/) $+ YouTube [search criteria] halt } $iif(%y.chan,describe $v1 searches,echo -a Searching) for YouTube videos matching $qt($+(,%y.text,)) $+ ... sockopen youtube. [ $+ [ %y.sock ] ] www.youtube.com 80 sockmark youtube. [ $+ [ %y.sock ] ] $+($iif(%y.chan,msg $v1,echo -a),$chr(1),%y.text) } on *:SOCKOPEN:youtube.*: { sockwrite -nt $sockname GET /results?search_query= $+ $urlencode($gsm($sockname,2,1)) HTTP/1.1 sockwrite -nt $sockname Host: www.youtube.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:youtube.*: { if ($sockerr) { $gsm($sockname,1,1) Error connecting to YouTube: $sock($sockname).wmsg sockclose $sockname } else { var %x. [ $+ [ $sockname ] ] sockread %x. [ $+ [ $sockname ] ] if ($regex(%x. [ $+ [ $sockname ] ],/No Videos found for /i)) { $gsm($sockname,1,1) The search for $qt($+(,$gsm($sockname,2,1),)) returned no results. sockclose $sockname } if ($regex(%x. [ $+ [ $sockname ] ],//i)) addmark $sockname 1 http://www.youtube.com/ $+ $regml(1) if ($regex(%x. [ $+ [ $sockname ] ],/title="(.+)" alt="video"><\/a>/i)) addmark $sockname 1 $regml(1) if ($regex(%x. [ $+ [ $sockname ] ],/<\/span> (\d+ .+ ago)/i)) addmark $sockname 1 $regml(1) if ($regex(%x. [ $+ [ $sockname ] ],/From:<\/span>(.+)<\/a><\/span><\/div>/i)) addmark $sockname 1 $regml(1) if ($regex(%x. [ $+ [ $sockname ] ],/Views:<\/span> (.+)/i)) addmark $sockname 1 $regml(1) if ($regex(%x. [ $+ [ $sockname ] ],/(.+) isin %x. [ $+ [ $sockname ] ]) sockclose $sockname if ($regex(%x. [ $+ [ $sockname ] ],/"runtime">(.+)<\/div>/i)) { inc %n. [ $+ [ $sockname ] ] tokenize 1 $sock($sockname).mark $gsm($sockname,1,1) 9 $+ $chr(149) 4Title: $hf($4) 4Added: $5 4User: $hf($6) 4Length: $regml(1) 4Views: $7 4Rating: $iif($8,$8,0) $+ /5 4URL: $3 if (%n. [ $+ [ $sockname ] ] >= 3) { sockclose $sockname unset %n. [ $+ [ $sockname ] ] } sockmark $sockname $gsm($sockname,1,1) $+ $chr(1) $+ $gsm($sockname,2,1) } } } alias hf return $remove($replace($1-,",",>,>,<,<,&,&, ,$chr(160)),?,$chr(9)) alias gsm return $gettok($sock($1).mark,$2,$3) alias addmark sockmark $1 $addtok($sock($1).mark,$3-,$2) alias urlencode return $regsubex($1,/(\W)/gS,% $+ $base($asc(\1),10,16,2)))