; youtube mod sp219
; irc.gamesurge.net #sp219
on *:TEXT:*youtube.com*:#:{
if (*youtube.*/watch?v=* iswm $1-) {
var %name $wildtok($1-, *youtube.*/watch?v=*, 1, 32)
var %link $gettok(%name,2-,61)
var %x $ticks
while ($sock(theyoutube. $+ %x)) { inc %c }
sockopen $+(theyoutube.,%x) www.youtube.com 80
sockmark $+(theyoutube.,%x) $+(%link,~,msg $chan,~,$nick,~,$chan)
}
}
on *:SOCKOPEN:theyoutube.*:{
sockwrite -nt $sockname GET $+(/watch?v=,$gettok($sock($sockname).mark,1,126))
sockwrite -nt $sockname HOST www.youtube.com
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:theyoutube.*:{
if ($sockerr) {
notice $gettok($sock($sockname).mark,3,126) $colors($gettok($sock($sockname).mark,3,126),Youtube) $c2($gettok($sock($sockname).mark,3,126),Socket $+(error,$chr(44))) $c1($gettok($sock($sockname).mark,3,126),please try again)
sockclose $sockname
}
else {
var %read
sockread %read
if ($regex(%read,/BASE_YT_URL/)) && (!$hget($sockname, Duration)) {
hadd -m $sockname Duration $duration($remove($gettok($gettok(%read,3,44),2,58),$chr(32)))
}
if ($regex(%read,/
(.*)<\/title>/)) {
hadd -m $sockname Title $regml(1)
}
if ($regex(%read,/(.*)<\/span>/)) {
hadd -m $sockname Viewcount $regml(1)
}
if ($regex(%read,/Comments:<\/span> (.*)<\/a>/)) {
var %commentcount $regml(2)
var %name $gettok($sock($sockname).mark,3,126)
var %return $colors(%name,Youtube) $iif($hget($sockname, Title),$c2(%name,Title:) $c1(%name,$hget($sockname, Title))) $iif(%commentcount,$c2(%name,| Comments:) $c1(%name,%commentcount)) $&
$iif($hget($sockname, Viewcount),$c2(%name,| Views:) $c1(%name,$hget($sockname, Viewcount))) $iif($hget($sockname, Duration),$c2(%name,| Duration:) $c1(%name,$hget($sockname, Duration)))
$gettok($sock($sockname).mark,2,126) $iif(c isincs $chan($gettok($sock($sockname).mark,4,126)).mode,$strip(%return),%return)
hfree $sockname
sockclose $sockname
}
}
}
alias colors {
var %c1 $iif($2 || $2 == 0,$iif($hget(c1, $address($1,2)),$v1,07),07)
var %c2 $iif($2 || $2 == 0,$iif($hget(c2, $address($1,2)),$v1,14),14)
return $+($chr(3),%c1,$chr(2),$chr(40),$chr(2),$chr(3),%c2,$upper($strip($iif($2 || $2 == 0,$2-,$1-))),$chr(2),$chr(3),%c1,$chr(41),$chr(2))
}
on *:TEXT:!youtubescript:#:{ msg $chan youtube mod sp219 }
alias c1 {
var %x = $iif($2 || $2 == 0,$iif($hget(c1, $address($1,2)),$v1,07),07)
var %f = $iif($2 || $2 == 0,$2-,$1-)
return $+($chr(3),%x,$strip(%f))
}
alias c2 {
var %x = $iif($2 || $2 == 0,$iif($hget(c2, $address($1,2)),$v1,14),14)
var %f = $iif($2 || $2 == 0,$2-,$1-)
return $+($chr(3),%x,$strip(%f))
}