All pastes #460002 Raw Edit

Credit to James

public text v1 · immutable
#460002 ·published 2007-04-26 20:07 UTC
rendered paste body
Alias cleanup.urban {
  unset %urban.*. $+ $1
  sockclose urban.*. $+ $1
}
Alias .chan return #Botchan
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.]*(urban|urb))/Si):#:{
if ($2) {
    var %i = $rand(10000,99999)
    set %urban.display. $+ %i $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick ishop $.chan || $nick isop $.chan,$2),$1),1) == @,msg $chan,.notice $nick) 
    set %urban.item. $+ %i $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),+)
    if (($remove($1,$chr(44)) == $me) && ($nick !isop $.chan && $nick !ishop $.chan)) {
      notice $nick Only staff can use my name like this
      cleanup.urban %i
      halt
    }
    sockopen urban. $+ %i www.insanebot.mirc.ms 80
  }
  else {
    notice $nick $c1(Please specify a item to lookup)
  }
}
on *:SOCKOPEN:urban.*: {
  var %id = $right($sockname,5)
  sockwrite -nt $sockname GET /parsers/urban.php?word= $+ $($+(%,urban.item.,%id),2) HTTP/1.1
  sockwrite -nt $sockname Host: www.insanebot.mirc.ms
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:urban.*: {
  var %id = $right($sockname,5)
  var %urban
  sockread %urban
  if ($sockerr) { 
    echo -a Error. 
    sockclose $sockname 
  }
  elseif (*[Urban]* iswm %urban) {
    tokenize 32 %urban
    if (*No results found* iswm $1-) {
      %urban.display. [ $+ [ %id ] ] $c1(No results found for) $c2($($+(%,urban.item.,%id),2))
    }
    else {
      %urban.display. [ $+ [ %id ] ] $c1(Urban for) $c2($($+(%,urban.item.,%id),2)) $+ $c1(:)
      %urban.display. [ $+ [ %id ] ] $c1($replace($2-,",$+($chr(3),07,",$chr(3),10)))
    }
    .timer 1 5 cleanup.urban %id
  }
}