Dict mIRC Addon — File Browser

DictmIRCAddonv1.0 / DictmIRCAddonv1.0 / dic.mrc

dic.mrc — 4.22 KB — Download this file

;dictionary
;by bl4h (penile@gmail.com)
;find new/fresh dict servers at http://luetzschena-stahmeln.de/dictd/index.php
;Add servers to dick.ini that comes with this script. Its pretty self explainitory

on *:LOAD:{ echo -a Dictionary loaded. Type /dick or right click on status for menu }
menu channel,status,channel {
  Dictionary:/dick
}
alias dick {
  if (!$dialog(dick)) { dialog -mbd dick dick }
}
on *:sockopen:dick:{ 
  if ($sockerr > 0) { did -ra dick 1 Unable to connect to $readini(dick.ini,$did(dick,8).sel,server) $+ ! | halt }
  else { did -ra dick 1 Connected. }
}
on 1:sockread:dick:{
  if ($sockerr > 0) { return }
  :nextread
  sockread %stalk
  if (%stalk == $null) { return }
  if ($sockbr == 0) { return }
  if ($hget(dick,+data)) {
    if (%stalk == .) { sockwrite -n dick CLIENT "Dick mIRC addon" | hdel dick +data | did -c dick 10 1 | halt } 
    did -a dick 10 $gettok(%stalk,2,34)
    hadd dick $hget(dick,+data) $gettok(%stalk,1,32)
    hinc dick +data
    halt
  }
  if ($left(%stalk,3) == 220) {
    if (!$hget(dick) || !$hget(dick,$did(dick,10).sel)) { 
      did -ra dick 1 Updating database list
      sockwrite -n dick SHOW DB
      halt
    }
    else { sockwrite -n dick DEFINE $hget(dick,$did(dick,10).sel) " $+ %dick $+ " }
    halt 
  }
  if ($left(%stalk,3) == 150) { did -ra dick 1 $remove(%stalk,150) | halt }
  if ($left(%stalk,3) == 552) { did -ra dick 1 No match found for " $+ %dick $+ " in DB " $+ $hget(dick,$did(dick,10).sel) $+ " | halt }
  if ($left(%stalk,3) == 500) { did -ra dick 1 Syntax error, command not recognized }
  if ($left(%stalk,3) == 501) { did -ra dick 1 Syntax error, illegal parameters }
  if ($left(%stalk,3) == 502) { did -ra dick 1 Command not implemented }
  if ($left(%stalk,3) == 503) { did -ra dick 1 Command parameter not implemented }
  if ($left(%stalk,3) == 420) { did -ra dick 1 Server temporarily unavailable }
  if ($left(%stalk,3) == 421) { did -ra dick 1 Server shutting down at operator request }
  if ($left(%stalk,3) == 530) { did -ra dick 1 Access to server denied. }
  if ($left(%stalk,3) == 151) { 
    did -a dick 3 $crlf
    did -a dick 3 $remove($gettok(%stalk,4,32),") ( $+ $gettok(%stalk,3,32) $+ ) 
    did -a dick 3 $crlf
    did -a dick 3 ------------ $crlf
    halt
  }
  if ($left(%stalk,3) == 110) {
    did -ra dick 1 $gettok(%stalk,2,32) databases found. READY!
    hadd -m dick +data 2
    hadd -m dick 1 *
    did -ra dick 10 ALL
    halt
  }
  if ($left(%stalk,3) == 250) {
    ;did -i dick 3 1
    ;did -d dick 3 1
    sockclose $sockname
    halt
  }
  if (%stalk == .) { did -a dick 3 *********************************** $crlf | halt }
  else { did -a dick 3 %stalk $crlf }
}
dialog dick {
  title "Dick - by bl4h (penile@gmail.com)"
  size -1 -1 160 168
  option dbu
  edit "", 1, 8 10 144 10, read
  box "Status", 2, 2 2 156 22
  edit "", 3, 8 28 144 82, read multi hsbar vsbar
  edit "", 4, 6 122 58 10
  button "Lookup", 5, 16 136 37 12
  button "Clear", 7, 16 152 37 12
  text "Server", 6, 97 112 25 8
  combo 8, 68 121 88 50, hsbar drop
  text "Database", 9, 97 134 25 8
  combo 10, 68 144 88 50, drop
}
on *:Dialog:dick:sclick:*:{
  if ($did == 5 || $did == 8) { 
    if ($did == 8) { 
      if ($hget(dick)) { hfree dick }
      sockclose dick 
    }
    if ($sock(dick)) { sockwrite -n dick DEFINE $hget(dick,$did(dick,10).sel) " $+ %dick $+ " }
    if (!$sock(dick)) {
      did -ra dick 1 Connecting: $readini(dick.ini,$did(dick,8).sel,server)
      sockopen dick $readini(dick.ini,$did(dick,8).sel,server) $readini(dick.ini,$did(dick,8).sel,port) 
    }
  }
  ;if ($did == 4) { sockopen dick $readini(dick.ini,$did(dick,8).sel,server) $readini(dick.ini,$did(dick,8).sel,port) }
  if ($did == 7) { did -r dick 3 | halt }
  else { halt }
}
on *:Dialog:dick:edit:*:{
  if ($did == 4) { set %dick $did(4).text }
}
on *:Dialog:dick:INIT:*:{
  %bl4h.dicktmp = 1
  while ($readini(dick.ini,%bl4h.dicktmp,server)) {
    did -a dick 8 $readini(dick.ini,%bl4h.dicktmp,name)
    inc %bl4h.dicktmp
  }
  did -c dick 8 1
  sockopen dick $readini(dick.ini,1,server) $readini(dick.ini,1,port)
}
on *:Dialog:dick:dick:*:{
  if ($hget(dick)) { hfree dick }
  if ($sock(dick)) { sockclose dick }
}