Advertisement
Majeye

mIRC - !dict command with 2 minute cooldown

Feb 12th, 2015
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 1.39 KB | None | 0 0
  1. alias noHTML return $regsubex($1, /<[^>]+(?:>|$)|^[^<>]+>/g, $null)
  2.  
  3. on *:text:!dict*:#: {
  4.   if ((%flooddict) || ($($+(%,flooddict.,$nick),2))) { return }
  5.   set -u120 %flooddict. $+ $nick On
  6.   if ($1 == !dict) {
  7.     set %channel #
  8.     $iif($2,dic $2-,msg # $upper($nick) Specify a word to look up)
  9.   }
  10. }
  11.  
  12. alias dic {
  13.   sockclose dic
  14.   set %dic.word $replace($1-,$chr(32),$chr(37) $+ 20)    
  15.   set %dic.counter 0
  16.   sockopen dic dictionary.reference.com 80
  17. }
  18.  
  19. on *:SOCKOPEN:dic:{
  20.   if $sockerr { return }
  21.   sockwrite -n $sockname GET /browse/ $+ %dic.word $+ ?s=t HTTP/1.1
  22.   sockwrite -n $sockname Host: dictionary.reference.com
  23.   sockwrite -n $sockname $crlf
  24. }
  25.  
  26. on *:SOCKREAD:dic:{
  27.   :nextread
  28.   if $sockerr { return }
  29.   var %data  
  30.   sockread %data  
  31.   if ($regex(%data,<span class="dbox-pg">(.*?)</span>)) { set %dic.class $regml(1) }
  32.   if ($regex(%data,<span class="def-number">1.</span>)) { set %dic.target 1 }
  33.   if (%dic.target == 1) { inc %dic.counter }
  34.   if (%dic.counter >= 3 ) {
  35.     if (!$noHTML(%data)) goto nextread
  36.     msg %channel $+($upper($left(%dic.class,1)),$mid(%dic.class,2)) - $+($upper($left($noHTML(%data),1)),$mid($noHTML(%data),2))
  37.     unset %dic.*
  38.     sockclose dic
  39.   }
  40.   elseif (<div class="cl-left">Copyright isin %data) || (HTTP/1.1 301 Moved Permanently isin %data) {
  41.     msg %channel Word not found
  42.     unset %dic.*
  43.     sockclose dic
  44.   }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement