All pastes #961840 Raw Edit

Something

public text v1 · immutable
#961840 ·published 2008-03-29 07:18 UTC
rendered paste body
; 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>(.*)<\/title>/)) {
      hadd -m $sockname Title $regml(1)
    }
    if ($regex(%read,/<span class="viewCount">(.*)<\/span>/)) {
      hadd -m $sockname Viewcount $regml(1)
    }
    if ($regex(%read,/<span class="lightLabel">Comments:<\/span> <a href="(.*)">(.*)<\/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))
}