Word Definition
Platform: mIRC
Published Dec 14, 2011
Updated Nov 29, 2012
Okay, so I just got 'round to changing this snippet too.
Usage: !define <word> (Remove the < >)
All comments/suggestions are welcome. :)
on $*:TEXT:/^!define( |$)/Si:#:{
if ($($+(%,defpro,$remove($chan,$chr(35))),5) == $null) {
define msg $chan $2-
set -u6 $+(%,defpro,$remove($chan,$chr(35))) Flood-Pro
}
else { .notice $nick This command can only be used once every 6 seconds. }
}
alias def define .echo -a $1-
alias define {
if ($sock(define)) sockclose define
sockopen define oxforddictionaries.com 80
sockmark define $1-
}
on *:sockopen:define:{
tokenize 32 $sock($sockname).mark
sockwrite -nt $sockname GET $+(/definition/english/,$lower($3)) HTTP/1.1
sockwrite -nt $sockname Host: $+($sock($sockname).addr,$str($crlf,2))
}
on *:sockread:define:{
var %define | sockread %define
if ($regex(%define,/definition">(.+?)</span>/)) {
$gettok($sock($sockname).mark,1-2,32) Definition: $remove($regml(1),:)
sockclose $sockname
}
if (*Page not found* iswm %define) {
tokenize 32 $sock($sockname).mark
$gettok($sock($sockname).mark,1-2,32) No Results have been found for: $qt($3)
sockclose $sockname
}
}