Wikked icon

A.I.

Wikked | PRO | 11/04/15 09:23:03 PM UTC | 0 ⭐ | 6675 👁️ | Never ⏰ | []
mIRC |

3.16 KB

|

None

|

0 👍

/

0 👎

on *:text:*:#:{
  ;and
  if ($findtok($strip($1-),and,1,32)) { 
    define-and $v1 $strip($1-)
  }
  ;is are
  if ($findtok($strip($1-),were,1,32)) || ($findtok($strip($1-),was,1,32)) || ($findtok($strip($1-),is,1,32)) || ($findtok($strip($1-),are,1,32)) { 
    define-is-are $v1 $strip($1-)
  }
  ;question
  if ($right($strip($1-),1) == $chr(63)) {
    var %message $remove($strip($1-),$chr(63))
    if ($findtok(%message,what,1,32)) || ($findtok(%message,who,1,32)) || ($findtok(%message,how,1,32)) || ($findtok(%message,where,1,32)) || ($findtok(%message,why,1,32)) || ($findtok(%message,when,1,32)) { 
      find-define $v1 $chan $nick $strip($1-) 
    }
  }
  ;forget
  if ($findtok($strip($1-),forget,1,32)) {
    forget-define $v1 $chan $nick $strip($1-)
  }
 
}
 
alias define-and {
  var %token $1
  var %message $2-
  var %re /\b $+ $me $+ \b/i
  if ($gettok(%message,$calc(%token - 1),32) !isnum) { store.d $gettok(%message,$calc(%token - 1),32) $regsubex($gettok(%message,$calc(%token + 2) $+ -,32),%re,) }
  if ($gettok(%message,$calc(%token + 1),32) !isnum) { store.d $gettok(%message,$calc(%token + 1),32) $regsubex($gettok(%message,$calc(%token + 2) $+ -,32),%re,) }
}
 
alias define-is-are {
  ;was were is are
  var %token $1
  var %message $2-
  var %re /\b $+ $me $+ \b/i
  var %token $calc(%token - 1)
  if !%token { var %token $calc(%token + 1) }
  if ($gettok(%message,%token,32) !isnum) { store.d $gettok(%message,%token,32) $regsubex($gettok(%message,$calc(%token + 1) $+ -,32),%re,) }
}
 
alias find-define { 
  var %token $1
  var %chan $2
  var %nick $3
  var %message $4-
  var %tt $calc(%token + 2)
  if $gettok(%message,%tt,32) { var %word = $remove($gettok(%message,%tt,32),$chr(63)) }
  if !%word { var %word = $remove($gettok(%message,$calc(%token + 1),32),$chr(63)) }
  if !%word { var %word = $remove($gettok(%message,$calc(%token - 1),32),$chr(63)) }
  if $istok(a the,%word,32) { 
    var %a = %word | var %ttt $calc(%token + 3) 
    var %word = $remove($gettok(%message,%ttt,32),$chr(63)) 
  }
  if $hget(definitions,%word) { .msg %chan %nick $+ , $iif(%a,%a) %word $hget(definitions,%word) }
  else { .msg %chan I do not know %nick $+ . }
}
 
alias forget-define {
  var %token $1
  var %chan $2
  var %nick $3
  var %message $4-
  if $hget(definitions,$gettok(%message,$calc(%token + 1),32)) {
    remove.d $gettok(%message,$calc(%token + 1),32)
        .msg %chan I have forgotten $gettok(%message,$calc(%token + 1),32) %nick $+ .
  }
  elseif $hget(definitions,$gettok(%message,$calc(%token + 2),32)) {
    remove.d $gettok(%message,$calc(%token + 2),32)
        .msg %chan I have forgotten $gettok(%message,$calc(%token + 2),32) %nick $+ .
  }
}
 
 
on *:start:{ hashdscript }
 
alias ddat return $+(",$scriptdirCorebot_def.dat,") 
 
alias -l store.d { 
  if (!$2) { return }
  hadd -ms definitions $1 $2-
  hsave -i definitions $ddat definitions
}
 
alias -l remove.d {
  ; item
  hdel -s definitions $1
  if $hget($1,0).item { hsave -i definitions $ddat definitions }
 
}
 
alias hashdscript {
  filter -k $ddat hashdefs *
}
 
Alias -l hashdefs { hadd -m definitions $gettok($1-,1,61) $gettok($1-,2-,61) }

Comments