I fail to see your flood protection.
var -u6 %flood flood
sets %flood for 6 seconds before it is unset and
if (!%flood) {
prevents the code from processing if %flood is $true
if ($nick !== $me)
you can simply use the ! event prefix instead of the /if
and @Master-Of-Death
on *:OPEN:?:*:{ if ($away == $true) {
.halt
.msg $nick I am away, I'll respond when I can. [amsg]
}
elseif ($away == $false) {
.msg $nick I have been idle for $duration($idle) i'll respond when I return. [amsg]
}
}
will only trigger if the person is not away, /halt stops all processing of the script so
.msg $nick I am away, I'll respond when I can. [amsg]
will never trigger.
there is no need to silince /halt either as it doesn't output anything anyways
also instead of using
if ($away == $true)
and
($away == $false)
you can shorten it with the '!' to negate it
if ($away)
and
if (!$away)