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)))