alias addreply { hadd -m replies $1 $$2- }
alias clearreplies {
if ($hget(replies)) { hfree $v1 }
}
alias isreply { return $iif($hget(replies,$1) != $null,$true,$false) }
alias removereply {
if ($isreply($1)) {
hdel replies $1
if (!$hget(replies,0).item) { hfree replies }
}
}
alias _ban {
if ($istok(begin end,$1,32)) { return - }
if ($1 isnum 1-20) { return Mask $1: ban $!chan $!1 $1 }
}
alias _replies {
if ($istok(begin end,$1,32)) { return - }
if ($hget(replies,$1).item) { return $replace($v1,% $+ 20,$chr(32)) $+ : msg $!1 $hget(replies,$v1) }
}
menu nicklist {
Ban
.$submenu($_ban($1))
}
menu nicklist,query {
Replies
.$submenu($_replies($1))
.-
.Add Reply:{
var %reply = $replace($input(Enter name:,dei,Prompt),$chr(32),% $+ 20)
if ($isreply(%reply)) { noop $input(That reply already exists,dho,Error) }
else { addreply %reply $input(Enter text:,deo,Prompt) }
}
.Clear Replies:{
if ($input(Are you sure you want to clear all replies?,devy,Prompt) == $yes) { clearreplies }
}
.Remove Reply:{
var %reply = $replace($input(Enter name:,dei,Prompt),$chr(32),% $+ 20)
if (!$isreply(%reply)) { noop $input(That reply doesn't exist,dho,Error) }
else { removereply %reply }
}
}
on *:exit:{
if ($hget(replies)) { hsave -o $qt($scriptdir $+ replies.hsh) }
else { .remove $qt($scriptdir $+ replies.hsh) }
}
on *:start:{
if ($isfile($scriptdir $+ replies.hsh)) {
if ($hget(replies)) { hfree $v1 }
hmake replies 2
hload replies $qt($scriptdir $+ replies.hsh)
}
}