on $*:TEXT:/^[!@](sp?ell?check)/Si:#:{
if ($2) {
var %spellrand = $+($rand(1,9),$rand(1,9),$rand(1,9))
set -u10 %spelld. [ $+ [ %spellrand ] ] $replace($2-,$chr(32),+,_,+,-,+)
set -u10 %spellw. [ $+ [ %spellrand ] ] $iif($left($1,1) == @,msg $chan,notice $nick)
sockopen spell. [ $+ [ %spellrand ] ] www.spellcheck.net 80
}
else notice $nick $c1(Improper format. Proper syntax:) $c2($1 word)
}
on *:SOCKOPEN:spell.*:{
sockwrite -nt $sockname GET /cgi-bin/spell.exe?action=CHECKWORD&string= $+ %spelld. [ $+ [ $right($sockname,3) ] ] HTTP/1.1
sockwrite -nt $sockname Host: www.specllcheck.net
sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:spell.*:{
if ($sockerr) {
%spellw. [ $+ [ $right($sockname,3) ] ] $c1(Error:) $br($sockerr)
}
else {
var %read. [ $+ [ $right($sockname,3) ] ]
sockread %read. [ $+ [ $right($sockname,3) ] ]
if (*is spelled correctly* iswm %read. [ $+ [ $right($sockname,3) ] ]) {
%spellw. [ $+ [ $right($sockname,3) ] ] $br(SP/SpellCheck) $+ : $br($qt(%spelld. [ $+ [ $right($sockname,3) ] ])) $c1(is spelled) $br(correctly.)
sockclose $sockname
}
if (*
iswm %read. [ $+ [ $right($sockname,3) ] ]) {
tokenize 32 $nohtml(%read. [ $+ [ $right($sockname,3) ] ])
set -u10 %spell.suggestion $1-
%spellw. [ $+ [ $right($sockname,3) ] ] $br($qt(%spelld. [ $+ [ $right($sockname,3) ] ])) $c1(is spelled) $br(incorrectly) $+ . $c1(Here is a suggestion:)
%spellw. [ $+ [ $right($sockname,3) ] ] $br($remove(%spell.suggestion,
)%spell.suggestion)
sockclose $sockname
}
}
}
alias br {
return $+($chr(15),$chr(3),04,$chr(40),$chr(3),14,$1-,$chr(15),$chr(3),04,$chr(41),$chr(15),$chr(3),14)
}