All pastes #916043 Raw Edit

Weather

public text v1 · immutable
#916043 ·published 2008-02-24 08:34 UTC
rendered paste body
on $*:TEXT:/^[@!.]weather/Si:*: { 
  if ($chan == #Zezius) { HALT }
  if ($2 isnum) { 
    inc %used 
    set $+(%,weather|display.,%used) $iif($left($1,1) == @, msg $iif($chan,$chan,$nick), notice $nick) 
    set $+(%,weather|zip.,%used) $2 
    sockopen $+(weather.,%used) www.weather.com 80 
  } 
  else { 
    notice $nick Yeh theres an error in the zipcode you put 
  } 
} 
on *:SOCKOPEN:weather.*: { 
  tokenize 32 %weather|zip. [ $+ [ $gettok($sockname,2,46) ] ] 
  sockwrite -nt $sockname GET /outlook/travel/businesstraveler/local/ $+ $1 $+ ?from=hp_promolocator&lswe= $+ $1 $+ &lwsa=Weather36HourBusinessTravelerCommand HTTP/1.1 
  sockwrite -nt $sockname Host: www.weather.com 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:weather.*: { 
  if (!$sockerr) { 
    var %weather|sockread 
    sockread %weather|sockread 
    if ($regex(%weather|sockread,/<strong>Right Now for<\/strong><br\/>(.*)<br\/>/i)) { 
      set %area $regml(1) 
    } 
    if ($regex(%weather|sockread,/<strong class="obsTextA">Feels Like<br\/>(.*)<\/strong><\/div>/i)) { 
      set %feelslike $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="cImage"><img width="52" height="52" border="0" src=".*" alt=""\/><br\/><strong class="obsTextA">(.*)<\/strong><\/div>/i)) { 
      set %weathar $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="updated">Updated:(.*)<\/div>/i)) { 
      set %update $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="crow"><div class="crowli">Humidity:<\/div><div class="crowval">(.*)<\/div><\/div>/i)) { 
      set %humid $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="updated">Updated:(.*)<\/div>/i)) { 
      set %update $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="crow"><div class="crowli">Visibility:<\/div><div class="crowval">(.*)<\/div><\/div>/i)) { 
      set %visible $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="crow"><div class="crowli">Sunrise:<\/div><div class="crowval">(.*)<\/div><\/div>/i)) { 
      set %sunrise $regml(1) 
    } 
    if ($regex(%weather|sockread,/<div class="crow"><div class="crowli">Sunset:</div><div class="crowval">(.*)</div></div> /i)) { 
      set %sunset $regml(1) 
      %weather|display. [ $+ [ $gettok($sockname,2,46) ] ] $stype(Weather) $c2(Weather for) $c1(%area) $+ $c2(: Last updated:) $+ $c1(%update) $c2($chr(124) Conditions:) $c1(%weathar) $c2($chr(124) Feels like) $c1($replace(%feelslike,&deg;,°))  $c2($chr(124) Humidity:) $c1(%humid) $c2($chr(124) Visibility:) $c1(%visible) $c2($chr(124) Sun) $c1(rises) $c2(at) $c1(%sunrise) $c2(and) $c1(sets) $c2(at) $c1(%sunset) 
      unset %area 
      unset %feelslike 
      unset %update 
      unset %humid 
      unset %visible 
      unset %sunrise 
      unset %sunset 
      unset %weathar 
    } 
  } 
} 
alias c1 { return $+($chr(3),14,$1-) } 
alias c2 { return $+($chr(3),03,$1-) } 
alias display return $iif($left($1,1) == @, msg $iif($chan,$chan,$nick), notice $nick) 
alias stype return $c1([) $+ $c2($1-) $+ $c1(]) $+