Oops, fixed ^^

Code:
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 
  }
}


Last edited by Sakana; 21/01/15 11:39 PM.