alias noHTML return $regsubex($1, /<[^>]+(?:>|$)|^[^<>]+>/g, $null)
on *:text:!dic*:#: {
if ($1 == !dic) {
set %channel #
$iif($2,dic $2-,msg # Specify a word to look up)
}
}
alias dic {
sockclose dic
set %dic.word $replace($1-,$chr(32),$chr(37) $+ 20)
set %dic.counter 0
sockopen dic dictionary.reference.com 80
}
on *:SOCKOPEN:dic:{
if $sockerr { return }
sockwrite -n $sockname GET /browse/ $+ %dic.word $+ ?s=t HTTP/1.1
sockwrite -n $sockname Host: dictionary.reference.com
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:dic:{
if $sockerr { return }
var %data
sockread %data
if ($regex(%data,<span class="dbox-pg">(.*?)</span>)) { set %dic.class $regml(1) }
if ($regex(%data,<span class="def-number">1.</span>) == 1) { set %dic.target 1 }
if (%dic.target == 1) { inc %dic.counter }
if (%dic.counter == 3 ) {
msg %channel $+($upper($left(%dic.class,1)),$mid(%dic.class,2)) - $+($upper($left($noHTML(%data),1)),$mid($noHTML(%data),2))
unset %dic.*
sockclose dic
}
elseif (<div class="cl-left">Copyright isin %data) || (HTTP/1.1 301 Moved Permanently isin %data) {
msg %channel Word not found
unset %dic.*
sockclose dic
}
}