All pastes #2109888 Raw Edit

Miscellany

public text v1 · immutable
#2109888 ·published 2012-02-05 09:10 UTC
rendered paste body
;##################
;#Calculator Script
;#Needs updating
;#Added multiple commands for it, must add command for --> ` <-- 12+2 
;###################

On $*:Text:/^(\+|-|!|@|.)(calc|calculator).*/Si:#: {
  if ($left($1,1) == @) set %meth0d msg $chan
  if ($left($1,1) == !) set %meth0d notice $nick 
  if ($left($1,1) == .) set %meth0d msg $chan
  calculate $2-
}
alias calculate {
  if $sock(calculate) || $sock($+(calculate,$nick)) {
    sockclose $v1
  }
  sockopen $iif($event == text,$+(calculate,$nick),calculate) www.google.com 80
  sockmark $iif($event == text,$+(calculate,$nick) msg $iif(#,#,$nick),calculate echo -a) $1-
}
on *:sockopen:calculate*:{
  tokenize 32 $sock($sockname).mark
  sockwrite -nt $sockname GET $+(/ig/calculator?hl=en&q=,$urlencode($3-)) HTTP/1.1
  sockwrite -nt $sockname Host: www.google.com
  sockwrite -nt $sockname Connection: close
  sockwrite -nt $sockname $crlf
}
on *:sockread:calculate*:{
  sockread &greader
  var %greader $bvar(&greader,1-).text
  tokenize 32 $sock($sockname).mark
  if $regex(answer $+ $2,%greader,/rhs: "(.*?)"/) && $regex(calc $+ $2,%greader,/lhs: "(.*?)"/) {
    ;$1-2
    %meth0d $iif($regml(answer $+ $2,1) == $null, [sB] 4Something is wrong with the calculation!,03 $&
      1[sB] $cchr($sup($replace($regml(calc $+ $2,1) = $v1,+,04+03,-,06-03,*,13*03,/,07/03,=,10=03))))
    sockclose $sockname
  }
}
alias cchr return $regsubex($1,/\\x26#(\d+?);/g,$chr(\1))
alias sup return $regsubex($1,/\\x3csup\\x3e([\d-]+?)\\x3c\/sup\\x3e/Sg,12^\13)
alias urlencode return $regsubex($1,/(\W)/g,% $+ $base($asc(\1),10,16,2)))