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
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎